:root{--cream:#fbf7ed;--butter:#f6edbc;--red:#bd3528;--ink:#352e25;--line:#cfc4a3;--serif:Georgia,'Times New Roman',serif;--body:Pretendard,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.7;word-break:keep-all}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}h1,h2,h3,p,figure{margin:0}button[hidden],.menu-card[hidden]{display:none}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip:focus{position:fixed;top:10px;left:10px;z-index:100;background:var(--red);color:white;padding:15px}.demo-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:9px 4%;background:var(--ink);color:#fff9e9;font-size:18px;line-height:1.5}.demo-strip a{border-bottom:1px solid #fff9e966}.header{display:flex;align-items:center;justify-content:space-between;padding:23px 4%;background:var(--butter);border-bottom:1px solid #bd35282b}.wordmark{font-family:var(--serif);font-size:58px;font-weight:bold;letter-spacing:-5px;line-height:1;color:var(--red);display:inline-flex;align-items:center;gap:9px}.wordmark span{font-family:var(--body);letter-spacing:-2px;font-size:44px}.nav{display:flex;align-items:center;gap:42px;font-size:18px;font-weight:600}.nav a{border-bottom:1px solid transparent}.nav a:hover{border-bottom-color:currentColor}.nav-feature{background:var(--red);color:var(--cream);border-radius:100px;padding:11px 23px;display:flex;gap:30px}.nav-toggle{display:none}.hero{background:var(--butter);padding:27px 4% 44px;overflow:hidden}.hero-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:37px;color:var(--red);font-size:18px}.hero-top p{font-weight:600;letter-spacing:.02em}.hero h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(72px,8.8vw,158px);letter-spacing:-.075em;line-height:.96;font-weight:900;color:var(--red);position:relative;padding-bottom:38px}.hero h1>span:not(.hero-star){font-family:var(--serif);font-style:italic;font-weight:normal;letter-spacing:-.09em}.hero-star{position:absolute;right:0;top:8px;font-size:clamp(112px,15vw,235px);line-height:.8;font-family:var(--body);font-weight:400}.hero-photo{position:relative;height:clamp(410px,49vw,720px);overflow:hidden}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.hero-sticker{position:absolute;right:6%;top:36px;width:200px;height:200px;border-radius:100%;background:var(--red);color:var(--butter);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center;transform:rotate(9deg);font-size:18px;line-height:1.3}.hero-sticker strong{font-size:29px;line-height:1.25;letter-spacing:-.04em}.hero-sticker>span:last-child{font-size:42px;line-height:1}.hero-scroll{position:absolute;bottom:28px;left:28px;background:var(--cream);padding:13px 21px;border-radius:100px;display:flex;gap:40px;align-items:center}.hero-scroll span{font-size:28px;line-height:1}.hero-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:27px;gap:40px}.hero-bottom p{font-size:21px;line-height:1.7}.hero-mini{font-weight:800;color:var(--red);font-size:23px;line-height:1.1;text-align:right;letter-spacing:-.05em}.section{padding:110px 5%}.section-top{display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid var(--line);padding-bottom:22px}.eyebrow{font-size:18px;font-weight:650;letter-spacing:.06em;color:var(--red)}.small-note{font-size:18px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin:48px 0}.section-heading h2,.story h2,.visit h2{font-size:clamp(42px,5.2vw,78px);line-height:1.17;letter-spacing:-.06em;font-weight:650}.section-heading h2 span,.story h2 span,.visit h2 span{color:var(--red)}.section-heading p{font-size:21px;line-height:1.8;padding-bottom:7px}.menu-controls{display:flex;gap:12px;margin-bottom:36px;flex-wrap:wrap}.filter{background:transparent;border:1px solid var(--line);border-radius:100px;padding:10px 21px;display:flex;gap:24px;align-items:center;font-size:18px}.filter span{font-size:18px}.filter.active,.filter:hover{color:var(--cream);background:var(--red);border-color:var(--red)}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px 25px}.menu-card{border:0;text-align:left;background:transparent;padding:0;width:100%;display:block}.menu-photo{position:relative;display:block;aspect-ratio:1;overflow:hidden;background:#eaddb8}.menu-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s;transform:scale(1.45)}.menu-card:hover .menu-photo img{transform:scale(1.52)}.crop-latte img{object-position:80% 52%;transform:scale(1.75)}.menu-card:hover .crop-latte img{transform:scale(1.82)}.crop-croissant img{object-position:28% 60%;transform:scale(1.8)}.menu-card:hover .crop-croissant img{transform:scale(1.87)}.crop-orange img{object-position:90% 25%;transform:scale(1.8)}.menu-card:hover .crop-orange img{transform:scale(1.87)}.crop-flatwhite img{object-position:80% 51%;transform:scale(2.15)}.menu-card:hover .crop-flatwhite img{transform:scale(2.22)}.crop-toast img{object-position:12% 55%;transform:scale(1.9)}.menu-card:hover .crop-toast img{transform:scale(1.97)}.crop-morning img{object-position:90% 16%;transform:scale(2)}.menu-card:hover .crop-morning img{transform:scale(2.07)}.item-label{position:absolute;top:16px;left:16px;font-size:18px;background:var(--cream);padding:4px 12px;line-height:1.4;color:var(--red)}.menu-card-text{display:flex;justify-content:space-between;align-items:center;padding:19px 0 0;gap:12px}.menu-card-text>span:first-child{display:flex;flex-direction:column;gap:3px}.menu-card-text strong{font-size:25px;font-weight:650;letter-spacing:-.04em}.menu-card-text span span{font-size:18px;color:#6e6253}.circle-arrow{border:1px solid var(--line);border-radius:50%;width:46px;height:46px;display:flex;justify-content:center;align-items:center;font-size:25px;flex-shrink:0}.menu-card:hover .circle-arrow{background:var(--red);border-color:var(--red);color:var(--cream)}.menu-note{font-size:18px;margin-top:37px;color:#6e6253}.story{display:grid;grid-template-columns:1fr 1fr;gap:10%;background:#eeddb2;position:relative}.story h2{margin:26px 0 0;font-size:clamp(38px,4vw,63px)}.story-right{padding-top:56px}.story-right p{max-width:560px;font-size:21px;line-height:1.9;margin-bottom:27px}.story-right .story-lead{font-size:30px;font-weight:600;line-height:1.6;letter-spacing:-.04em;margin-bottom:28px}.text-link{display:inline-flex;gap:45px;border-bottom:1px solid var(--ink);padding-bottom:7px;margin-top:6px;font-size:19px}.story-smile{margin:45px 0 0;width:133px;height:133px;position:relative;border:4px solid var(--red);border-radius:50%;transform:rotate(-12deg)}.story-smile>span{position:absolute;width:9px;height:17px;left:35px;top:31px;background:var(--red);border-radius:5px}.story-smile>span:nth-child(2){left:78px}.story-smile i{position:absolute;left:29px;top:44px;width:69px;height:48px;border-bottom:4px solid var(--red);border-radius:0 0 70px 70px}.story-hand{font-family:var(--serif);font-size:31px;font-style:italic;color:var(--red);position:absolute;left:22%;bottom:70px;transform:rotate(-10deg);line-height:1.15}.season{display:grid;grid-template-columns:1.1fr 1fr;background:var(--red);color:var(--butter)}.season-visual{min-height:610px;position:relative;overflow:hidden}.season-visual>img{width:100%;height:100%;object-fit:cover;object-position:30% center}.season-badge{position:absolute;left:28px;top:32px;background:var(--butter);color:var(--red);padding:22px 32px;transform:rotate(-7deg);font-size:25px;line-height:1.05;font-weight:800;letter-spacing:-.02em}.season-badge span{font-size:52px;position:absolute;right:-34px;bottom:-38px}.season-copy{padding:75px 13%}.season-copy .eyebrow{color:var(--butter)}.season h2{font-size:clamp(49px,5.5vw,80px);font-weight:650;letter-spacing:-.07em;line-height:1.1;margin:25px 0 31px}.season p{font-size:21px;line-height:1.7;margin-bottom:16px}.round-link{border:1px solid var(--butter);background:transparent;color:var(--butter);padding:13px 22px;display:flex;gap:29px;align-items:center;border-radius:100px;font-size:18px;margin-top:35px}.round-link:hover{background:var(--butter);color:var(--red)}.space-gallery{display:grid;grid-template-columns:1.55fr 1fr;gap:35px;align-items:start}.space-gallery figure img{width:100%;height:auto;object-fit:cover}.space-detail{padding-top:140px}.space-detail img{aspect-ratio:4/5;object-fit:cover!important;object-position:84% center}.space-gallery figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:20px;font-size:18px}.space-gallery figcaption span:last-child{color:#716654}.visit{background:#ede9df;display:grid;grid-template-columns:1fr 1.3fr;gap:9%}.visit h2{margin:28px 0 22px}.visit-head>p{font-size:21px}.visit-contact{display:inline-flex;gap:28px;background:var(--red);color:var(--cream);border-radius:100px;padding:15px 24px;font-size:18px;margin-top:32px}.demo-notice{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;gap:24px;padding:31px 0}.demo-notice>span{font-size:51px;color:var(--red);line-height:1}.demo-notice h3{font-size:23px;font-weight:600;line-height:1.5;letter-spacing:-.04em;margin-bottom:12px}.demo-notice p{font-size:18px;color:#6e6253;line-height:1.8}.faq{margin-top:16px}.faq details{border-bottom:1px solid var(--line);padding:23px 0}.faq summary{list-style:none;cursor:pointer;font-size:20px;font-weight:550;display:flex;align-items:center;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:28px;color:var(--red);font-weight:400;line-height:1;flex-shrink:0}.faq details[open] summary span{transform:rotate(45deg)}.faq p{font-size:18px;line-height:1.9;color:#6e6253;padding-top:21px}.closing{position:relative;overflow:hidden;background:var(--butter);padding:75px 5% 85px;color:var(--red);font-family:Arial,sans-serif;font-size:clamp(55px,10vw,160px);font-weight:900;line-height:.95;letter-spacing:-.075em}.closing>span{display:block}.closing>span:nth-child(2){font-family:var(--serif);font-style:italic;font-weight:normal}.closing i{position:absolute;right:6%;top:28%;font-family:var(--body);font-size:clamp(130px,16vw,240px);line-height:.7;font-style:normal;transform:rotate(12deg)}footer{background:var(--red);color:var(--cream);padding:47px 5% 26px}footer .wordmark{color:var(--butter);font-size:72px}footer .wordmark span{font-size:47px}footer>p{margin:23px 0 46px;font-size:20px}footer>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #fbf7ed66;padding-top:23px;font-size:18px}dialog{max-width:min(1030px,90vw);max-height:90vh;padding:0;border:none;background:var(--cream);color:var(--ink);overflow:auto}dialog::backdrop{background:#211d15a8;backdrop-filter:blur(4px)}dialog[open]{display:grid;grid-template-columns:1fr 1fr}.dialog-close{position:absolute;right:15px;top:15px;background:var(--cream);border:1px solid var(--line);font-size:31px;line-height:1;width:44px;height:44px;border-radius:100%;z-index:2}.dialog-photo{min-height:540px;overflow:hidden}.dialog-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.dialog-copy{padding:65px 35px 40px}.dialog-copy h2{font-size:34px;line-height:1.25;letter-spacing:-.05em;margin:16px 0 20px}.dialog-copy>p{font-size:19px;line-height:1.8}.dialog-copy dl{margin:28px 0}.dialog-copy dl>div{padding:12px 0;border-top:1px solid var(--line);font-size:18px}.dialog-copy dt{font-weight:650}.dialog-copy dd{margin:5px 0 0;color:#6e6253}.dialog-copy .dialog-disclaimer{font-size:18px;color:#6e6253}.dialog-open{overflow:hidden}
@media(min-width:1700px){.header,.hero{padding-left:max(4%,calc((100vw - 1660px)/2));padding-right:max(4%,calc((100vw - 1660px)/2))}.section{padding-left:max(5%,calc((100vw - 1540px)/2));padding-right:max(5%,calc((100vw - 1540px)/2))}.hero h1{font-size:146px}.hero-photo{height:700px}}
@media(max-width:1100px){.nav{gap:23px}.hero-top>span{display:none}.hero-sticker{width:170px;height:170px}.hero-sticker strong{font-size:25px}.section{padding:80px 5%}.section-heading p{font-size:19px}.story{gap:6%}.story-right p{font-size:19px}.story-right .story-lead{font-size:25px}.story-hand{left:25%;bottom:60px;font-size:27px}.season-copy{padding:60px 10%}.space-gallery figcaption{flex-direction:column;gap:2px}.visit{gap:5%}.menu-card-text strong{font-size:23px}.item-label{font-size:18px;left:10px;top:10px;padding:4px 9px}}
@media(max-width:760px){html{scroll-padding-top:18px}.demo-strip{padding:8px 5%;gap:8px;flex-wrap:wrap;justify-content:center;font-size:18px}.demo-strip>span{display:none}.header{padding:20px 5%;position:relative}.wordmark{font-size:48px;letter-spacing:-4px}.wordmark span{font-size:36px}.nav-toggle{display:flex;align-items:center;gap:15px;border:0;background:transparent;padding:6px 0;font-size:18px;color:var(--red)}.toggle-lines{position:relative;width:24px;height:18px;border-top:2px solid var(--red);border-bottom:2px solid var(--red)}.toggle-lines:after{content:'';position:absolute;left:0;right:0;top:6px;border-top:2px solid var(--red)}.nav{display:none;position:absolute;left:0;right:0;top:100%;z-index:10;background:var(--butter);padding:10px 5% 30px;border-bottom:1px solid var(--line)}.nav.is-open{display:flex;flex-direction:column;gap:0;align-items:stretch}.nav a{padding:15px 0;border-bottom:1px solid #bd352833}.nav .nav-feature{padding:13px 20px;margin-top:18px;justify-content:space-between;border:0}.hero{padding:25px 5% 30px}.hero-top{margin-bottom:25px;font-size:18px}.hero h1{font-size:clamp(45px,9.9vw,75px);line-height:1.01;letter-spacing:-.07em;padding-bottom:28px}.hero-star{font-size:82px;right:0;top:0}.hero-photo{height:440px;margin-left:-5.55%;margin-right:-5.55%;width:111.1%}.hero-photo>img{object-position:51% center}.hero-sticker{width:131px;height:131px;top:20px;right:5%;font-size:18px;gap:1px}.hero-sticker strong{font-size:22px}.hero-sticker>span:last-child{font-size:27px}.hero-scroll{left:5%;bottom:20px;padding:11px 17px;gap:18px;font-size:18px}.hero-bottom{gap:20px;align-items:start;padding-top:23px}.hero-bottom p{font-size:18px;line-height:1.6}.hero-bottom p:nth-child(2){display:none}.hero-mini{font-size:20px}.section{padding:68px 5%}.section-top{padding-bottom:15px}.small-note{display:none}.section-heading{display:block;margin:33px 0}.section-heading h2,.visit h2{font-size:48px;line-height:1.16}.section-heading p{font-size:18px;margin-top:22px;line-height:1.8}.menu-controls{gap:9px;margin-bottom:26px}.filter{padding:8px 16px;font-size:18px;gap:13px}.filter span{display:none}.menu-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.menu-card-text{padding-top:14px;gap:9px;align-items:start}.menu-card-text strong{font-size:21px;line-height:1.35}.menu-card-text span span{font-size:18px;line-height:1.5;margin-top:7px}.circle-arrow{display:none}.item-label{font-size:18px;padding:3px 7px;left:7px;top:7px}.menu-card:nth-child(2) .item-label,.menu-card:nth-child(3) .item-label{display:none}.menu-note{font-size:18px;line-height:1.6;margin-top:27px}.story{display:block}.story h2{font-size:40px}.story-smile{width:110px;height:110px;margin-top:28px}.story-smile>span{left:27px;top:24px}.story-smile>span:nth-child(2){left:67px}.story-smile i{left:22px;top:34px;width:59px;height:41px}.story-hand{left:46%;top:225px;bottom:auto;font-size:30px}.story-right{padding-top:33px}.story-right .story-lead{font-size:25px}.story-right p{font-size:19px;line-height:1.8;margin-bottom:20px}.season{grid-template-columns:1fr}.season-visual{min-height:0;height:440px}.season-badge{font-size:24px;left:27px;top:31px;padding:18px 24px}.season-copy{padding:47px 6% 55px}.season h2{font-size:60px}.season p{font-size:20px}.space-gallery{display:block}.space-detail{padding-top:32px;padding-left:20%}.space-gallery figcaption{font-size:18px;margin-top:13px}.space-detail img{max-height:390px}.visit{display:block}.visit-contact{font-size:18px;gap:18px;padding:13px 20px}.visit-content{margin-top:42px}.visit-head>p{font-size:19px}.demo-notice{gap:17px;padding:25px 0}.demo-notice>span{font-size:37px}.demo-notice h3{font-size:22px}.faq summary{font-size:20px}.closing{padding:52px 5% 55px;font-size:clamp(48px,10.6vw,78px)}.closing i{right:5%;top:48%;font-size:68px;opacity:.4}footer{padding:37px 5% 28px}footer>div{flex-direction:column;font-size:18px;gap:12px}footer>p{margin-bottom:33px}dialog{max-width:92vw;max-height:88vh}dialog[open]{grid-template-columns:1fr}.dialog-photo{height:250px;min-height:0}.dialog-photo img{object-position:center 55%}.dialog-copy{padding:29px 24px 30px}.dialog-copy h2{font-size:30px}.dialog-close{width:42px;height:42px}.dialog-copy>p{font-size:18px}}
@media(max-width:390px){.hero h1{font-size:clamp(41px,10vw,45px)}.hero-star{font-size:68px}.hero-photo{height:400px}.menu-grid{gap:26px 12px}.menu-card-text strong{font-size:20px}.menu-card-text span span{font-size:18px}.filter{padding:8px 13px}.item-label{font-size:18px;max-width:95%;overflow:hidden;white-space:nowrap}.section-heading h2,.visit h2{font-size:43px}.story h2{font-size:36px}.story-hand{font-size:27px;left:48%}.hero-scroll{font-size:18px;gap:10px}.visit-contact{padding:13px 15px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Each menu photo uses a deliberate crop of the original breakfast photograph. */
.menu-grid{grid-template-columns:repeat(4,1fr)}.menu-photo img{object-position:center;transform:scale(1.7)}.crop-latte img{transform:scale(2);transform-origin:3% 44%}.menu-card:hover .crop-latte img{transform:scale(2.06)}.crop-croissant img{transform:scale(1.6);transform-origin:76% 83%}.menu-card:hover .crop-croissant img{transform:scale(1.66)}.crop-orange img{transform:scale(2.5);transform-origin:100% 21%}.menu-card:hover .crop-orange img{transform:scale(2.56)}.crop-toast img{transform:scale(2.2);transform-origin:52% 0%}.menu-card:hover .crop-toast img{transform:scale(2.26)}.item-label{font-size:18px}.menu-card-text strong{font-size:23px}.menu-card .circle-arrow{width:37px;height:37px;font-size:23px}.menu-card:nth-child(2) .item-label,.menu-card:nth-child(3) .item-label{display:none}@media(max-width:1000px){.menu-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.menu-card-text strong{font-size:21px}}@media(max-width:390px){.menu-card-text strong{font-size:20px}}

.demo-strip{position:sticky;top:0;z-index:30}html{scroll-padding-top:68px}


@media(max-width:390px){.menu-controls{gap:7px}.filter{padding:8px 10px}}


.demo-mobile{display:none}@media(max-width:760px){.demo-desktop{display:none}.demo-mobile{display:inline;font-size:18px}}

/* Portfolio headline refinement · Noonnu · 2026-09-21 */
html:root body h1,html:root body h2{font-family:'RB SUITE',Arial,sans-serif;font-weight:650;letter-spacing:-.03em;line-height:1.28;font-synthesis:none;text-wrap:balance}
html:root body h2{font-weight:600}
html:root body :is(h1,h2) :is(em,i,strong){font-family:inherit;font-weight:inherit;letter-spacing:inherit}
html:root body .hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.075em;line-height:.96}html:root body .hero h1>span:not(.hero-star){font-family:var(--serif);font-weight:400;letter-spacing:-.09em;font-style:italic}html:root body .brand-signoff h2{font-family:Arial,Helvetica,sans-serif;font-weight:900;letter-spacing:-.06em;line-height:1.05}@media(max-width:760px){html:root body .hero h1{letter-spacing:-.07em;line-height:1.01}}
