/* Sunny direction (/sunny/): butter yellow, rounded type, sticker shapes. Loaded after styles.css on /sunny/ pages only. */
@font-face{font-family:Fredoka;src:url('/assets/fonts/fredoka-sunny.woff2') format('woff2');font-weight:400 700;font-display:swap}
@font-face{font-family:Nunito;src:url('/assets/fonts/nunito-sunny.woff2') format('woff2');font-weight:200 1000;font-display:swap}

.sunny{--yellow:#ffd54a;--cream:#fff4cf;--ink:#2a1e16;--tomato:#f0643a;--deep:#b8401a;--leaf:#6da35a;--paper:var(--cream);--green:var(--ink);--muted:#6b5443;--sage:#ffe9a6;--line:#e3c77c;--accent:var(--deep);--serif:Fredoka,Nunito,'Arial Rounded MT Bold',sans-serif;--sans:Nunito,'DM Sans',Arial,sans-serif;--h1:clamp(42px,5vw,74px);--h2:clamp(34px,3.6vw,54px);--h3:26px;--header:86px;background:var(--cream);color:var(--ink);font:500 17px/1.6 var(--sans)}
html:has(.sunny){background:var(--cream)}
.sunny ::selection{background:var(--yellow)}
.sunny h1,.sunny h2,.sunny h3{font-family:var(--serif);font-weight:600;letter-spacing:-.005em;line-height:1.08}
.sunny h1 em,.sunny h2 em{font-style:normal;font-weight:600;color:var(--deep)}
.sunny .nw{white-space:nowrap}
.sunny .arrow{margin-left:6px}
.sunny .small{color:var(--muted)}
.sunny figure{margin:0;min-width:0}
.sunny picture img{width:100%;height:100%;object-fit:cover}
.sunny button:focus-visible,.sunny a:focus-visible,.sunny summary:focus-visible{outline:3px solid var(--tomato);outline-offset:4px}

/* Pills, buttons and links */
.sb-pill,.sunny .eyebrow{width:fit-content;justify-self:start;display:inline-flex;align-items:center;gap:8px;padding:6px 15px;border:2px solid var(--ink);border-radius:999px;background:var(--cream);font:800 12px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:0 0 22px}
.sunny .button{gap:10px;min-height:54px;padding:13px 28px;border:2.5px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--cream);font:800 16px/1.2 var(--sans);box-shadow:0 5px 0 var(--tomato);transition:transform .18s cubic-bezier(.3,1.6,.5,1),box-shadow .18s ease}
.sunny .button:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-2px);box-shadow:0 7px 0 var(--tomato)}
.sunny .button:active{transform:translateY(3px);box-shadow:0 2px 0 var(--tomato)}
.sunny .button.compact{min-height:44px;padding:9px 18px;font-size:14px;box-shadow:0 4px 0 var(--tomato)}
.sunny .text-link{font-weight:800;text-decoration-thickness:2.5px;text-underline-offset:6px;text-decoration-color:var(--tomato)}
.sunny .text-link:hover{color:var(--deep)}
.sb-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:30px}

/* Header and navigation */
.sunny .site-header{height:var(--header);background:var(--yellow);backdrop-filter:none}
.sunny .brand{background:#fff;border:2.5px solid var(--ink);border-radius:16px;padding:5px 10px;box-shadow:3px 3px 0 var(--ink);rotate:-2deg}
.sunny .brand-logo{mix-blend-mode:normal;width:96px}
.sunny .site-footer .brand-logo{width:150px}
.sunny .desktop-nav a{font-weight:800;font-size:15px}
.sunny .desktop-nav a:after{height:3px;border-radius:3px;background:var(--tomato);bottom:4px}
.sunny .menu-toggle,.sunny .close-menu{border:2.5px solid var(--ink);border-radius:50%;background:var(--cream)}
.sunny .menu-toggle span{height:2.5px;border-radius:2px}
.sunny .mobile-menu{background:var(--yellow)}
.sunny .mobile-menu::backdrop{background:rgba(42,30,22,.4)}
.sunny .mobile-menu nav>a:not(.button){font:600 32px/1.4 var(--serif)}
.sunny .mobile-menu>p{color:var(--ink)}

/* Wavy section edges: the next section's colour rises into this one */
/* overflow-x:clip (not hidden) keeps rotating stickers inside the page without making a scroll container, so sticky still works */
.sb-main>section{overflow-x:clip}
.sb-wave{position:relative}
.sb-wave::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:clamp(18px,2.4vw,32px);background:var(--next);-webkit-mask:url('/assets/sunny/wave.svg') 0 100%/clamp(160px,18vw,260px) 100% repeat-x;mask:url('/assets/sunny/wave.svg') 0 100%/clamp(160px,18vw,260px) 100% repeat-x;pointer-events:none;z-index:1}
.sb-to-cream{--next:var(--cream)}
.sb-to-yellow{--next:var(--yellow)}

/* Scalloped stickers: an ink scallop with a coloured scallop inside reads as an outlined sticker */
.sb-sun,.sb-price,.sb-badge{position:relative;isolation:isolate;display:grid;place-content:center;aspect-ratio:1;text-align:center;color:var(--ink);margin:0}
.sb-sun::before,.sb-sun::after,.sb-price::before,.sb-price::after,.sb-badge::before,.sb-badge::after{content:'';position:absolute;inset:0;z-index:-1;-webkit-mask:url('/assets/sunny/scallop.svg') center/100% 100% no-repeat;mask:url('/assets/sunny/scallop.svg') center/100% 100% no-repeat;background:var(--ink);transform:rotate(var(--spin,0deg))}
.sb-sun::after,.sb-price::after,.sb-badge::after{background:var(--fill,var(--tomato));transform:rotate(var(--spin,0deg)) scale(.93)}
.sb-sun span,.sb-badge{font:800 clamp(11px,.9vw,13px)/1.2 var(--sans);letter-spacing:.05em;text-transform:uppercase}
.sb-sun strong,.sb-badge strong{display:block;font:600 clamp(20px,2vw,30px)/1.05 var(--serif);letter-spacing:0;text-transform:none;margin-top:4px}

/* 1 · Hero */
.sb-hero{background:var(--yellow);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center;gap:3vw;min-height:min(calc(100svh - var(--header)),860px);padding:clamp(28px,4vw,60px) var(--gutter) clamp(76px,8vw,120px)}
.sb-hero-copy h1{font-size:var(--h1);line-height:1.04}
.sb-loop{position:relative;display:inline-block;white-space:nowrap}
.sb-loop svg{position:absolute;left:-7%;top:-16%;width:114%;height:132%;overflow:visible;pointer-events:none}
.sb-loop path{fill:none;stroke:var(--tomato);stroke-width:6;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:0}
.sb-lede{font-size:clamp(17px,1.35vw,20px);font-weight:600;margin-top:22px!important}
.sb-hero-art{position:relative;width:min(100%,620px);aspect-ratio:1;justify-self:center}
.sb-plate{position:absolute;inset:3% 7% 7% 3%;border-radius:50%;overflow:hidden;border:3px solid var(--ink);background:#fdf4d1;box-shadow:12px 14px 0 rgba(42,30,22,.14)}
.sb-plate picture,.sb-plate img{width:100%;height:100%}
.sb-hero-wrap{position:absolute;right:1%;bottom:2%;width:31%;aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid var(--ink);background:#e8d7bb;box-shadow:5px 6px 0 var(--ink)}
.sb-hero-wrap img{width:100%;height:100%;object-fit:cover;object-position:88% 30%;scale:1.55}
.sb-hero-sun{position:absolute;right:-2%;top:4%;width:28%;rotate:-8deg}
.sb-doodles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}

/* 2 · Favourites: whole transparent trays reveal upward, then rebound once. */
.sb-favs{background:var(--cream);padding:clamp(72px,8vw,120px) var(--gutter) clamp(96px,9vw,140px);overflow-x:clip;text-align:center}
.sb-head{margin:0 auto clamp(40px,5vw,64px)}
.sb-head h2{font-size:var(--h2)}
.sb-head>p:not(.sb-pill){margin-top:14px;color:var(--muted);font-weight:600}
.sb-coins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,64px);max-width:1180px;margin:0 auto}
.sb-fav{--coin:min(100%,380px);position:relative;display:flex;flex-direction:column;align-items:center}
.sb-coin{position:relative;display:block;width:var(--coin);aspect-ratio:4/3;border-radius:0;overflow:visible;background:transparent}
.sb-photo-reveal{display:block;width:100%;height:100%;padding:8px 12px 24px;clip-path:inset(0);overflow:visible}
.sb-coin img{width:100%;height:100%;object-fit:contain;object-position:center;scale:1;filter:drop-shadow(0 11px 8px rgb(57 37 18 / .2));transition:scale .35s ease}
.sb-coin:hover img{scale:1.025}
.sb-fav h3{font-size:clamp(26px,2.2vw,32px);margin-top:8px}
.sb-fav>p:last-child{color:var(--muted);font-size:15px;font-weight:600;margin-top:6px}
.sb-price{position:absolute;top:-2%;left:calc(50% + var(--coin)/2 - 72px);width:clamp(78px,7.4vw,96px);font:600 clamp(18px,1.6vw,22px)/1 var(--serif);rotate:10deg;scale:var(--pop,1)}
.sb-favs-foot{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:clamp(44px,5vw,64px)}
.sb-note{display:inline-flex;align-items:center;gap:10px;padding:9px 20px 9px 10px;border:2px solid var(--ink);border-radius:999px;background:var(--yellow);font-weight:700;font-size:15px;text-align:left}
.sb-note svg{width:30px;height:30px;flex:none}

/* 3 · Let’s box it up: a pinned stage whose parts are moved by sunny.js */
.sb-boxup{--run:150vh;background:var(--yellow)}
.sb-boxup-stage{position:relative;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);align-items:center;gap:4vw;min-height:calc(100svh - var(--header));padding:clamp(24px,3vw,48px) var(--gutter) clamp(48px,5vw,72px);overflow-x:clip}
@media(prefers-reduced-motion:no-preference){
  .sb-boxup{height:calc(100svh - var(--header) + var(--run))}
  .sb-boxup-stage{position:sticky;top:var(--header)}
}
.sb-box-svg{display:block;width:100%;height:auto;max-height:calc(100svh - var(--header) - 96px);overflow:visible}
.sb-rice,.sb-piece,.sb-leaf,.sb-pita-piece{transform-box:fill-box;transform-origin:50% 100%}
.sb-lid,.sb-pops,.sb-steam{transform-box:fill-box;transform-origin:50% 50%}
.sb-drizzle{stroke-dasharray:1 1;stroke-dashoffset:0}
.sb-ink{stroke-dasharray:1 1;stroke-dashoffset:0}
.sb-lid-note{pointer-events:none}
.sb-marker{filter:drop-shadow(1px 2px 1px #24202930)}
.sb-boxup-copy h2{font-size:var(--h2)}
.sb-steps{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:4px}
.sb-steps li{display:flex;align-items:center;gap:14px;padding:7px 20px 7px 7px;border:2px solid transparent;border-radius:999px;transition:background-color .25s ease,border-color .25s ease,translate .25s ease}
.sb-dot{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:2.5px solid var(--ink);background:var(--cream);font:600 19px/1 var(--serif);transition:background-color .25s ease,color .25s ease}
.sb-steps strong{display:block;font:600 21px/1.15 var(--serif)}
.sb-steps small{display:block;font-size:14px;font-weight:600;color:var(--muted)}
.sb-boxup[data-step="1"] li:nth-child(1),.sb-boxup[data-step="2"] li:nth-child(2),.sb-boxup[data-step="3"] li:nth-child(3),.sb-boxup[data-step="4"] li:nth-child(4),.sb-boxup[data-step="5"] li:nth-child(5){background:var(--cream);border-color:var(--ink);translate:6px 0}
.sb-boxup[data-step="1"] li:nth-child(1) .sb-dot,.sb-boxup[data-step="2"] li:nth-child(2) .sb-dot,.sb-boxup[data-step="3"] li:nth-child(3) .sb-dot,.sb-boxup[data-step="4"] li:nth-child(4) .sb-dot,.sb-boxup[data-step="5"] li:nth-child(5) .sb-dot{background:var(--tomato)}
.sb-boxup[data-step="2"] li:nth-child(-n+1) .sb-dot,.sb-boxup[data-step="3"] li:nth-child(-n+2) .sb-dot,.sb-boxup[data-step="4"] li:nth-child(-n+3) .sb-dot,.sb-boxup[data-step="5"] li:nth-child(-n+4) .sb-dot{background:var(--ink);color:var(--cream)}
.sb-boxup-price{margin:22px 0 18px;font-weight:700}
.sb-boxup-price strong{font:600 28px/1 var(--serif);color:var(--deep);margin-left:6px;display:inline-block;transition:scale .3s cubic-bezier(.3,1.8,.5,1)}
.sb-boxup[data-step="5"] .sb-boxup-price strong{scale:1.12}

/* 4 · Crew: catering and community */
.sb-crew{background:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr) minmax(0,.85fr);grid-template-areas:"prep copy team";gap:clamp(24px,3.5vw,56px);align-items:center;padding:clamp(84px,9vw,140px) var(--gutter) clamp(100px,10vw,160px)}
.sb-crew-prep{grid-area:prep}
.sb-crew-prep picture{aspect-ratio:.9;border-radius:44px;overflow:hidden;border:3px solid var(--ink);box-shadow:8px 10px 0 var(--yellow)}
.sb-crew-team{grid-area:team}
.sb-crew-team picture{aspect-ratio:1;border-radius:50%;overflow:hidden;border:3px solid var(--ink);box-shadow:8px 10px 0 var(--yellow)}
.sb-crew-team img{object-position:50% 70%}
.sb-crew figcaption{font-size:11px;font-weight:600;color:var(--muted);margin-top:14px;text-align:center}
.sb-crew-copy{grid-area:copy;text-align:center}
.sb-crew-copy h2{font-size:var(--h2)}
.sb-crew-copy>p:not(.sb-pill){font-size:17px;font-weight:600;margin-top:20px}
.sb-crew .sb-actions{justify-content:center}
.sb-badge{width:clamp(128px,11.5vw,166px);padding:15%;align-self:start;z-index:2;text-transform:none;letter-spacing:0;font-size:13px}
.sb-badge-tomato{grid-area:prep;justify-self:end;translate:22% -32%;rotate:-8deg}
.sb-badge-yellow{grid-area:team;justify-self:start;translate:-18% -28%;rotate:7deg;--fill:var(--yellow)}

/* 5 · Care and heat */
.sb-care{background:var(--yellow);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:6vw;align-items:center;padding:clamp(80px,9vw,130px) var(--gutter) clamp(100px,10vw,150px)}
.sb-care h2{font-size:var(--h2)}
.sb-halal{margin:30px 0 0;background:var(--cream);border:2.5px solid var(--ink);border-radius:28px;padding:6px 26px;box-shadow:6px 7px 0 var(--ink)}
.sb-halal>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 0}
.sb-halal>div:not(:last-child){border-bottom:2px dashed var(--line)}
.sb-halal dt{display:flex;align-items:center;gap:12px;font:600 22px/1.2 var(--serif)}
.sb-halal dt svg{width:36px;height:36px;flex:none}
.sb-halal dd{margin:0;font-weight:800;text-align:right}
.sb-heat h3{font-size:clamp(26px,2.4vw,34px)}
.sb-heat-scale{list-style:none;padding:28px 0 0;margin:0 0 24px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.sb-heat-scale li{display:flex;flex-direction:column;align-items:center;gap:10px;font:800 14px/1.2 var(--sans);translate:0 calc((var(--n) - 2) * (var(--n) - 2) * -7px)}
.sb-chili{display:grid;place-items:center;width:calc(54px + var(--n) * 9px);aspect-ratio:1;border-radius:50%;border:2.5px solid var(--ink);background:color-mix(in srgb,var(--c) 26%,var(--cream));color:var(--c)}
.sb-chili svg{width:64%;height:auto;aspect-ratio:1}
.sb-heat>p{font-size:15px;font-weight:600}

/* 6 · Visit */
.sb-visit{background:var(--cream);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:4vw 6vw;align-items:center;padding:clamp(84px,9vw,130px) var(--gutter) clamp(48px,5vw,72px)}
.sb-visit h2{font-size:var(--h2)}
.sb-visit address{font:600 26px/1.35 var(--serif);font-style:normal;margin-top:22px}
.sb-hours{display:flex;align-items:center;gap:20px;margin-top:24px}
.sb-hours .sb-sun{width:136px;flex:none;rotate:-6deg}
.sb-hours .sb-sun strong{font-size:21px}
.sb-hours>p:last-child{font-size:14px;font-weight:600;color:var(--muted)}
.sb-hours>p:last-child strong{display:block;color:var(--ink);font-size:16px;font-weight:800}
.sb-programs{margin-top:22px;font-size:14px;font-weight:600}
.sb-programs .text-link{font-size:14px;padding:2px 0}
.sunny .sb-visit-map{border:3px solid var(--ink);border-radius:36px;overflow:hidden;background:#e0e6dc;box-shadow:10px 12px 0 var(--yellow)}
.sunny .map-attribution{background:#fff}
.sb-order{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 12px;margin-top:clamp(20px,3vw,40px);padding-top:clamp(30px,4vw,48px);border-top:2px dashed var(--line)}
.sb-order>p{font:800 13px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;margin-right:6px}
.sb-chip{display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border:2px solid var(--ink);border-radius:999px;background:#fff;font-weight:800;font-size:15px;text-decoration:none;transition:translate .18s ease,background-color .18s ease}
.sb-chip:hover{translate:0 -2px;background:var(--yellow)}
.sb-chip-plain{background:transparent;border-style:dashed}
.sb-chip-plain:hover{translate:none;background:transparent}

/* Footer */
.sunny .site-footer{position:relative;background:var(--ink);color:var(--cream);margin-top:-1px}
.sunny .site-footer::before{content:'';position:absolute;left:0;right:0;top:-1px;height:clamp(18px,2.4vw,32px);background:var(--cream);-webkit-mask:url('/assets/sunny/wave.svg') 0 0/clamp(160px,18vw,260px) 100% repeat-x;mask:url('/assets/sunny/wave.svg') 0 0/clamp(160px,18vw,260px) 100% repeat-x;transform:scaleY(-1)}
.sunny .site-footer{padding-top:clamp(84px,8vw,110px)}
.sunny .footer-top .brand+p{font:600 26px/1.2 var(--serif);color:var(--yellow)}
.sunny .site-footer .small,.sunny .footer-bottom{color:rgba(255,244,207,.72)}
.sunny .footer-bottom{border-top:2px dashed rgba(255,244,207,.22)}
.sunny .site-footer .text-link{text-decoration-color:var(--yellow)}

/* Shared pages under /sunny/: menu, catering and our story */
.sunny .page-intro,.sunny .about-hero{position:relative;background:var(--yellow);padding-bottom:clamp(72px,7vw,104px)}
.sunny .page-intro::after,.sunny .about-hero::after,.sunny .process-hero::after,.sunny .catering-plan::after,.sunny .memories::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:clamp(18px,2.4vw,32px);background:var(--cream);-webkit-mask:url('/assets/sunny/wave.svg') 0 100%/clamp(160px,18vw,260px) 100% repeat-x;mask:url('/assets/sunny/wave.svg') 0 100%/clamp(160px,18vw,260px) 100% repeat-x;pointer-events:none}
.sunny .page-intro h1,.sunny .about-hero h1{font-size:var(--h1)}
.sunny .page-intro p:not(.eyebrow),.sunny .about-hero>p:not(.eyebrow){font-weight:600}
.sunny .menu-photo-band{margin:28px var(--gutter) 0;border:3px solid var(--ink);border-radius:40px;overflow:hidden;box-shadow:8px 10px 0 var(--yellow)}
.sunny .menu-filters{gap:8px}
.sunny .menu-filters button{border:2px solid var(--ink);border-radius:999px;background:#fff;font-weight:800;min-height:46px}
.sunny .menu-filters button:hover{border-color:var(--ink);background:var(--cream)}
.sunny .menu-filters button[aria-pressed=true]{background:var(--yellow);border-color:var(--ink);box-shadow:0 3px 0 var(--ink)}
.sunny .menu-category h2{font-size:clamp(32px,3vw,44px)}
.sunny .menu-category .eyebrow{font-size:11px}
.sunny .menu-row:not(:last-child){border-bottom:2px dashed var(--line)}
.sunny .menu-row h3{font-size:24px}
.sunny .price{font:600 20px/1.2 var(--serif)}
.sunny .menu-tag{display:inline-block;margin-top:6px;padding:2px 10px;border-radius:999px;background:var(--sage);color:var(--ink);font-weight:700}
.sunny .ramen-photo img{border-radius:32px;border:3px solid var(--ink)}
.sunny .ramen-extras,.sunny .menu-disclaimer{border-top:2px dashed var(--line)}
.sunny .halal-note{background:var(--yellow);border:2px solid var(--ink);border-radius:24px;padding:16px 22px}
.sunny .spice i{width:22px;height:22px;border:2px solid var(--ink)}
.sunny .spice h3{font-size:28px}
.sunny .delivery{background:var(--yellow);border:0;padding-top:30px;padding-bottom:30px}
.sunny .delivery>span{color:var(--ink);font-weight:700}
.sunny .small-cta{background:var(--cream)}
.sunny .process-hero{position:relative;background:var(--yellow);padding:clamp(20px,3vw,44px) 0 clamp(40px,4vw,64px) var(--gutter)}
.sunny .process-photo picture{border:3px solid var(--ink);border-radius:44px;overflow:hidden;min-height:520px;box-shadow:10px 12px 0 rgba(42,30,22,.14)}
.sunny .process-photo figcaption{left:18px;bottom:18px;border-radius:999px;padding:5px 12px;background:var(--cream);color:var(--ink)}
.sunny .inner-hero h1{font-size:clamp(40px,4.2vw,62px)}
.sunny .proof-grid>div{background:#fff;border:2.5px solid var(--ink);border-radius:28px;padding:26px;box-shadow:6px 7px 0 var(--yellow)}
.sunny .proof-number{font:600 32px/1.15 var(--serif);color:var(--deep)}
.sunny .proof-grid h3{font:800 16px/1.4 var(--sans)}
.sunny .catering-gallery-grid picture{border:3px solid var(--ink);border-radius:40px;overflow:hidden}
.sunny .catering-plan{position:relative;background:var(--yellow)}
.sunny .planning-list>li:not(:last-child){border-bottom:2px dashed var(--ink)}
.sunny .planning-list>li>span{flex:none;display:grid;place-items:center;width:42px;height:42px;margin-top:0;border-radius:50%;border:2.5px solid var(--ink);background:var(--cream);color:var(--ink);font:600 16px/1 var(--serif)}
.sunny .planning-list p,.sunny .catering-plan>div>p:not(.eyebrow){color:var(--ink)}
.sunny .owner-quote{background:var(--cream)}
.sunny .owner-quote blockquote{font:500 clamp(30px,3.6vw,50px)/1.2 var(--serif);font-style:normal}
.sunny .contact-option:not(:last-child){border-bottom:2px dashed var(--line)}
.sunny .contact-option strong{font:600 clamp(22px,6.4vw,32px)/1.2 var(--serif)}
.sunny .faq{background:var(--cream)}
.sunny .faq details:not(:last-child){border-bottom:2px dashed var(--line)}
.sunny .faq summary{font-weight:800}
.sunny .faq summary:after{display:grid;place-items:center;width:28px;height:28px;top:-3px;right:0;border:2px solid var(--ink);border-radius:50%;font-size:18px;line-height:1}
.sunny .about-photo{margin:28px var(--gutter) 0;border:3px solid var(--ink);border-radius:44px;box-shadow:8px 10px 0 var(--yellow)}
.sunny .story-body .lead{font:500 28px/1.3 var(--serif)}
.sunny .memories{position:relative;background:var(--yellow)}
.sunny .memory-grid article{background:var(--cream);border:2.5px solid var(--ink);border-top:2.5px solid var(--ink);border-radius:28px;padding:30px;box-shadow:6px 7px 0 var(--ink)}
.sunny .memory-label{font-weight:800}
.sunny .return-note h2{font-style:normal}
.sunny .independent{background:var(--cream)}

/* Tablet and phone */
@media(max-width:1100px){
  .sb-crew{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"copy copy" "prep team";row-gap:56px}
  .sb-crew-copy{max-width:640px;justify-self:center}
}
@media(max-width:879px){
  .sunny{--header:78px}
  .sb-hero{grid-template-columns:minmax(0,1fr);gap:28px;min-height:0;padding-top:36px;text-align:center}
  .sb-hero .sb-actions{justify-content:center}
  .sb-hero-art{width:min(84vw,520px)}
  .sb-coins{gap:18px}
  .sb-boxup{--run:120vh}
  .sb-boxup-stage{grid-template-columns:minmax(0,1fr);align-content:center;gap:8px;padding-top:14px;padding-bottom:28px}
  .sb-box-svg{max-height:max(160px,calc(100svh - var(--header) - 535px));margin:0 auto}
  .sb-boxup-copy h2{font-size:34px}
  .sb-boxup-copy .sb-pill{margin-bottom:12px}
  .sb-steps{margin-top:14px;gap:2px}
  .sb-steps li{padding:4px 16px 4px 4px}
  .sb-dot{width:36px;height:36px;font-size:16px}
  .sb-steps strong{font-size:18px}
  .sb-steps small{font-size:13px}
  .sb-boxup-price{margin:14px 0 14px}
  .sb-care,.sb-visit{grid-template-columns:minmax(0,1fr);gap:48px}
  .sunny .process-hero{padding:0}
  .sunny .process-photo{padding:0 var(--gutter)}
  .sunny .process-photo picture{min-height:0}
}
@media(max-width:640px){
  .sunny{--header:72px}
  .sunny .brand-logo{width:82px}
  .sunny .brand{padding:4px 8px;border-radius:13px}
  .sunny .header-actions .button.compact{min-height:42px;padding:8px 13px;font-size:12px;box-shadow:0 3px 0 var(--tomato)}
  .sb-pill,.sunny .eyebrow{font-size:11px;padding:5px 12px}
  .sb-hero-copy h1{font-size:40px}
  .sb-lede{font-size:16px}
  .sb-coins{grid-template-columns:minmax(0,1fr);gap:44px}
  .sb-fav{--coin:min(100%,380px)}
  .sb-crew{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "prep" "team";row-gap:64px}
  .sb-crew-team{width:min(80vw,320px);justify-self:center}
  .sb-badge-tomato{translate:-8% -38%}
  .sb-badge-yellow{translate:-26% -24%}
  .sb-heat-scale li{font-size:12px}
  .sb-chili{width:calc(44px + var(--n) * 6px)}
  .sb-halal{padding:4px 18px}
  .sb-halal>div{grid-template-columns:1fr;gap:4px}
  .sb-halal dd{text-align:left;padding-left:48px}
  .sb-hours{gap:14px}
  .sb-hours .sb-sun{width:118px}
  .sb-order{justify-content:flex-start}
  .sb-order>p{width:100%}
  .sunny .menu-photo-band,.sunny .about-photo{border-radius:28px}
  .sunny .process-photo picture{height:320px;border-radius:32px}
}
@media(max-width:640px) and (max-height:760px){
  .sb-boxup{height:auto}
  .sb-boxup-stage{position:relative;top:auto;min-height:0;padding-top:24px}
  .sb-box-svg{max-height:260px}
  .sb-steps small{display:block}
}
@media(max-width:420px){
  .sb-lede br{display:none}
  .sb-hours{flex-direction:column;align-items:flex-start}
}
@media(max-width:340px){
  .sunny .brand-logo{width:70px}
  .sunny .brand{padding:3px 6px}
  .sunny .header-actions .button.compact{white-space:nowrap;padding:8px 10px;font-size:11px}
  .sb-hero-copy h1{font-size:35px}
  .sb-loop{white-space:normal}
  .sb-heat-scale{gap:2px}
  .sb-chili{width:calc(38px + var(--n) * 5px)}
  .sb-heat-scale li{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .sunny .button,.sb-steps li,.sb-dot,.sb-chip,.sb-coin img{transition:none}
}
.sunny .sb-hero-wrap .owner-photo{width:100%;height:100%}.sunny .sb-hero-wrap .owner-photo img{object-position:50% 50%;scale:1}.sunny .sb-coin .owner-photo{width:100%;height:100%}.sunny .sb-coin .owner-photo img{object-position:50% 50%;scale:1}.sunny .sb-coin:hover .owner-photo img{scale:1.04}.sunny .owner-location-photo,.sunny .menu-owner-photo{border-radius:24px;border:2px solid var(--ink)}
.sunny .sb-badge{height:clamp(128px,11.5vw,166px);padding:12px;font-size:12px}.sunny .sb-badge strong{font-size:clamp(18px,1.7vw,24px);white-space:nowrap}
@media(max-width:640px){.sunny .sb-badge-yellow{translate:2% -24%}}
/* Selected combination: Sunny through the rice-box scene, then the quieter Friendly story. */
.sunny-home .sb-to-community{--next:#edaf55}
.sunny .sunny-details{--paper:#fff8eb;--ink:#38271d;--green:#efa33b;--muted:#745d4d;--sage:#f6e7d2;--line:#ddc8ad;--accent:#ad4b12;--serif:Nunito,'DM Sans',Arial,sans-serif;--h2:clamp(34px,3.5vw,52px);background:var(--paper);color:var(--ink);font:400 16px/1.7 var(--sans)}
.sunny .sunny-details h2,.sunny .sunny-details h3{font-family:var(--serif);font-weight:850;letter-spacing:-.035em;line-height:1.12}
.sunny .sunny-details .eyebrow{display:block;width:auto;padding:0;border:0;border-radius:0;background:none;color:#95501f;font:700 11px/1.5 var(--sans);letter-spacing:.13em;margin:0 0 22px}
.sunny .sunny-details .friendly-community .eyebrow{color:#5c391c}
.sunny .sunny-details .button{min-height:52px;padding:14px 28px;border:0;border-radius:40px;background:#f0a13b;color:#38271d;font:700 16px/1.3 var(--sans);box-shadow:none}
.sunny .sunny-details .button:hover{background:#f6b55d;transform:translateY(-2px);box-shadow:none}
.sunny .sunny-details .text-link{font-weight:500;text-decoration-color:#b66726;text-decoration-thickness:1px;text-underline-offset:6px}
.sunny .sunny-details .map-panel{border:0;border-radius:20px;background:#e0e6dc;box-shadow:none}
.sunny .sunny-details .map-caption{background:#fff3e0}
.sunny .sunny-details .delivery{background:#f1d5b5;border-bottom:1px solid #d9b993}
.sunny .sunny-details .delivery>span{color:var(--muted);font-weight:400}
.sunny .sunny-details .delivery>span:first-child{color:var(--ink);font-weight:700}
.sunny-home .site-footer{background:#f1d5b5;color:#38271d}
.sunny-home .footer-top .brand+p{font:800 23px/1.2 Nunito,sans-serif;color:#38271d}
.sunny-home .site-footer .small,.sunny-home .footer-bottom{color:#745d4d}
.sunny-home .footer-bottom{border-top:1px solid #d9b993}
.sunny-home .site-footer .text-link{text-decoration-color:#b66726}
@media(max-width:879px){.sunny .sunny-details{--h2:44px}}
@media(max-width:640px){.sunny .sunny-details{--h2:36px}.sunny .sunny-details .eyebrow{font-size:10px;margin-bottom:18px}.sunny .sunny-details .button{padding:14px 24px}}
@media(max-width:340px){.sunny .sunny-details .button{padding:14px 20px;font-size:15px}}

/* Owner-material refinement, 2026-10-02: keep the Sunny composition and box scene,
   with the charcoal, orange and warm paper of the restaurant's own materials. */
.sunny{--yellow:#f6ca66;--cream:#fff8eb;--ink:#29231f;--tomato:#ef790b;--deep:#a64712;--leaf:#5e7046;--muted:#716052;--line:#dfcfb9;--sage:#f4ead8;--serif:'DM Sans',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif;--h1:clamp(42px,4.8vw,70px);font-weight:400}
.sunny h1,.sunny h2,.sunny h3{font-weight:700;letter-spacing:-.035em;line-height:1.1}
.sunny h1 em,.sunny h2 em{font-weight:700}
.sunny .sb-pill,.sunny .eyebrow{padding:0;border:0;border-radius:0;background:none;font-weight:700;font-size:11px;letter-spacing:.12em}
.sunny .button,.sunny .button.compact,.sunny .sunny-details .button{background:var(--tomato);color:var(--ink);border:1px solid transparent;border-radius:10px;box-shadow:none;font-weight:700;transition:background-color .18s ease,transform .18s ease}
.sunny .button:hover,.sunny .sunny-details .button:hover{background:#f18c2e;border-color:transparent;box-shadow:none;transform:translateY(-1px)}
.sunny .button:active{transform:translateY(0);box-shadow:none}
.sunny .text-link{font-weight:500;text-decoration-thickness:1px}
.sunny .brand{background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;rotate:0deg}
.sunny .brand-logo{width:108px;mix-blend-mode:multiply}
.sunny .desktop-nav a{font-weight:500}
.sunny .desktop-nav a:after{height:2px}
.sunny .menu-toggle,.sunny .close-menu{border:1px solid var(--ink);border-radius:8px;background:transparent}
.sunny .mobile-menu nav>a:not(.button){font-weight:700}
.sunny .sb-wave::after{height:12px;mask-size:500px 100%;-webkit-mask-size:500px 100%}
.sunny .sb-hero-copy h1{line-height:1.06}
.sunny .sb-loop path{stroke-width:3;opacity:.8}
.sunny .sb-lede,.sunny .sb-head>p:not(.sb-pill),.sunny .sb-fav>p:last-child{font-weight:400}
.sunny .sb-plate{border:0;box-shadow:none}
.sunny .sb-hero-wrap{border:4px solid var(--yellow);box-shadow:none}
.sunny .sb-doodles{display:none}
.sunny .sb-defs{position:absolute;display:block;width:0;height:0;overflow:hidden}
.sunny .sb-hero-sun{right:0;top:7%;width:auto;min-width:126px;aspect-ratio:auto;padding:15px 18px;rotate:0deg;background:var(--cream);border:1px solid #e2b151;border-radius:10px}
.sunny .sb-hero-sun::before,.sunny .sb-hero-sun::after,.sunny .sb-price::before,.sunny .sb-price::after{display:none}
.sunny .sb-hero-sun span{font-weight:500;font-size:10px;letter-spacing:.06em}
.sunny .sb-hero-sun strong{font:700 20px/1.2 var(--sans);margin-top:5px;white-space:nowrap}
.sunny .sb-fav::before{display:none}
.sunny .sb-coin{border:0;background:transparent}
.sunny .sb-price{position:static;aspect-ratio:auto;width:auto;margin-top:7px;padding:0;rotate:0deg;scale:1;font:700 19px/1.4 var(--sans);color:var(--deep);font-variant-numeric:tabular-nums}
.sunny .sb-note{background:#f2ead9;border:0;border-radius:8px;font-weight:400;padding:14px 18px}
.sunny .sb-steps li{border-radius:10px;border-width:1px}
.sunny .sb-dot{border-width:1px;font-weight:700}
.sunny .sb-steps strong{font-weight:700;font-size:20px}
.sunny .sb-steps small{font-weight:400}
.sunny .sb-boxup[data-step] li{translate:0 0}
.sunny .sb-boxup-price strong{font-weight:700}
.sunny .sb-boxup[data-step="5"] .sb-boxup-price strong{scale:1}
.sunny .sb-pops{display:none}
.sunny .sunny-details{--ink:#29231f;--serif:'DM Sans',Arial,sans-serif;--sans:'DM Sans',Arial,sans-serif}
.sunny .sunny-details h2,.sunny .sunny-details h3{font-weight:700;letter-spacing:-.035em}
.sunny .sunny-details .friendly-community{background:#efbb67}
.sunny-home .sb-to-community{--next:#efbb67}
.sunny .sunny-details .friendly-catering picture,.sunny .sunny-details .friendly-care picture,.sunny .sunny-details .friendly-community picture,.sunny .sunny-details .map-panel{border-radius:12px}
.sunny .menu-photo-band,.sunny .about-photo,.sunny .process-photo picture,.sunny .catering-gallery-grid picture,.sunny .ramen-photo img,.sunny .owner-location-photo,.sunny .menu-owner-photo{border:0;border-radius:12px;box-shadow:none}
.sunny .proof-grid>div,.sunny .memory-grid article{border:1px solid var(--line);border-radius:12px;box-shadow:none}
.sunny .menu-filters button{border-width:1px;border-color:var(--line);border-radius:8px;font-weight:500}
.sunny .menu-filters button[aria-pressed=true]{background:var(--ink);color:var(--cream);border-color:var(--ink);box-shadow:none}
.sunny .menu-filters button:hover{border-color:var(--ink)}
.sunny .menu-row:not(:last-child),.sunny .planning-list>li:not(:last-child),.sunny .contact-option:not(:last-child),.sunny .faq details:not(:last-child){border-bottom-width:1px;border-bottom-style:solid}
.sunny .ramen-extras,.sunny .menu-disclaimer{border-top-width:1px;border-top-style:solid}
.sunny .halal-note{background:#f2ead9;border:0;border-radius:8px}
.sunny .planning-list>li>span,.sunny .faq summary:after{border-width:1px;border-radius:8px}
.sunny .page-intro::after,.sunny .about-hero::after,.sunny .process-hero::after,.sunny .catering-plan::after,.sunny .memories::after,.sunny .site-footer::before{display:none}
.sunny .site-footer{background:#f1d5b5;color:var(--ink)}
.sunny .site-footer .small,.sunny .footer-bottom{color:var(--muted)}
.sunny .footer-bottom{border-top:1px solid #d9b993}
.sunny .footer-top .brand+p{font:700 23px/1.2 var(--sans);color:var(--ink)}
@media(max-width:640px){
  .sunny .brand-logo{width:92px}.sunny .brand{padding:0;border-radius:0}
  .sunny .header-actions .button.compact{box-shadow:none}
  .sunny .sb-hero-copy h1{font-size:40px}
  .sunny .sb-hero-sun{min-width:105px;padding:12px 14px}.sunny .sb-hero-sun strong{font-size:18px}
  .sunny .sunny-details .button{padding:14px 24px}
}
@media(max-width:340px){.sunny .brand-logo{width:78px}.sunny .sb-hero-copy h1{font-size:34px}.sunny .sb-hero-sun{min-width:96px;padding:10px 12px}.sunny .sb-hero-sun strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.sunny .button{transition:none}}

/* Transparent original-brand cleanup; the photo story keeps its own quiet treatment. */
.sunny .brand-logo{mix-blend-mode:normal}
.sunny .owner-story{background:#f0c57f}
.sunny .owner-story-about{background:#f5ead8}
.sunny .owner-story h1,.sunny .owner-story h2{font-family:'DM Sans',Arial,sans-serif;font-weight:700}

/* Korean ramen: a staff-meal story below the rice-box assembly. */
.sb-ramen{background:var(--cream);padding:clamp(64px,7vw,104px) var(--gutter) clamp(80px,8vw,120px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-areas:"copy gallery" "menu gallery";gap:28px clamp(32px,5.5vw,88px);align-items:start;scroll-margin-top:calc(var(--header) + 20px)}
.sb-ramen-copy{grid-area:copy}
.sb-ramen-copy h2{font-size:var(--h2)}
.sb-ramen-copy>p:last-child{margin:24px 0 0;font-size:17px;line-height:1.7;color:var(--muted)}
.sb-ramen-gallery{grid-area:gallery;align-self:center;min-width:0}
.sb-ramen-gallery picture{display:block;overflow:hidden;border-radius:20px}
.sb-ramen-main picture{aspect-ratio:1.3}
.sb-ramen-main img{object-position:50% 52%}
.sb-ramen-gallery figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:13px;font-weight:700;line-height:1.5}
.sb-ramen-gallery figcaption span{font-weight:400;color:var(--muted)}
.sb-ramen-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:26px}
.sb-ramen-pair picture{aspect-ratio:1.55;border-radius:14px}
.sb-ramen-pair img{object-position:50% 45%}
.sb-ramen-menu{grid-area:menu;min-width:0}
.sb-ramen-menu dl{margin:0}
.sb-ramen-menu dl>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:14px 0}
.sb-ramen-menu dl>div:not(:last-child){border-bottom:1px solid var(--line)}
.sb-ramen-menu dt{font-size:21px;font-weight:700;line-height:1.35}
.sb-ramen-menu dt small{display:block;margin-top:4px;font-size:13px;font-weight:400;color:var(--muted)}
.sb-ramen-menu dd{margin:0;font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}
.sb-ramen-service{font-size:14px;font-weight:700;color:var(--deep);margin:20px 0 0}
.sb-ramen .sb-actions{gap:18px 24px;margin-top:20px}
@media(max-width:879px){
 .sb-ramen{grid-template-columns:minmax(0,1fr);grid-template-areas:"copy" "gallery" "menu";gap:36px}
 .sb-ramen-copy h2{font-size:44px}
 .sb-ramen-copy h2 br{display:none}
 .sb-ramen-copy>p:last-child{font-size:18px}
 .sb-ramen-main picture{aspect-ratio:1.5}
 .sb-ramen-menu dt{font-size:23px}
}
@media(max-width:640px){
 .sb-ramen{padding:60px 16px 76px;gap:28px}
 .sb-ramen-copy h2{font-size:36px}
 .sb-ramen-copy>p:last-child{font-size:16px;margin-top:20px}
 .sb-ramen-main picture{aspect-ratio:1.2;border-radius:16px}
 .sb-ramen-pair{gap:12px;margin-top:20px}
 .sb-ramen-pair picture{aspect-ratio:1.15;border-radius:10px}
 .sb-ramen-menu dt{font-size:21px}
 .sb-ramen-gallery figcaption{font-size:12px}
}

/* Match the wave edges to the revised section order. */
.sunny-home .sb-to-owner{--next:#edaf55}
.sunny-home .sb-to-visit{--next:#f1d5b5}
