*{box-sizing:border-box}html,body{margin:0;background:#15140f;color:#fff}body{font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}.hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;padding:40px 22px 70px;display:grid;place-items:center}.hero-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-2}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(#0005,#0006 40%,#000a)}.hero-brand{width:100%}.hero-brand-lockup{width:min(620px,100%);margin:auto;text-align:center}.hero-brand h1{width:min(540px,90vw);margin:-75px auto -95px}.hero-brand h1 img{display:block;width:100%;height:auto}.hero-tagline{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(24px,2.5vw,32px);line-height:1.25;font-weight:700;margin:0;text-wrap:balance}.hero-description{font-size:16px;line-height:1.5;margin:4px 0 0;text-wrap:balance}.coming-soon{font-family:'Permanent Marker',cursive;font-size:26px;line-height:1.4;font-weight:400;margin:34px 0 20px}.notify-form{width:min(390px,100%);margin:auto}.notify-bar{display:flex;height:49px;border:1px solid #ffffffa6;border-radius:999px;background:#0003}.notify-bar input{min-width:0;flex:1;width:100%;padding:0 18px;border:0;border-radius:999px 0 0 999px;background:transparent;color:white;font:inherit;font-size:16px}.notify-bar input::placeholder{color:#fffc}.notify-bar button{display:flex;align-items:center;gap:10px;padding:0 18px;border:0;border-left:1px solid #fff6;border-radius:0 999px 999px 0;background:transparent;color:white;font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:600;white-space:nowrap;cursor:pointer}.notify-bar button:hover{background:#fff;color:#15140f}.notify-bar button svg{flex-shrink:0}.notify-bar :focus-visible,.video-toggle:focus-visible{outline:2px solid #fff;outline-offset:4px}.notify-status{margin:10px 0 0;min-height:20px;font-size:12px;line-height:1.5;text-align:center;color:#fffc}.video-toggle{position:absolute;right:24px;bottom:20px;background:transparent;color:#fffd;border:0;font:inherit;font-size:12px;cursor:pointer;padding:10px}@media(max-width:600px){.hero{padding:35px 20px 65px}.hero-brand h1{width:310px;max-width:80vw;margin:-45px auto -55px}.hero-tagline{max-width:none;margin:auto;font-size:clamp(18px,5.1vw,24px)}.hero-description{font-size:clamp(12px,3.25vw,16px);max-width:none;margin:4px auto 0;text-wrap:initial}.coming-soon{font-size:23px;margin:35px 0 18px}.notify-bar button{padding:0 14px;gap:8px}}@media(max-height:600px) and (min-width:601px){.hero-brand h1{width:310px;margin:-45px auto -55px}.hero{padding-top:25px}}

.instagram-link{position:absolute;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));width:48px;height:48px;display:grid;place-items:center;color:white;transition:opacity .2s}.instagram-link:hover{opacity:.65}.instagram-link:focus-visible{outline:2px solid white;outline-offset:3px}.notify-bar button:disabled{opacity:.6;cursor:wait}

.notify-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:23px;line-height:1;flex-shrink:0}

/* Bring the cuisine and chef credit closer to the logo. */
.hero-tagline,.hero-description{position:relative;top:-18px}

/* Vision and story — composition matched to the supplied MSSM reference. */
.vision{background:#fff;color:#666;padding:80px 0 90px;font-family:'Inter',Helvetica,Arial,sans-serif}
.vision-layout{width:80%;max-width:1080px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:5.5%;align-items:stretch}
.vision-portrait{position:relative;min-height:600px;overflow:hidden}
.vision-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top}
.vision-copy h2{margin:0 0 30px;padding:0 0 17px;border-bottom:1px solid #999;font-size:23px;line-height:1.3;letter-spacing:.055em;font-weight:400;text-transform:uppercase;color:#555}
.vision-copy p{margin:0 0 18px;font-size:16px;line-height:1.7;font-weight:400}
.vision-chapter+.vision-chapter{margin-top:50px}
.vision-copy .vision-statement{font-size:22px;line-height:1.4;font-style:italic;margin:30px 0 0;padding-left:26px}
@media(max-width:980px){.vision{padding:48px 0 60px}.vision-layout{width:88%;grid-template-columns:1fr;gap:38px}.vision-portrait{min-height:0}.vision-portrait img{position:static;display:block;height:auto;width:100%;max-height:620px;object-fit:contain}.vision-copy h2{font-size:21px;margin-bottom:23px}.vision-chapter+.vision-chapter{margin-top:36px}.vision-copy .vision-statement{font-size:21px;padding-left:0}}



.vision-illustrations{display:flex;justify-content:center;align-items:center;gap:16px;margin:20px auto 0;width:min(100%,440px)}
.vision-illustrations img{display:block;min-width:0;width:calc((100% - 32px)/3);height:140px;object-fit:contain}
@media(max-width:600px){.vision-illustrations{gap:12px}.vision-illustrations img{width:calc((100% - 24px)/3);height:110px}}

.site-footer{position:relative;isolation:isolate;min-height:380px;display:grid;place-items:center;padding:70px 24px;background:#193653 url('./assets/yori-footer.png') center 57%/cover no-repeat}
.site-footer:before{content:'';position:absolute;inset:0;z-index:-1;background:rgba(6,16,27,.4)}
.footer-nav{display:flex;align-items:center;justify-content:center;gap:70px;padding:20px 38px;background:rgba(8,17,28,.8)}
.footer-nav a{font-family:'Barlow Condensed',sans-serif;font-size:24px;font-weight:700;letter-spacing:.12em;text-decoration:none;color:#fff;padding:10px 0;border-bottom:2px solid transparent}
.footer-nav a:hover{border-bottom-color:#fff}.footer-nav a:focus-visible{outline:2px solid #fff;outline-offset:6px}
@media(max-width:600px){.site-footer{min-height:300px;background-position:center 56%}.footer-nav{gap:46px;padding:14px 28px}.footer-nav a{font-size:22px}}

html{scroll-behavior:smooth}
.footer-content{text-align:center}
.footer-inquiry{margin:16px 0 0;font-size:13px;line-height:1.6;color:#fff;text-shadow:0 1px 5px #000}
.footer-inquiry a{color:inherit;text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Decorative flowers anchored to the logo at every screen size. */
.hero-brand h1{position:relative}
.hero-brand h1::before,.hero-brand h1::after{content:"";position:absolute;display:block;background:center/contain no-repeat;pointer-events:none;width:14%;aspect-ratio:1}
.hero-brand h1::before{background-image:url('./assets/flower-purple.png');left:0;bottom:28%}
.hero-brand h1::after{background-image:url('./assets/flower-orange.png');right:0;top:22%}

.hero-brand h1 > img{filter:drop-shadow(0 3px 7px rgba(0,0,0,.65)) drop-shadow(0 0 15px rgba(0,0,0,.35))}
.hero-brand h1::before,.hero-brand h1::after{animation:flower-wiggle 4.5s ease-in-out infinite;transform-origin:50% 65%}
.hero-brand h1::after{animation-delay:-2.25s;animation-duration:5s}
@keyframes flower-wiggle{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg) translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.hero-brand h1::before,.hero-brand h1::after{animation:none}}

.vision-illustrations img{animation:character-wiggle 4.5s ease-in-out infinite;transform-origin:50% 85%}
.vision-illustrations img:nth-child(2){animation-duration:5s;animation-delay:-1.5s}
.vision-illustrations img:nth-child(3){animation-duration:4.8s;animation-delay:-3s}
@keyframes character-wiggle{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg) translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.vision-illustrations img{animation:none}}

/* Updated hero spacing */
.hero-copy{padding-top:80px}
.hero-tagline,.hero-description{position:relative;top:10px}
