@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--ink:#154c50;--deep:#064f5b;--ocean:#077c89;--aqua:#def4f3;--paper:#fffdf8;--sand:#f5f0e4;--yellow:#ffce69;--orange:#d26a36;--line:#d9e4dc;--body:'DM Sans','Noto Sans JP',sans-serif;--serif:'Playfair Display',Georgia,serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%;object-fit:cover}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-weight:700;line-height:1.5;letter-spacing:.035em}h2{font-size:clamp(1.9rem,3.1vw,2.9rem);line-height:1.65}h3{font-size:1.2rem}p+p{margin-top:1.15em}a{color:inherit;text-decoration:none}a,button,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #d68116;outline-offset:6px}button,a{touch-action:manipulation}[hidden]{display:none!important}section[id]{scroll-margin-top:15px}.section{padding:110px max(6%,calc((100vw - 1240px)/2))}.eyebrow{font:600 .79rem/1.5 var(--body);letter-spacing:.18em;color:var(--ocean);margin-bottom:22px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading>p{font-size:.95rem;color:#4e7170;max-width:420px}.section-number{font-size:.75rem;letter-spacing:.15em}.text-link{display:inline-flex;align-items:center;gap:25px;border:0;border-bottom:1px solid #91b4ad;background:none;padding:11px 0;font-weight:600;font-size:.93rem;line-height:1.7}.text-link span{font-size:1.25rem;transition:transform .25s}.text-link:hover span{transform:translate(3px,-3px)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;min-height:56px;padding:15px 26px;border-radius:6px;font-size:.9rem;font-weight:600;line-height:1.6;box-shadow:0 7px 17px #13494c16,inset 0 1px 0 #ffffff4a;transition:transform .3s,box-shadow .3s;position:relative}.button:hover{transform:translateY(-3px);box-shadow:0 10px 26px #13494c25}.button>span:last-child{font-size:1.15em}.ocean{color:#fff;background:linear-gradient(120deg,#159ba4,#075866)}.line{background:linear-gradient(115deg,#228445,#076537);color:#fff}.sunshine{background:linear-gradient(110deg,#ffe6a5,#f6bb4d);color:#184a4c}.line-icon{display:inline-flex;align-items:center;justify-content:center;border:1.3px solid currentColor;border-radius:8px;font-size:.64rem!important;line-height:1.4;width:32px;height:26px;letter-spacing:-.04em}.note,figcaption{font-size:.75rem;color:#53716c;line-height:1.7}.note{margin-top:22px}.handwritten{font:italic 2rem var(--serif);color:var(--orange)}.mobile-only{display:none}.skip{position:fixed;left:16px;top:-80px;background:white;z-index:100;padding:8px 18px}.skip:focus{top:8px}
.header{position:relative;z-index:30;display:flex;align-items:center;gap:32px;padding:12px 4%;min-height:108px;background:rgba(255,253,248,.97);border-bottom:1px solid #c7ded54d}.brand{display:flex;align-items:center;gap:12px;line-height:1.5}.brand img{width:82px;height:82px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-size:.68rem;letter-spacing:.08em}.brand strong{font:600 1.35rem var(--serif);letter-spacing:-.03em}.desktop-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.desktop-nav a{font-size:.85rem;font-weight:600;position:relative;padding:12px 0}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:5px;width:0;height:2px;background:var(--ocean);transition:width .25s}.desktop-nav a:hover:after{width:100%}.header-line{padding:12px 20px;min-height:48px;gap:11px;font-size:.85rem}.menu-toggle{display:none;flex-direction:column;gap:7px;background:none;border:0;padding:12px;width:48px;height:48px;justify-content:center}.menu-toggle span{height:2px;width:25px;background:var(--ink);transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav{position:absolute;right:0;left:0;top:96px;background:var(--paper);z-index:29;padding:20px 7% 30px;box-shadow:0 20px 30px #154c501f}.mobile-nav a{display:block;border-bottom:1px solid var(--line);padding:14px 0;font-size:1rem}
.hero{position:relative;min-height:745px;max-width:1800px;margin:auto;display:grid;grid-template-columns:43% 57%;padding:60px 4% 75px 7%;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 75% 20%,#acdfdc 0,transparent 55%),linear-gradient(120deg,#e1f4f0 5%,#dbf1ee 60%,#a4d9d5 100%)}.hero-backdrop{position:absolute;inset:-10%;z-index:-1;background:radial-gradient(ellipse at 2% 94%,#fffdf890 0 32%,transparent 32.2%),radial-gradient(ellipse at 4% 107%,transparent 44%,#fffdf862 44.2%,transparent 44.4%);animation:wave-drift 12s ease-in-out infinite alternate}.hero-copy{z-index:3;position:relative;padding-top:12px;align-self:center}.hero .eyebrow{font-size:.72rem;display:flex;align-items:center;gap:12px;margin-bottom:20px}.hero .eyebrow>span{width:24px;height:1px;background:currentColor}h1{font-weight:800;font-size:clamp(3.1rem,5.5vw,5.3rem);line-height:1.4;letter-spacing:.015em}h1>span{display:block;animation:copy-in 1s cubic-bezier(.2,.7,.1,1) both}h1>span:nth-child(2){animation-delay:.1s}h1>span:nth-child(3){animation-delay:.2s}.hero-accent{color:#087e89}.hero-description{margin-top:24px;font-size:.98rem;line-height:2.05}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:27px}.hero-actions .button{min-width:210px}.hero-actions .text-link{font-size:.9rem}.hero-meta{display:flex;gap:25px;flex-wrap:wrap;margin-top:29px;font-size:.83rem;font-weight:500}.hero-meta b{font-size:.7rem;letter-spacing:.1em;margin-right:8px}.hero-meta>a{border-bottom:1px solid #81aaa4}.hero-visual{position:relative;align-self:center;height:590px;margin-left:-7px}.hero-family{height:535px;width:108%;overflow:hidden;border-radius:46% 48% 8% 39% / 44% 51% 11% 47%;transform:rotate(-3deg);box-shadow:18px 24px 0 #71bfc125}.hero-family img{width:100%;height:100%;object-position:50% 50%;transform:scale(1.09) rotate(3deg);animation:photo-zoom 16s ease-in-out infinite alternate}.hero-family figcaption{position:absolute;bottom:18px;right:15%;color:#fff;text-shadow:0 1px 4px #000;font-size:.7rem;background:#123f4470;padding:3px 9px;border-radius:3px;transform:rotate(3deg)}.hero-food{position:absolute;bottom:-12px;left:-32px;width:235px;background:#fffdfa;padding:10px 10px 14px;box-shadow:4px 12px 32px #0b42472b;transform:rotate(-8deg);animation:photo-float 6s ease-in-out infinite alternate}.hero-food img{width:100%;height:155px}.hero-food figcaption{font-size:.76rem;padding:9px 0 0;text-align:center;color:var(--ink)}.aloha-stamp{position:absolute;right:4%;top:-29px;z-index:5;width:120px;height:120px;border-radius:50%;background:linear-gradient(140deg,#fff0b2,#ffcc69);display:flex;align-items:center;justify-content:center;flex-direction:column;transform:rotate(12deg);box-shadow:0 8px 15px #21525716;outline:1px dashed #946a3140;outline-offset:-8px}.aloha-stamp span{font-size:.59rem;letter-spacing:.16em}.aloha-stamp strong{font:italic 2rem var(--serif);margin:2px 0}.hero-location{position:absolute;right:7px;bottom:20px;font-size:.7rem;letter-spacing:.15em}.scroll-cue{position:absolute;bottom:20px;left:7%;display:flex;align-items:center;gap:18px;font-size:.62rem;letter-spacing:.17em}.scroll-cue>span:last-child{font-size:1.4rem}.ribbon{overflow:hidden;background:linear-gradient(100deg,#07515d,#128b91,#07515d);padding:15px 0;color:#eff8ec}.ribbon div{width:max-content;white-space:nowrap;font:500 1.12rem var(--serif);letter-spacing:.11em;animation:marquee 38s linear infinite}.ribbon i{font-style:normal;color:var(--yellow);padding:0 45px}
.about{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;align-items:center;padding-top:145px;padding-bottom:145px}.about-pictures{position:relative;padding:0 20px 100px 0;min-width:0}.about-main{height:350px;overflow:hidden;border-radius:10px 80px 10px 10px}.about-main img{width:100%;height:100%;object-position:56%}.about-small{position:absolute;right:-15px;bottom:30px;width:62%;height:190px;border:8px solid var(--paper);transform:rotate(6deg);box-shadow:0 10px 18px #294e4410}.about-small img{width:100%;height:100%}.about-pictures .handwritten{position:absolute;bottom:0;left:-2px;transform:rotate(-5deg);font-size:1.65rem}.about-copy h2{margin-bottom:25px}.about-copy p:not(.eyebrow){font-size:.96rem;color:#4a6965}.about-copy .text-link{margin-top:22px}
.moments{background:radial-gradient(ellipse at 100% 0%,#e0f0df90,transparent 60%),linear-gradient(130deg,#f3eee1,#fffdf4);padding-top:90px;padding-bottom:100px}.moments-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.moment{height:315px;border-radius:7px;overflow:hidden;position:relative;background:#225b59;display:flex;align-items:flex-end;isolation:isolate}.moment:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#043538ee,transparent 85%)}.moment img{position:absolute;inset:0;width:100%;height:100%;z-index:-2;transition:transform .7s}.moment:hover img{transform:scale(1.05)}.moment>div{padding:30px 25px 24px;color:#fff;width:100%}.moment>div>span{font-size:.65rem;letter-spacing:.16em;color:#e5dbac}.moment h3{font-size:1.2rem;margin-top:8px}.moment p{font-size:.84rem;margin-top:9px;color:#f1f7f5}.image-label{position:absolute;top:12px;right:12px;font-size:.65rem;color:#fff;background:#144b4ce0;line-height:1.7;padding:4px 8px;border-radius:3px}.moment .sweet-moment{object-fit:contain;background:linear-gradient(130deg,#a5c7c0,#497779)}
.enjoy{position:relative;color:#fff;isolation:isolate;overflow:hidden}.enjoy-image{position:absolute;inset:0;z-index:-2}.enjoy-image img{width:100%;height:100%;object-position:center}.enjoy:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,#053e48ed,#053c45ca);z-index:-1}.enjoy-inner{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center;padding-top:80px;padding-bottom:80px}.enjoy .eyebrow{color:#c8e1d0}.enjoy-times{display:grid;gap:23px}.enjoy-times a{display:block;border-bottom:1px solid #ffffff30;padding-bottom:24px}.enjoy-times a:last-child{border-bottom:0;padding-bottom:0}.enjoy-times b{font-size:.7rem;letter-spacing:.15em;color:#f4da9c}.enjoy-times h3{font-size:1.15rem;margin:3px 0}.enjoy-times p{color:#d0e3dc;font-size:.85rem}.english-heading{font:500 clamp(3rem,5.5vw,5rem)/1.08 var(--serif);letter-spacing:-.035em}.english-heading em{font-weight:500;color:var(--ocean)}.lunch{position:relative;background:radial-gradient(ellipse at 0% 50%,#f4ebd685,transparent 40%),var(--paper)}.lunch .section-heading{align-items:center;margin-bottom:62px}.lunch-intro{max-width:465px}.lunch-intro>p{margin-top:20px}.time-pill{display:inline-block;font-size:.8rem;letter-spacing:.1em;background:#e1efdf;border:1px solid #d0e1c9;border-radius:30px;padding:7px 19px}.lunch-perks{display:flex;gap:20px;margin-top:20px;font-size:.9rem;color:#95602c}.lunch-perks strong+strong{border-left:1px solid #ccb79b;padding-left:20px}.lunch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.menu-photo{position:relative;overflow:hidden;aspect-ratio:530/330;border-radius:5px 5px 36px 5px;background:#d5d3bb}.menu-photo img{position:absolute;max-width:none;width:266.79245%;height:auto;left:-23.207547%;top:-154.848485%}.menu-photo[data-crop=taco] img{left:-139.245283%;top:-148.787879%}.menu-photo[data-crop=curry] img{top:-290.30303%}.menu-photo[data-crop=weekly] img{top:-418.181818%}.dish-name{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:20px 0 14px;border-bottom:1px solid #c7d4c8}.dish-name>div>span{font-size:.63rem;letter-spacing:.08em;color:#5e7c71}.dish-name h3{font-size:1.03rem;margin-top:4px;letter-spacing:0}.dish-name>p{white-space:nowrap;font-size:.87rem}.dish-name strong{font-size:1.35rem;font-weight:500;margin-left:2px}.lunch-drinks{display:grid;grid-template-columns:1.4fr 1fr;gap:45px;background:linear-gradient(130deg,#e9f4ea,#f4efda);border:1px solid #d5e4d4;padding:38px 40px;margin-top:47px;border-radius:8px}.lunch-drinks .eyebrow{margin-bottom:10px}.lunch-drinks h3{font-size:1.2rem;margin-bottom:16px}.lunch-drinks p{font-size:.89rem;color:#537264}.app-benefit{padding-left:40px;border-left:1px solid #bfd2bf}.app-benefit>span{font-size:.76rem;display:block;margin-bottom:7px}.app-benefit>strong{display:block;font-size:1.1rem;line-height:1.7}.app-benefit>strong>span{font-size:.7rem;font-weight:400;margin-left:10px}.app-benefit .text-link{font-size:.82rem;margin-top:7px}.app-benefit #app-info{margin-top:15px}
.sweets{background:radial-gradient(ellipse at 85% 5%,#d7f1ed,transparent 70%),linear-gradient(135deg,#eef7ec,#e5f2e8);padding-top:90px}.sweets-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.sweet-photo{position:relative;aspect-ratio:1.23;overflow:hidden;background:#cfdecf;border-radius:46% 46% 6px 6px;margin-bottom:27px}.sweet-photo img{width:100%;height:100%;object-fit:cover}.sweet-photo.acai-photo{background:radial-gradient(ellipse,#e3d5b5,#d9e7d0)}.acai-photo img{position:absolute;width:214%;height:auto;max-width:none;left:-50%;top:-102%}.pancake-photo{background:radial-gradient(ellipse,#f5e6c7,#d3e5cd)}.pancake-photo img{position:absolute;width:202%;max-width:none;height:auto;left:-6%;top:12%}.sweet-item .eyebrow{font-size:.65rem;letter-spacing:.13em}.sweet-item h3{margin:8px 0 13px;font-size:1.23rem}.sweet-item p{font-size:.91rem;color:#4a6d64}.sweet-photo .image-label{top:auto;bottom:12px;right:9px;font-size:.62rem}.drinks{display:grid;grid-template-columns:1.12fr 1fr;gap:8%;align-items:center;padding-top:120px;padding-bottom:120px}.drinks-photo{min-width:0;position:relative;background:radial-gradient(ellipse,#def0e0 0,transparent 70%);padding:22px 0 40px}.drinks-photo img{width:100%;height:auto}.drinks-photo .handwritten{display:block;text-align:center;transform:rotate(-6deg);margin-top:14px}.drinks-copy>p{font-size:.95rem}.drinks-copy h2{margin-bottom:25px}.namihana{padding:24px 0 25px;margin:24px 0 0;border-top:1px solid #c8d5c7}.namihana>span{font-size:.68rem;letter-spacing:.15em;color:var(--ocean)}.namihana h3{font-size:1.18rem;margin:6px 0 12px}.namihana p{font-size:.9rem;color:#4e6f66}.more-food{padding-top:0}.more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.more-item{border-top:1px solid #9ab5a5}.more-item img{height:195px;width:100%;margin-top:20px;border-radius:4px;object-fit:cover}.more-item:first-child img{object-fit:contain;background:#e4e8d8}.more-item>div{padding:24px 0}.more-item .eyebrow{font-size:.62rem;margin:0 0 9px}.more-item h3{font-size:1.16rem;margin-bottom:14px}.more-item p{font-size:.91rem;color:#537064}.more-item small{font-size:.75rem;color:#58756b;display:block;margin-top:12px}.values{position:relative;isolation:isolate;min-height:550px;display:grid;place-items:center;padding:90px 6%;color:white;text-align:center;overflow:hidden}.values>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%}.values:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#042e39e3,#08372ca1,#042e39d4)}.values .eyebrow{color:#f4d994;font-size:.73rem}.values h2{font-size:clamp(2rem,4vw,3rem);line-height:1.65;margin-bottom:28px}.values p:not(.eyebrow){font-size:.95rem;line-height:2.1;color:#eff5eb}.community{background:radial-gradient(ellipse at 0% 70%,#f0e6ce80,transparent 70%),var(--paper)}.community-row{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;margin-top:65px}.community-row+.community-row{margin-top:100px}.community-row figure img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:8px 65px 8px 8px}.community-row figcaption{margin-top:10px;font-size:.69rem}.community-row h3{font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.7;margin:18px 0 24px}.community-row .eyebrow{font-size:.7rem;margin-bottom:15px}.small-tag{font-size:.76rem;border:1px solid #99b8a6;border-radius:25px;padding:5px 15px;display:inline-block}.community-row p:not(.eyebrow){font-size:.92rem;color:#547268}.community-row .text-link{margin-top:20px}.community-row.reverse figure{order:2}.community-row.reverse figure img{border-radius:65px 8px 8px 8px}.goods{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center;background:radial-gradient(ellipse at 10% 5%,#f7e5b9,transparent 65%),linear-gradient(100deg,#f3eedc,#e5f0e5);padding-top:85px;padding-bottom:85px}.goods-copy h2{margin-bottom:24px}.goods-copy>p:not(.eyebrow){font-size:.95rem}.goods-copy .text-link{margin-top:28px}.goods figure img{aspect-ratio:1.45;width:100%;border-radius:65px 8px 65px 8px}.goods figcaption{font-size:.69rem;margin-top:12px}.faq{display:grid;grid-template-columns:.78fr 1.3fr;gap:9%;padding-top:110px;padding-bottom:110px}.faq-intro>p:not(.eyebrow){margin:20px 0 30px;font-size:.95rem}.faq-intro>img{height:215px;width:100%;border-radius:6px 40px 6px 6px}.faq details{border-bottom:1px solid #ccd9cc;padding:0 0 0}.faq details:first-child{border-top:1px solid #ccd9cc}.faq summary{cursor:pointer;list-style:none;position:relative;display:flex;align-items:baseline;gap:17px;padding:22px 35px 22px 0;font-size:.97rem;font-weight:500;line-height:1.7}.faq summary::-webkit-details-marker{display:none}.faq summary>span{font:italic 1.35rem var(--serif);color:var(--ocean)}.faq summary:after{content:'＋';position:absolute;right:0;top:21px;font-size:1.05rem;color:var(--ocean)}.faq details[open] summary:after{content:'−'}.faq details>p{font-size:.92rem;color:#547065;padding:0 20px 24px 37px;line-height:1.95}.access{background:radial-gradient(ellipse at 95% 100%,#c8e8df60,transparent 65%),linear-gradient(130deg,#eaf2e9,#f3f3e7)}.access-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:8%}.access-info h3{font-size:1rem;font-weight:500}.access-info h3>strong{font:600 2.25rem var(--serif);display:block;margin-top:8px}.access-info dl{margin:28px 0 30px}.access-info dl>div{display:grid;grid-template-columns:85px 1fr;gap:20px;border-bottom:1px solid #cadacf;padding:13px 0;font-size:.9rem}.access-info dt{font-size:.81rem;color:#537166}.access-info dd{margin:0;overflow-wrap:anywhere}.access-info dd>span,.access-info dd>br+span{font-size:.8rem;color:#537166}.access-info .phone-number{font-size:1.3rem;letter-spacing:.03em}.access-info dd a:hover{text-decoration:underline}.access-visual{display:grid;gap:20px;grid-template-rows:340px 280px}.storefront{width:100%;height:340px;object-position:center 53%;border-radius:8px}.access-visual iframe{width:100%;height:280px;border-radius:8px;background:#d4e2d5}.instagram{padding-top:95px;padding-bottom:100px}.instagram .section-heading{margin-bottom:15px;align-items:center}.instagram .english-heading{font-size:clamp(2.2rem,4vw,3.6rem)}.instagram-description{font-size:.92rem;margin-bottom:30px;color:#507268}.instagram-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.instagram-photos img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:5px;transition:filter .3s}.instagram-photos img:nth-child(3){object-fit:contain;background:#e4eee0}.instagram-photos:hover img{filter:brightness(.94)}.contact{position:relative;isolation:isolate;min-height:590px;display:grid;place-items:center;text-align:center;color:white;padding:85px 7%;overflow:hidden}.contact>img{position:absolute;inset:0;width:100%;height:100%;object-position:center 55%;z-index:-2}.contact:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,#033e4cea,#075657b3,#023e4ce5);z-index:-1}.contact .eyebrow{color:#f5db9d}.contact h2{font-size:clamp(2.25rem,4.5vw,3.8rem);margin-bottom:20px;line-height:1.55}.contact p:not(.eyebrow){font-size:.96rem;color:#f6fbf6}.contact-buttons{display:flex;justify-content:center;gap:18px;margin:35px 0 21px}.contact-buttons .button{min-width:280px;min-height:62px}.contact-buttons .sunshine{gap:13px}.contact-buttons .sunshine>span{font-size:.83rem}.contact-links{display:flex;justify-content:center;gap:30px;font-size:.86rem}.contact-links a{border-bottom:1px solid #a7d2c2;padding:5px 0}.contact-caption{position:absolute;bottom:12px;right:20px;font-size:.67rem;color:#dee9df}.footer{position:relative;padding:45px 6%;display:flex;align-items:center;gap:40px;background:#063f4a;color:#e7f2e9}.footer-brand{font:500 1.8rem var(--serif);white-space:nowrap}.footer-brand span{display:block;font:400 .63rem var(--body);letter-spacing:.13em;margin-top:9px}.footer>p{font-size:.78rem;line-height:1.9}.footer small{margin-left:auto;font-size:.66rem;white-space:nowrap}.back-top{display:flex;align-items:center;justify-content:center;border:1px solid #779c98;border-radius:50%;width:40px;height:40px;flex:0 0 40px}.mobile-cta{display:none}.will-reveal{opacity:0;transform:translateY(25px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.1,1)}.will-reveal.revealed{opacity:1;transform:translateY(0)}.moments-grid .reveal:nth-child(3n+2),.sweets-grid .reveal:nth-child(2){transition-delay:.1s}.moments-grid .reveal:nth-child(3n+3),.sweets-grid .reveal:nth-child(3){transition-delay:.2s}
@keyframes photo-zoom{from{transform:scale(1.09) rotate(3deg)}to{transform:scale(1.17) rotate(3deg)}}@keyframes copy-in{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes photo-float{from{transform:rotate(-8deg) translateY(0)}to{transform:rotate(-6deg) translateY(-9px)}}@keyframes wave-drift{from{transform:translate(-1%,0) rotate(-1deg)}to{transform:translate(2%,1%) rotate(1deg)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(min-width:1600px){.hero{padding-left:9%;padding-right:9%}.hero-family{width:105%}.hero-visual{height:620px}.hero-family{height:570px}}
@media(max-width:1200px){.header{gap:20px}.desktop-nav{gap:20px}.brand span{display:none}.hero{padding-left:6%;min-height:710px}.hero-visual{height:525px}.hero-family{height:480px}.hero-food{width:210px}.hero-food img{height:130px}.hero-actions{gap:18px}.hero-actions .button{min-width:180px;padding:14px 20px}.hero-meta{gap:15px}.section{padding-left:6%;padding-right:6%}.lunch-grid{gap:18px}.dish-name{flex-wrap:wrap;align-items:start;gap:8px}.dish-name>div{width:100%}.dish-name>p{margin-left:auto}.dish-name h3{font-size:1rem}.moment>div{padding:24px 19px}.moment h3{font-size:1.05rem}.moment p{font-size:.8rem}.footer{gap:28px}.footer small{white-space:normal}}
@media(max-width:1000px){.header{min-height:92px;padding:9px 5%;gap:18px}.brand img{width:70px;height:70px}.brand span{display:block}.desktop-nav{display:none}.header-line{margin-left:auto}.menu-toggle{display:flex}.mobile-nav{top:92px}.hero{grid-template-columns:46% 54%;padding:45px 5% 70px;min-height:630px}.hero .eyebrow{font-size:.59rem;letter-spacing:.12em}h1{font-size:clamp(2.8rem,5.6vw,4rem)}.hero-description{font-size:.89rem}.hero-visual{height:475px}.hero-family{height:430px}.hero-food{width:175px;bottom:-5px;left:-4px;padding:8px}.hero-food img{height:105px}.hero-food figcaption{font-size:.65rem}.aloha-stamp{width:98px;height:98px;right:-3%;top:-18px}.aloha-stamp strong{font-size:1.6rem}.aloha-stamp span{font-size:.52rem}.hero-actions{gap:15px;flex-wrap:wrap}.hero-actions .button{min-width:173px;font-size:.84rem}.hero-actions .text-link{font-size:.8rem}.hero-meta{font-size:.75rem;gap:8px 20px}.hero-location{font-size:.58rem;bottom:5px;right:-4px}.section{padding-top:85px;padding-bottom:85px}.about{gap:7%}.about-main{height:335px}.about-small{height:160px;right:-5px}.about-pictures .handwritten{font-size:1.36rem}.section-heading{gap:30px}.section-heading>p{font-size:.88rem}.moments-grid{gap:18px}.moment{height:285px}.moment p{font-size:.77rem}.enjoy-inner{gap:40px;grid-template-columns:.9fr 1.1fr}.lunch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:35px 28px}.dish-name{flex-wrap:nowrap;align-items:flex-end}.dish-name>div{width:auto}.dish-name h3{font-size:1.12rem}.lunch-drinks{padding:30px;gap:30px;grid-template-columns:1.2fr 1fr}.app-benefit{padding-left:25px}.sweets-grid{gap:24px}.sweet-item h3{font-size:1.1rem}.sweet-item p{font-size:.86rem}.drinks{gap:6%}.drinks-copy h2{font-size:2rem}.drinks-photo .handwritten{font-size:1.65rem}.more-food{padding-top:0}.more-grid{gap:23px}.more-item img{height:160px}.more-item h3{font-size:1.05rem}.community-row{gap:6%}.community-row p:not(.eyebrow){font-size:.88rem}.community-row .text-link{font-size:.85rem}.faq{grid-template-columns:.8fr 1.2fr;gap:6%}.faq h2{font-size:1.8rem}.faq summary{font-size:.89rem;padding-right:27px;gap:12px}.access-grid{gap:6%;grid-template-columns:1fr 1fr}.access-info dl>div{grid-template-columns:70px 1fr;gap:10px;font-size:.83rem}.access-info .button{font-size:.8rem;padding:14px 16px;gap:18px}.access-visual{grid-template-rows:300px 300px}.storefront,.access-visual iframe{height:300px}.footer{flex-wrap:wrap;gap:20px 35px}.footer small{margin-left:0}.back-top{margin-left:auto}}
@media(max-width:700px){html{scroll-padding-top:25px}.header{min-height:82px;padding:7px 5%;gap:8px}.brand{gap:8px}.brand img{width:62px;height:62px}.brand span{font-size:.52rem}.brand strong{font-size:1.1rem}.header-line{font-size:.73rem;padding:9px 12px;min-height:40px;border-radius:5px;gap:0}.header-line>.line-icon{display:none}.menu-toggle{width:40px;padding:9px;margin-left:3px}.mobile-nav{top:82px}.hero{display:flex;flex-direction:column;min-height:0;padding:35px 6% 58px}.hero-copy{padding:0;width:100%;align-self:stretch}.hero .eyebrow{font-size:.6rem;margin-bottom:15px}.hero h1{font-size:clamp(2.5rem,9.4vw,4rem);line-height:1.4;letter-spacing:.02em}.hero h1>span{display:inline}.hero h1>span:first-child{display:block}.hero-description{font-size:.88rem;line-height:1.95;margin-top:18px}.hero-actions{margin-top:21px;gap:23px;flex-wrap:nowrap}.hero-actions .button{min-width:184px;padding:14px 20px;min-height:52px}.hero-actions .text-link{font-size:.85rem}.hero-meta{margin-top:20px;font-size:.76rem;gap:10px 20px}.hero-visual{align-self:stretch;margin:35px 0 25px 0;height:335px}.hero-family{height:302px;width:100%;border-radius:35% 45% 10% 35% / 38% 45% 10% 38%}.hero-family img{object-position:50%}.hero-family figcaption{font-size:.58rem;bottom:17px;right:15%}.hero-food{width:156px;left:2px;bottom:-10px;padding:7px 7px 8px}.hero-food img{height:101px}.hero-food figcaption{font-size:.59rem;padding-top:6px}.aloha-stamp{width:90px;height:90px;right:1%;top:-17px;outline-offset:-6px}.aloha-stamp strong{font-size:1.55rem}.aloha-stamp span{font-size:.47rem}.hero-location{bottom:3px;right:2px;font-size:.54rem}.scroll-cue{bottom:17px;left:6%;font-size:.55rem}.ribbon{padding:12px 0}.ribbon div{font-size:.9rem}.ribbon i{padding:0 30px}.section{padding:67px 6%}.eyebrow{font-size:.66rem;margin-bottom:16px}h2{font-size:clamp(1.75rem,7vw,2.3rem);line-height:1.65;letter-spacing:.025em}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:18px;font-size:.88rem}.section-heading .eyebrow{margin-top:0}.mobile-only{display:inline}.desktop-only{display:none}.about{display:flex;flex-direction:column;gap:45px;padding-top:75px;padding-bottom:73px}.about-pictures{width:100%;padding-bottom:70px;padding-right:20px;min-height:320px}.about-main{height:255px;border-radius:8px 65px 8px 8px}.about-small{width:57%;height:137px;right:0;bottom:17px;border-width:6px}.about-pictures .handwritten{font-size:1.33rem;bottom:0;left:0}.about-copy h2{margin-bottom:20px}.about-copy p:not(.eyebrow){font-size:.94rem}.about-copy .text-link{margin-top:13px}.moments{padding-top:65px}.moments-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.moment{height:248px;border-radius:5px}.moment>div{padding:17px 12px}.moment>div>span{font-size:.52rem;letter-spacing:.1em}.moment h3{font-size:.96rem;line-height:1.6;margin-top:7px;letter-spacing:0}.moment p{font-size:.78rem;line-height:1.8;margin-top:8px}.moment .image-label{font-size:.52rem;padding:3px 5px;top:7px;right:6px}.enjoy-inner{display:block;padding-top:65px;padding-bottom:62px}.enjoy h2{font-size:1.9rem}.enjoy-times{margin-top:30px;gap:18px}.enjoy-times a{padding-bottom:20px}.enjoy-times h3{font-size:1.05rem}.enjoy-times p{font-size:.86rem}.english-heading{font-size:3.5rem;line-height:1.05}.lunch .section-heading{margin-bottom:35px}.lunch-intro{margin-top:28px}.lunch-intro>p{font-size:.91rem;margin-top:17px}.time-pill{font-size:.72rem;padding:6px 16px}.lunch-perks{margin-top:17px;font-size:.85rem;gap:15px}.lunch-perks strong+strong{padding-left:15px}.lunch-grid{gap:25px 16px}.dish-name{display:block;padding:14px 0 10px}.dish-name>div>span{font-size:.51rem;letter-spacing:.02em;display:block}.dish-name h3{font-size:.95rem;line-height:1.5;margin-top:5px}.dish-name>p{text-align:right;margin-top:7px;font-size:.8rem}.dish-name strong{font-size:1.3rem}.menu-photo{border-radius:4px 4px 25px 4px}.note{font-size:.74rem;line-height:1.8}.lunch-drinks{display:block;padding:25px;margin-top:30px}.lunch-drinks h3{font-size:1.1rem}.lunch-drinks p{font-size:.86rem;line-height:2}.app-benefit{border-left:0;border-top:1px solid #bfd2bf;padding:24px 0 0;margin-top:23px}.app-benefit>strong{font-size:1.1rem}.app-benefit .text-link{font-size:.83rem}.sweets-grid{grid-template-columns:1fr;gap:37px}.sweet-photo{aspect-ratio:1.35;margin-bottom:22px;max-width:420px;margin-left:auto;margin-right:auto}.sweet-item h3{font-size:1.23rem;margin-top:7px;margin-bottom:10px}.sweet-item p{font-size:.9rem}.sweet-item .eyebrow{font-size:.63rem}.sweet-photo .image-label{font-size:.62rem}.acai-photo img{top:-111%}.pancake-photo img{top:10%}.drinks{display:flex;flex-direction:column;gap:28px;padding-top:60px;padding-bottom:60px}.drinks-photo{width:100%;padding:0 0 20px}.drinks-photo .handwritten{font-size:1.75rem;margin-top:10px}.drinks-copy h2{font-size:1.95rem;margin-bottom:20px}.drinks-copy>p{font-size:.94rem}.drinks-copy .text-link{font-size:.87rem}.namihana h3{font-size:1.09rem}.more-food{padding-top:15px;padding-bottom:45px}.more-grid{grid-template-columns:1fr;gap:15px}.more-item{display:grid;grid-template-columns:38% 1fr;gap:20px;align-items:start;padding-top:23px}.more-item img{height:158px;width:100%;margin:0;object-position:center}.more-item:first-child img{object-fit:cover}.more-item>div{padding:0 0 26px}.more-item .eyebrow{font-size:.53rem;letter-spacing:.07em;margin-bottom:8px}.more-item h3{font-size:1.05rem;margin-bottom:13px}.more-item p{font-size:.86rem}.more-item small{font-size:.68rem}.values{padding:72px 6%;min-height:0}.values h2{font-size:2rem}.values p:not(.eyebrow){font-size:.91rem;line-height:2}.values .eyebrow{font-size:.66rem}.community-row{display:flex;flex-direction:column;gap:28px;margin-top:35px}.community-row figure{width:100%}.community-row figure img{aspect-ratio:1.45;border-radius:5px 45px 5px 5px}.community-row figcaption{font-size:.64rem}.community-row+.community-row{margin-top:55px}.community-row.reverse figure{order:0}.community-row h3{font-size:1.58rem;margin:17px 0 20px}.community-row p:not(.eyebrow){font-size:.91rem}.community-row .eyebrow{font-size:.65rem;margin-bottom:12px}.community-row .text-link{font-size:.86rem;margin-top:15px}.small-tag{font-size:.72rem;padding:4px 12px}.goods{display:flex;flex-direction:column;gap:34px}.goods-copy p:not(.eyebrow){font-size:.93rem}.goods-copy h2{margin-bottom:20px}.goods-copy .text-link{margin-top:18px}.goods figure img{border-radius:40px 6px 40px 6px}.goods figcaption{font-size:.65rem}.faq{display:block}.faq-intro{position:relative;padding-right:37%;min-height:145px;margin-bottom:33px}.faq-intro h2{font-size:1.8rem;white-space:nowrap}.faq-intro .eyebrow{font-size:.58rem;letter-spacing:.09em}.faq-intro>p:not(.eyebrow){font-size:.84rem;margin-top:14px}.faq-intro>img{position:absolute;right:0;top:8px;width:31%;height:132px;border-radius:30px 5px 5px 5px}.faq summary{font-size:.91rem;padding:21px 28px 21px 0;gap:13px}.faq summary>span{font-size:1.2rem}.faq details>p{font-size:.88rem;padding-left:33px}.access .section-heading{margin-bottom:28px}.section-number{font-size:.64rem;display:block;margin-top:20px}.access-grid{display:flex;flex-direction:column;gap:34px}.access-info h3{font-size:.86rem}.access-info h3>strong{font-size:2rem}.access-info dl{margin-top:21px}.access-info dl>div{grid-template-columns:75px 1fr;gap:20px;font-size:.9rem;padding:13px 0}.access-info dt{font-size:.78rem}.access-info .button{font-size:.88rem;width:100%;min-height:56px}.access-visual{grid-template-rows:285px 280px;gap:16px}.storefront{height:285px}.access-visual iframe{height:280px}.instagram .english-heading{font-size:2.2rem}.instagram .section-heading .text-link{margin-top:17px;font-size:.89rem}.instagram-description{font-size:.86rem;margin:20px 0 25px}.instagram-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.contact{padding:67px 6% 52px;min-height:0}.contact h2{font-size:2.4rem;line-height:1.6}.contact .eyebrow{font-size:.59rem;letter-spacing:.14em}.contact p:not(.eyebrow){font-size:.9rem}.contact-buttons{flex-direction:column;gap:13px;margin:28px 0 20px}.contact-buttons .button{min-width:0;width:100%;font-size:.86rem;min-height:58px;padding:15px 20px;gap:16px}.contact-buttons .sunshine>span{font-size:.9rem}.contact-links{font-size:.8rem;gap:24px}.contact-caption{font-size:.6rem;bottom:10px;right:12px}.footer{display:block;padding:35px 6% calc(95px + env(safe-area-inset-bottom));position:relative}.footer-brand{font-size:1.8rem}.footer-brand span{font-size:.61rem}.footer>p{margin-top:23px;font-size:.73rem}.footer small{display:block;margin-top:25px;font-size:.61rem}.back-top{position:absolute;right:6%;top:38px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:40;display:grid;grid-template-columns:1fr 1fr 1.5fr;background:#fffdf8;border-top:1px solid #bdd4c8;box-shadow:0 -4px 20px #063c4012;padding-bottom:env(safe-area-inset-bottom)}.mobile-cta>a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:61px;font-size:.78rem;font-weight:600;line-height:1.5}.mobile-cta>a+a{border-left:1px solid #d5e3d5}.mobile-cta>a>span:not(.line-icon){font-size:1.1rem}.mobile-cta .mobile-line{background:linear-gradient(120deg,#238746,#07683a);color:#fff}.mobile-cta .line-icon{width:28px;height:23px;font-size:.56rem!important}.will-reveal{transform:translateY(18px)}}
@media(max-width:370px){.brand span{display:none}.header-line{margin-left:auto}.hero h1{font-size:2.4rem}.hero-actions{gap:16px}.hero-actions .button{min-width:165px;padding-left:13px;padding-right:13px}.hero-actions .text-link{font-size:.78rem}.hero-visual{height:305px}.hero-family{height:277px}.hero-meta{font-size:.71rem}.moment{height:250px}.moment h3{font-size:.87rem}.moment p{font-size:.74rem}.dish-name h3{font-size:.84rem}.dish-name>div>span{font-size:.48rem}.more-item{gap:15px;grid-template-columns:34% 1fr}.more-item h3{font-size:.96rem}.faq-intro{padding-right:32%}.faq-intro h2{font-size:1.55rem}.faq-intro>img{width:28%}.contact h2{font-size:2.1rem}.contact-links{font-size:.73rem;gap:20px}.mobile-cta>a{font-size:.71rem;gap:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.will-reveal{opacity:1!important;transform:none!important}.ribbon div{transform:none}}

/* Keep Japanese body copy and practical controls comfortable to read. */
main p:not(.eyebrow):not(.note):not(.hero-meta){font-size:1rem}
.eyebrow,.hero .eyebrow,.sweet-item .eyebrow,.community-row .eyebrow,.more-item .eyebrow,.contact .eyebrow,.values .eyebrow,.faq-intro .eyebrow{font-size:.75rem;letter-spacing:.11em}
.note,figcaption,.image-label,.hero-family figcaption,.hero-food figcaption,.moment .image-label,.sweet-photo .image-label,.community-row figcaption,.goods figcaption,.contact-caption,.dish-name>div>span,.moment>div>span,.section-number,.more-item small,.namihana>span,.hero-location,.scroll-cue,.footer small,.footer-brand span{font-size:.75rem}
.hero-meta,.hero-meta b,.button,.header-line,.text-link,.hero-actions .text-link,.drinks-copy .text-link,.community-row .text-link,.contact-links,.contact-buttons .button,.contact-buttons .sunshine>span,.access-info .button,.mobile-cta>a,.footer>p,.access-info dt{font-size:.875rem}
.brand span{font-size:.75rem;letter-spacing:0}.brand strong{font-size:1.25rem}.aloha-stamp span{font-size:.75rem;letter-spacing:0}.aloha-stamp{width:126px;height:126px}
.line-icon{font-size:.75rem!important;width:36px;height:28px}.mobile-cta .line-icon{font-size:.75rem!important;width:34px;height:26px}
.pancake-photo img{width:205%;left:1%;top:0}
.sweet-photo.acai-photo{aspect-ratio:1.23}.acai-photo img{top:-102%;left:-50%;width:214%}
.moment{height:auto;min-height:330px}.moment h3{font-size:1.15rem}.moment>div>p{font-size:1rem}.moment>div{padding-top:140px}
.sweet-photo:has(img[src="assets/shaved-ice.webp"])>img{transform:scale(1.18);object-position:30% 65%}
.goods figure img{object-position:35% 65%}
@media(max-width:700px){.header-line{font-size:.875rem;white-space:nowrap}.brand span{display:none}.hero .eyebrow{font-size:.75rem;letter-spacing:.06em}.hero-copy h1{font-size:clamp(2.5rem,9.4vw,4rem)}.hero-meta{font-size:.875rem;gap:8px 18px}.hero-meta b{font-size:.75rem}.hero-food{width:173px}.hero-food img{height:110px}.hero-food figcaption{font-size:.75rem}.hero-location{display:none}.aloha-stamp{width:108px;height:108px}.aloha-stamp strong{font-size:1.6rem}.aloha-stamp span{font-size:.65rem}.moment{min-height:300px}.moment>div{padding:133px 12px 20px}.moment h3{font-size:1.03rem}.moment>div>p{font-size:1rem;line-height:1.7}.moment>div>span{font-size:.75rem;letter-spacing:.015em}.moment .image-label{font-size:.75rem;right:5px;left:5px;text-align:center}.dish-name>div>span{font-size:.75rem;overflow-wrap:anywhere;line-height:1.5}.dish-name h3{font-size:1rem}.contact-links{font-size:.875rem;gap:20px}.contact-buttons .button{gap:12px}.faq-intro{padding-right:0}.faq-intro>img{position:static;width:100%;height:165px;margin-top:25px}.faq-intro>p:not(.eyebrow){margin-bottom:0}.faq-intro h2{font-size:1.85rem}.more-grid{gap:23px}.more-item{display:block;padding-top:20px}.more-item>img{height:210px;width:100%;margin-bottom:20px}.more-item>div{padding-bottom:8px}.more-item h3{font-size:1.2rem}.footer>p{font-size:.875rem}.access-info dl>div{font-size:1rem;gap:15px}.mobile-cta>a{font-size:.875rem;gap:6px}.mobile-cta .line-icon{display:none}}
@media(max-width:370px){.hero-actions{flex-wrap:wrap}.hero .eyebrow{font-size:.75rem;letter-spacing:0}.hero-meta{font-size:.875rem}.hero-visual{margin-top:38px}.moments-grid{grid-template-columns:1fr}.moment{min-height:305px}.moment>div{padding:170px 22px 23px}.moment h3{font-size:1.18rem}.moment .image-label{left:auto;right:9px}.contact-links{flex-wrap:wrap;gap:10px 22px}.contact-buttons .button{flex-wrap:wrap;gap:8px}}
