@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Montserrat:wght@400;500;600;700;800&display=swap');
:root{--cream:#fcffe9;--green:#19ae3e;--dark:#113920;--blue:#8aade1;--peach:#f8d8c8;--line:#cae5c9;--text:#254630}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--cream);color:var(--text);font:500 16px/1.65 Montserrat,Arial,sans-serif}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--dark);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Baloo 2',Montserrat,sans-serif;line-height:1.04;letter-spacing:-.04em}h1{font-size:clamp(3.5rem,6.3vw,6.65rem);font-weight:800}h2{font-size:clamp(2.7rem,4.5vw,4.9rem);font-weight:800}h3{font-size:2rem}em{font-style:normal;color:var(--green)}.shell{width:min(1320px,88%);margin-inline:auto}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:800;color:#20753c}.announcement{background:var(--green);color:white;text-align:center;padding:8px 16px;font-size:.68rem;letter-spacing:.2em;font-weight:800}.announcement span{padding:0 18px}.site-header{position:relative;z-index:5;background:var(--cream);border-bottom:1px solid var(--line)}.header-inner{height:93px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand img{width:172px;height:auto}.site-header nav{display:flex;align-items:center;gap:30px;font-size:.86rem;font-weight:700}.site-header nav a:hover{color:var(--green)}.nav-visit{border:2px solid var(--green);border-radius:99px;padding:11px 22px;color:var(--green)}.nav-visit span{margin-left:17px}.nav-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:3%;min-height:650px;padding-block:70px 80px}.hero-copy{position:relative;z-index:2}.eyebrow-line{display:inline-block;width:35px;border-top:2px solid var(--green);vertical-align:middle;margin-right:10px}.hero h1{margin:18px 0 22px;color:var(--dark)}.hero h1 em{white-space:nowrap}.hero-copy>p{max-width:580px;font-size:1rem;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:33px}.button{display:inline-flex;align-items:center;gap:48px;padding:14px 24px;border-radius:99px;font-size:.88rem;font-weight:800;transition:transform .2s}.button:hover{transform:translateY(-3px)}.button-green{background:var(--green);color:white}.text-link{border-bottom:2px solid var(--green);font-size:.85rem;font-weight:800;padding-bottom:4px}.text-link span{margin-left:15px}.hero-foot{font-size:.72rem;font-weight:800;letter-spacing:.1em;margin-top:65px;color:var(--green)}.hero-foot span{padding:0 7px}.hero-visual{height:560px;position:relative;display:grid;place-items:center}.hero-orbit{width:90%;aspect-ratio:1;border-radius:50%;background:var(--blue);position:absolute;top:5%;right:0}.hero-visual>img{position:relative;width:105%;height:106%;object-fit:contain;filter:drop-shadow(0 23px 18px #295b3550);transform:rotate(-4deg)}.hero-doodle{position:absolute;color:var(--green);font-size:4rem;z-index:2}.hero-doodle-one{top:1%;left:4%}.hero-doodle-two{right:0;bottom:4%;color:white}.hero-sticker{position:absolute;z-index:3;right:-2%;top:10%;width:132px;height:132px;border-radius:50%;background:var(--green);color:white;display:grid;place-content:center;text-align:center;line-height:1.2;font-size:.7rem;font-weight:800;transform:rotate(14deg)}.hero-sticker strong{font-family:'Baloo 2',sans-serif;font-size:1.25rem}.ticker{background:var(--blue);color:white;display:flex;align-items:center;justify-content:space-around;gap:30px;padding:21px 4%;font-weight:800;font-size:.85rem;letter-spacing:.12em;overflow:hidden;white-space:nowrap}.ticker b{font-size:1.5rem}.featured{padding-block:95px 110px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:38px}.section-top h2{margin-top:10px;color:var(--dark)}.section-link{font-size:.84rem;font-weight:800;border-bottom:2px solid var(--green);padding-bottom:5px;white-space:nowrap}.section-link:hover{color:var(--green)}.feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.feature-card{min-width:0;border-radius:28px;overflow:hidden;padding:24px;display:flex;flex-direction:column}.card-blue{background:#d8e5f8}.card-green{background:#d6eecf}.card-peach{background:#fbe4db}.feature-top{display:flex;justify-content:space-between;gap:10px;font-size:.65rem;font-weight:800;letter-spacing:.07em}.feature-image{height:300px;display:grid;place-items:center}.feature-image img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 16px 9px #25463030)}.feature-info{border-top:1px solid #25463030;padding-top:18px;margin-top:auto}.feature-info h3{font-size:1.95rem;color:var(--dark)}.feature-info p{font-size:.82rem;line-height:1.6;margin-top:8px}.menu-section{background:#f0f8e9;padding-block:90px 100px;border-top:1px solid var(--line)}.menu-intro p{max-width:420px;font-size:.84rem}.menu-links{display:flex;gap:9px;overflow-x:auto;padding:6px 0 18px;scrollbar-width:thin;border-bottom:1px solid #bddbbd}.menu-links a{flex:none;border:1.5px solid #9bcaa5;border-radius:99px;padding:9px 15px;font-size:.79rem;font-weight:700;background:var(--cream)}.menu-links a:hover,.menu-links a:focus-visible{background:var(--green);color:white}.menu-group{padding-top:44px;scroll-margin-top:110px}.menu-group-head{display:flex;align-items:baseline;gap:16px}.menu-group-head h3{font-size:2.55rem;color:var(--dark)}.group-number{font-size:.78rem;color:var(--green);font-weight:800}.group-english{font-size:.73rem;text-transform:uppercase;letter-spacing:.1em;color:#69917b;font-weight:700}.size-note{font-size:.76rem;font-weight:800;color:var(--green);text-align:right;margin:0 0 5px}.menu-items{display:grid;grid-template-columns:1fr 1fr;column-gap:52px}.menu-item{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px solid #c8dcc7;font-size:.9rem}.menu-item strong{font-size:.85rem;color:var(--dark);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}.toppings{margin-top:58px;display:grid;grid-template-columns:250px 1fr;gap:35px;background:var(--blue);border-radius:26px;padding:35px;color:white}.toppings .eyebrow{color:white}.toppings h3{font-size:2.6rem}.toppings-title p{font-size:.94rem;font-weight:800}.toppings ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px 20px}.toppings li{font-size:.8rem;font-weight:700;padding:6px 0;border-bottom:1px solid #ffffff65}.toppings li::before{content:'✦';margin-right:9px;font-size:.6rem}.menu-footer-note{font-size:.75rem;margin-top:25px;color:#5a7b62}.story{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:9%;padding-block:110px}.story-visual{min-height:520px;position:relative;display:flex;align-items:center}.story-picture{width:88%;aspect-ratio:1;background:#dceacb;border-radius:46% 46% 26px 26px;display:grid;place-items:center;overflow:hidden}.story-picture img{height:95%;width:95%;object-fit:contain;filter:drop-shadow(0 15px 10px #1c49242a)}.story-mark{position:absolute;right:0;bottom:15px;background:var(--green);color:white;border-radius:50%;width:160px;height:160px;display:grid;place-content:center;text-align:center;font-family:'Baloo 2',sans-serif;font-size:1.5rem;font-weight:800;line-height:1;transform:rotate(12deg)}.story-copy h2{margin:16px 0 22px;color:var(--dark)}.story-copy p{max-width:520px;margin-bottom:20px;line-height:1.8}.button-outline{margin-top:10px;border:2px solid var(--green);color:var(--green)}.moments{background:#eaf1fc;padding-block:90px 110px}.moment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.moment-index{font-size:.7rem;font-weight:800;letter-spacing:.08em}.moment-photo{height:280px;margin:14px 0 23px;border-radius:25px;display:grid;place-items:center;overflow:hidden}.moment-photo img{width:100%;height:95%;object-fit:contain;filter:drop-shadow(0 16px 9px #25463025)}.blue-photo{background:#bdd3f0}.pink-photo{background:#f4d8d6}.yellow-photo{background:#f4eec1}.moment-card h3{color:var(--dark);font-size:1.8rem}.moment-card p{font-size:.84rem;line-height:1.7;margin-top:8px}.visit{background:var(--green);color:white;padding-block:78px}.visit-grid{display:grid;grid-template-columns:1.2fr 1fr .9fr;gap:55px;align-items:center}.visit .eyebrow,.visit em{color:var(--cream)}.visit h2{margin:15px 0}.visit-grid>div>p{font-size:.88rem}.visit dl{margin:0}.visit dl div+div{margin-top:22px}.visit dt{font-size:.68rem;letter-spacing:.15em;font-weight:800;opacity:.75}.visit dd{margin:5px 0 0;font-size:.87rem;font-weight:700}.visit-panel{height:260px;border:2px solid #ffffff9a;border-radius:25px;padding:25px;display:flex;flex-direction:column;justify-content:space-between}.visit-panel span{font-size:2rem}.visit-panel strong{font:800 2.4rem/1 'Baloo 2',sans-serif}.visit-panel small{font-size:.7rem}footer{background:var(--cream)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-block:35px}.footer-brand img{width:165px;height:auto}.footer-inner p,.footer-inner>a:last-child{font-size:.76rem;font-weight:700}.footer-inner>a:last-child:hover{color:var(--green)}
@media(max-width:980px){.site-header nav{gap:16px;font-size:.78rem}.brand img{width:145px}.hero{min-height:550px}.hero-visual{height:470px}.hero h1{font-size:4.5rem}.hero-sticker{width:110px;height:110px}.feature-image{height:230px}.feature-info h3{font-size:1.6rem}.toppings{grid-template-columns:190px 1fr}.toppings ul{grid-template-columns:repeat(2,1fr)}.visit-grid{gap:25px}.visit-panel strong{font-size:1.9rem}}
@media(max-width:720px){html{scroll-padding-top:80px}.shell{width:89%}.announcement{font-size:.56rem}.header-inner{height:75px;flex-wrap:wrap}.brand img{width:137px}.nav-toggle{display:flex;align-items:center;gap:8px;background:transparent;border:1.5px solid var(--green);border-radius:30px;color:var(--dark);padding:7px 13px;font-weight:700}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:1px solid var(--line);padding:12px 5.5% 20px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 18px 30px #133c1e16}.site-header nav.open{display:flex}.site-header nav a{padding:11px 8px;font-size:.9rem}.site-header nav .nav-visit{align-self:start;margin-top:7px;padding:8px 20px}.hero{grid-template-columns:1fr;gap:0;padding-block:50px 15px}.hero h1{font-size:clamp(3.7rem,12vw,5.7rem)}.hero-copy>p{font-size:.9rem}.hero-foot{display:none}.hero-visual{height:460px;margin-top:10px}.hero-orbit{width:82%;top:10%;right:8%}.hero-visual>img{width:94%;height:100%}.hero-sticker{right:1%;top:8%}.ticker{justify-content:flex-start;font-size:.7rem;gap:18px}.featured,.story{padding-block:65px}.section-top{display:block}.section-link{display:inline-block;margin-top:15px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card:last-child{grid-column:1/-1}.feature-image{height:260px}.menu-section{padding-block:65px}.menu-intro p{margin-top:16px}.story{grid-template-columns:1fr;gap:25px}.story-visual{min-height:410px}.story-picture{width:85%;max-width:500px}.story-mark{right:7%;width:130px;height:130px;font-size:1.25rem}.moment-grid{grid-template-columns:1fr 1fr}.moment-card:last-child{grid-column:1/-1}.visit-grid{grid-template-columns:1fr 1fr}.visit-panel{grid-column:1/-1;height:190px}.visit-panel strong{font-size:2.3rem}}
@media(max-width:530px){h2{font-size:3rem}.hero{padding-top:38px}.hero h1{font-size:3.55rem}.hero h1 em{white-space:normal}.hero-actions{gap:18px}.button{gap:25px}.hero-visual{height:350px}.hero-sticker{width:96px;height:96px;font-size:.57rem}.hero-sticker strong{font-size:.95rem}.hero-doodle{font-size:2.6rem}.featured{padding-block:52px}.feature-grid{grid-template-columns:1fr}.feature-card:last-child{grid-column:auto}.feature-image{height:280px}.feature-info h3{font-size:1.95rem}.feature-card{padding:22px}.menu-group-head{gap:10px;flex-wrap:wrap}.menu-group-head h3{font-size:2.25rem}.group-english{display:none}.menu-items{grid-template-columns:1fr}.menu-item{font-size:.85rem}.menu-item strong{font-size:.8rem}.toppings{grid-template-columns:1fr;padding:25px;gap:15px}.toppings ul{grid-template-columns:1fr 1fr;gap:4px 12px}.toppings li{font-size:.69rem}.story-visual{min-height:330px}.story-mark{right:0;bottom:0;width:115px;height:115px;font-size:1.08rem}.story-copy p{font-size:.88rem}.moment-grid{grid-template-columns:1fr}.moment-card:last-child{grid-column:auto}.moment-photo{height:250px}.moments{padding-block:65px}.visit-grid{grid-template-columns:1fr;gap:30px}.visit-panel{grid-column:auto}.footer-inner{flex-wrap:wrap;align-items:start}.footer-inner>a:last-child{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

/* Photo menu */
.menu-links{position:sticky;top:0;z-index:4;background:#f0f8e9;padding-top:12px}
.menu-group{padding-top:64px}
.menu-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-top:14px}
.menu-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #d7e9d1;border-radius:20px;background:var(--cream);box-shadow:0 5px 17px #204b2410;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}
.menu-card:hover{transform:translateY(-5px);box-shadow:0 17px 35px #204b2420;border-color:#a8d5a4}
.menu-card-photo{height:220px;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#e3efd8;padding:12px}
.menu-card:nth-child(3n+2) .menu-card-photo{background:#e1ecf8}
.menu-card:nth-child(3n) .menu-card-photo{background:#f7e9dd}
.menu-card-photo img{display:block;width:100%;height:100%;min-height:0;max-height:100%;object-fit:contain;filter:drop-shadow(0 11px 9px #18391e23);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.menu-card:hover .menu-card-photo img{transform:translateY(-5px) scale(1.04)}
.menu-card-details{padding:17px 17px 18px;display:flex;flex-direction:column;justify-content:space-between;gap:13px;flex:1}
.menu-card h4{margin:0;font-size:.95rem;line-height:1.42;color:var(--dark);font-weight:800}
.menu-card-price{font-size:.82rem;line-height:1.35;font-weight:800;color:var(--green);font-variant-numeric:tabular-nums}
.bingsu-items{grid-template-columns:repeat(3,minmax(0,1fr))}
.bingsu-card{padding:12px 12px 16px}
.bingsu-pictures{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bingsu-size{margin:0;min-width:0;border-radius:14px;overflow:hidden;background:#e5f1dc;display:flex;flex-direction:column;align-items:center}
.bingsu-size:nth-child(2){background:#dce8fa}
.bingsu-size img{--photo-scale:1;width:100%;height:180px;object-fit:contain;transform:scale(var(--photo-scale));filter:drop-shadow(0 9px 6px #234b2b25);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.bingsu-size:first-child img{--photo-scale:.86}
.menu-card:hover .bingsu-size img{transform:translateY(-5px) scale(calc(var(--photo-scale) + .04))}
.bingsu-size figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 7px;align-self:stretch;padding:8px 9px;background:#ffffffbd;font-size:.73rem;font-weight:800}
.bingsu-size figcaption strong{white-space:nowrap;color:var(--green);font-variant-numeric:tabular-nums}
.bingsu-card h4{padding:14px 3px 0;font-size:1rem}
.bingsu-bonus{font-size:.75rem;font-weight:800;color:var(--green);padding:4px 3px 0}
.photo-note{font-size:.67rem;color:#607b65;padding:3px 3px 0;line-height:1.4}
.reference-photo img{opacity:.6}
.visit a:not(.button){color:white;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#ffffff70}
.visit a:hover{color:var(--cream);text-decoration-color:white}
.visit-social{display:flex;flex-wrap:wrap;gap:14px}
.footer-inner p a{text-decoration:underline;text-underline-offset:3px}
.has-motion .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.has-motion .reveal.is-visible{opacity:1;transform:translateY(0)}
.hero-copy{animation:minty-rise .8s both}.hero-visual{animation:minty-rise 1s .12s both}
@keyframes minty-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1100px){.menu-items{grid-template-columns:repeat(3,minmax(0,1fr))}.bingsu-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.menu-items,.bingsu-items{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-card-photo{height:190px}.bingsu-size img{height:155px}.menu-links{top:0}}
@media(max-width:530px){.menu-items,.bingsu-items{grid-template-columns:1fr;gap:15px}.menu-group{padding-top:50px}.menu-card-photo{height:240px}.menu-card-details{padding:16px}.menu-card h4{font-size:1rem}.menu-card-price{font-size:.85rem}.bingsu-size img{height:195px}.bingsu-size figcaption{font-size:.77rem}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-visual{animation:none}.has-motion .reveal,.has-motion .reveal.is-visible{opacity:1;transform:none;transition:none}.menu-card,.menu-card-photo img,.bingsu-size img{transition:none}.menu-card:hover,.menu-card:hover .menu-card-photo img{transform:none}.menu-card:hover .bingsu-size img{transform:scale(var(--photo-scale))}}

/* Featured photos stay inside their own row, leaving the copy fully visible. */
.feature-card{isolation:isolate}
.feature-image{flex:0 0 260px;height:260px;min-height:0;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center;margin-block:10px 18px}
.feature-image img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain}
.feature-info{position:relative;z-index:1}
@media(max-width:980px){.feature-image{flex-basis:220px;height:220px}}
@media(max-width:530px){.feature-image{flex-basis:260px;height:260px}}

/* Four featured categories, in the same order as the menu. */
.feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.card-yellow{background:#f6edc9}
.feature-card{padding:20px}
.feature-top{flex-wrap:wrap}
.feature-info h3{font-size:1.65rem}
.feature-info p{font-size:.78rem}
@media(max-width:1050px){.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-card:last-child{grid-column:auto}}
@media(max-width:530px){.feature-grid{grid-template-columns:1fr}.feature-info h3{font-size:1.95rem}}

/* Map and location card */
.location-map{background:var(--cream);padding-block:82px 100px}
.map-heading{margin-bottom:28px}
.map-heading h2{color:var(--dark);margin-top:7px}
.map-stage{position:relative;width:min(1320px,88%);height:520px;margin-inline:auto;border-radius:30px;overflow:hidden;background:#dcebdc;box-shadow:0 12px 35px #1b42231b}
.map-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-card{position:absolute;right:26px;top:26px;width:min(460px,calc(100% - 52px));padding:26px;background:white;border-radius:24px;box-shadow:0 16px 45px #1a3d2850;color:var(--dark)}
.map-card h3{font-size:1.75rem;letter-spacing:-.025em}
.map-open{display:block;margin-top:7px;color:#138b3a;font-size:.7rem;font-weight:800;letter-spacing:.04em}
.map-card dl{margin:21px 0;border-top:1px solid #e8ede7}
.map-card dl div{padding-top:15px;display:grid;grid-template-columns:92px 1fr;gap:12px}
.map-card dt{font-size:.69rem;font-weight:800;color:#778a7e;letter-spacing:.1em}
.map-card dd{margin:0;font-size:.84rem;line-height:1.5;font-weight:700}
.map-card dd a{text-decoration:underline;text-underline-offset:3px}
.map-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.map-actions a,.map-actions button{display:grid;place-items:center;text-align:center;min-height:43px;padding:8px 10px;border:0;border-radius:11px;font-size:.76rem;font-weight:800;cursor:pointer}
.map-actions a{background:var(--dark);color:white}.map-actions button{background:#edf2ed;color:var(--dark)}
.map-actions a:hover,.map-actions button:hover{filter:brightness(.93)}
.copy-status{min-height:1.1em;margin-top:8px;font-size:.7rem;color:var(--green)}
@media(max-width:720px){.location-map{padding-block:65px 80px}.map-stage{height:auto;overflow:visible;background:transparent;box-shadow:none}.map-stage iframe{position:relative;display:block;height:345px;border-radius:22px;box-shadow:0 8px 24px #1b42231b}.map-card{position:relative;top:auto;right:auto;width:calc(100% - 22px);margin:-35px auto 0;padding:22px;z-index:1}.map-card dl div{grid-template-columns:1fr;gap:4px}.map-card h3{font-size:1.55rem}}

/* Rotating hero photos and light playful movement. */
.hero-visual{display:flex;flex-direction:column;justify-content:center}
.hero-slides{position:relative;z-index:1;width:100%;height:calc(100% - 42px)}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;filter:drop-shadow(0 23px 18px #295b3550);transform:translateY(16px) scale(.93) rotate(-4deg);transition:opacity .65s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.hero-slide.is-active{opacity:1;transform:translateY(0) scale(1) rotate(-4deg)}
.hero-carousel-bottom{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:16px;min-height:42px;width:100%;color:var(--dark);font-size:.76rem;font-weight:800;letter-spacing:.03em}
.hero-carousel-bottom>span{background:#fcffe9db;border:1px solid #d5e7cf;border-radius:99px;padding:5px 12px;min-width:135px;text-align:center}
.hero-dots{display:flex;gap:7px;align-items:center}
.hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:#9ac9a6;cursor:pointer;transition:background .25s,transform .25s}
.hero-dots button.is-active{background:var(--green);transform:scale(1.45)}
.hero-orbit{animation:minty-breathe 5s ease-in-out infinite alternate}
.hero-doodle-one{animation:minty-twinkle 5s ease-in-out infinite}
.hero-doodle-two{animation:minty-twinkle 4s 1s ease-in-out infinite}
.hero-sticker{animation:minty-bob 4s ease-in-out infinite}
.feature-image img,.moment-photo img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.feature-card:hover .feature-image img{transform:scale(1.07) rotate(-2deg)}
.moment-card:hover .moment-photo img{transform:scale(1.05) rotate(2deg)}
@keyframes minty-breathe{to{transform:scale(1.045)}}
@keyframes minty-twinkle{50%{transform:scale(.7) rotate(25deg);opacity:.55}}
@keyframes minty-bob{50%{transform:translateY(-9px) rotate(17deg)}}
@media(max-width:720px){.hero-slides{height:calc(100% - 40px)}.hero-orbit{top:8%}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none;transform:none}.hero-slide.is-active{transform:none}.hero-dots button,.hero-orbit,.hero-doodle,.hero-sticker{animation:none;transition:none}.feature-image img,.moment-photo img{transition:none}.feature-card:hover .feature-image img,.moment-card:hover .moment-photo img{transform:none}}

/* Keep the map more compact than the main content. */
.map-stage{width:min(960px,82%);height:410px}
.map-card{right:18px;top:18px;width:min(400px,calc(100% - 36px));padding:20px}
.map-card h3{font-size:1.55rem}
.map-card dl{margin:16px 0}
@media(max-width:720px){.map-stage{width:89%;height:auto}.map-stage iframe{height:300px}.map-card{top:auto;right:auto;width:calc(100% - 22px);padding:20px}}

/* Noticeable motion throughout the page, with an accessible still state. */
.ticker{display:block;padding:0;overflow:hidden}
.ticker-track{display:flex;width:max-content;animation:minty-marquee 24s linear infinite}
.ticker-group{display:flex;flex:none;align-items:center;gap:38px;padding:17px 19px}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes minty-marquee{to{transform:translateX(-50%)}}
.has-motion .reveal{opacity:0;transform:translateY(52px) scale(.965);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1);transition-delay:var(--reveal-delay,0ms)}
.has-motion .reveal.is-visible{opacity:1;transform:translateY(0) scale(1)}
.has-motion .feature-card.reveal.is-visible:hover,.has-motion .moment-card.reveal.is-visible:hover{transform:translateY(-8px) scale(1.015)}
.has-motion .menu-card.reveal.is-visible:hover{transform:translateY(-8px) scale(1.015)}
.feature-card,.moment-card{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.feature-card:hover,.moment-card:hover{box-shadow:0 16px 32px #204b2420}
.menu-card:hover .menu-card-photo img{transform:translateY(-5px) scale(1.08) rotate(-2deg)}
.story-visual.is-visible .story-picture img{animation:minty-gentle-float 5s ease-in-out infinite}
.story-visual.is-visible .story-mark{animation:minty-mark-bob 4.5s ease-in-out infinite}
.visit-panel span{display:inline-block;animation:minty-twinkle 4s ease-in-out infinite}
@keyframes minty-gentle-float{50%{transform:translateY(-9px)}}
@keyframes minty-mark-bob{50%{transform:translateY(-8px) rotate(17deg)}}
@media(prefers-reduced-motion:reduce){.ticker-track,.story-visual.is-visible .story-picture img,.story-visual.is-visible .story-mark,.visit-panel span{animation:none}.has-motion .reveal,.has-motion .reveal.is-visible{opacity:1;transform:none;transition:none}.feature-card,.moment-card{transition:none}.has-motion .feature-card.reveal.is-visible:hover,.has-motion .moment-card.reveal.is-visible:hover,.has-motion .menu-card.reveal.is-visible:hover{transform:none}.menu-card:hover .menu-card-photo img{transform:none}}
