:root{--cream:#f8f5ed;--ink:#352e25;--yellow:#ebcb70;--orange:#d77d51;--olive:#898e68;--line:#352e2533}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #805620;outline-offset:6px}.skip{position:absolute;left:20px;top:-80px;z-index:10;background:white;padding:10px}.skip:focus{top:10px}.topline{background:var(--yellow);padding:9px 5%;font-size:12px;letter-spacing:.14em;display:flex;justify-content:space-between}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--line)}.brand img{width:94px;height:94px;object-fit:contain;mix-blend-mode:multiply}nav{display:flex;gap:38px;align-items:center;font-size:14px;font-weight:600}nav>a:not(.button):hover,.text-link:hover{text-decoration:underline;text-underline-offset:6px}.button{display:inline-flex;gap:32px;align-items:center;justify-content:space-between;padding:16px 24px;border-radius:50px;background:var(--ink);color:var(--cream);font-size:14px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#605238;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.button.small{padding:11px 23px;background:var(--yellow);color:var(--ink)}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:710px;padding:52px 5% 66px;gap:7%;overflow:hidden}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;margin:0 0 25px}h1,h2,h3{font-family:'Syne',sans-serif;margin:0;line-height:1.02}h1{font-size:clamp(60px,6.9vw,108px);font-weight:700;letter-spacing:-.062em}h1 span{color:#b6653d}.intro{max-width:345px;margin:26px 0;font-size:17px}.today{font-size:13px;margin:18px 0 0}.hero-photo{position:relative;margin-top:5px;min-width:0}.hero-photo>img{height:100%;width:100%;object-fit:cover;border-radius:240px 240px 12px 12px;max-height:650px}.roundel{position:absolute;right:-25px;bottom:45px;border-radius:50%;background:var(--yellow);height:155px;width:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;line-height:1.5;letter-spacing:.13em;transform:rotate(10deg);border:1px solid var(--ink)}.roundel b{font-family:Georgia,serif;font-style:italic;font-size:24px;letter-spacing:-.04em;font-weight:400}.photo-note{position:absolute;bottom:20px;left:22px;color:white;font-size:13px;text-shadow:0 1px 5px #000}.ribbon{background:var(--orange);display:flex;flex-wrap:nowrap;padding:24px 0;font-family:'Syne',sans-serif;font-weight:700;font-size:17px;letter-spacing:.05em;overflow:hidden}.ribbon-track{flex:0 0 auto;display:flex;align-items:center;gap:24px;padding-right:24px;animation:ribbon-marquee 90s linear infinite}.ribbon i{font-size:26px;font-style:normal}.ribbon span{white-space:nowrap}@keyframes ribbon-marquee{to{transform:translateX(-100%)}}.section{padding:100px 5%}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:42px}.section-heading>div:last-child{max-width:340px}.section-heading p:not(.eyebrow){margin:0 0 17px}h2{font-size:clamp(40px,4.8vw,72px);letter-spacing:-.045em;font-weight:700}.text-link{display:inline-block;font-size:14px;font-weight:700;border-bottom:1px solid;padding-bottom:5px}.menu-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.dish-photo{position:relative;aspect-ratio:4/4.7;border-radius:120px 120px 7px 7px;overflow:hidden}.dish:nth-child(even) .dish-photo{border-radius:7px 7px 120px 120px}.dish-photo img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.dish:hover img{transform:scale(1.04)}.dish-photo span{position:absolute;left:0;right:0;bottom:17px;text-align:center;background:var(--cream);padding:7px 3px;font-size:10px;letter-spacing:.08em;margin:0 10px;border-radius:30px}.dish:nth-child(even) .dish-photo span{top:17px;bottom:auto}.dish-title{display:flex;justify-content:space-between;gap:12px;margin-top:22px;align-items:baseline}.dish h3{font-size:21px;line-height:1.15}.dish b{white-space:nowrap;font-size:14px}.dish p{font-size:14px;line-height:1.6;margin-top:12px}.menu-note{font-size:12px;margin:30px 0 0;color:#696052}.space{background:#e8e9df;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:12%;padding-bottom:130px}.space-pictures{position:relative;padding-right:70px}.room{width:100%;border-radius:160px 160px 8px 8px;aspect-ratio:1/1.13;object-fit:cover}.courtyard{position:absolute;width:50%;bottom:-48px;right:0;aspect-ratio:1.12;object-fit:cover;border:8px solid #e8e9df;border-radius:100px 100px 8px 8px}.space-tag{position:absolute;left:-20px;top:70%;background:var(--yellow);padding:12px 20px;font-size:11px;letter-spacing:.12em;transform:rotate(-7deg)}.space-copy p:not(.eyebrow){margin:25px 0}.groups{background:var(--yellow);text-align:center;position:relative;overflow:hidden;border-radius:50% 50% 0 0/14% 14% 0 0;margin-top:-25px}.groups h2{font-size:clamp(65px,8vw,112px)}.groups>p:not(.eyebrow){margin:25px 0}.groups .small-note{font-size:13px}.small-note a{text-decoration:underline}.gallery h2{font-size:clamp(35px,3.6vw,54px)}.gallery-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.gallery-grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:7px}.gallery-grid a:nth-child(even){transform:translateY(15px)}.visit{background:var(--olive);display:grid;grid-template-columns:1fr 1fr;gap:55px 9%;color:#21251b}.visit address{font-style:normal;font-size:18px;margin:27px 0 12px}.visit .button{display:flex;max-width:220px;margin-top:27px}.hours{padding-top:40px}.hours h3{font-size:27px;margin-bottom:27px}.hours dl>div{display:flex;justify-content:space-between;border-bottom:1px solid #21251b40;padding:9px 0}.hours dd{margin:0}.hours p{font-size:13px}.visit iframe{width:100%;height:290px;grid-column:1/-1;border:0;border-radius:8px;filter:saturate(.65)}footer{padding:45px 5%;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.footer-name{font-family:'Syne',sans-serif;font-weight:800;font-size:50px;letter-spacing:-.06em}footer span{font-size:11px;letter-spacing:.12em;margin-right:auto}footer a:not(.footer-name){font-size:14px}footer small{width:100%;border-top:1px solid var(--line);padding-top:20px;font-size:12px}
@media(min-width:1600px){.hero,.section,header,footer{padding-left:max(5%,calc((100vw - 1440px)/2));padding-right:max(5%,calc((100vw - 1440px)/2))}}@media(max-width:900px){.hero{gap:5%;min-height:600px}.hero-photo>img{max-height:590px}h1{font-size:75px}.menu-grid{grid-template-columns:repeat(2,1fr);gap:35px 23px}.dish-photo{aspect-ratio:1.1}.space{gap:5%}.space-pictures{padding-right:20px}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid a:nth-child(even){transform:none}.ribbon{font-size:14px}}@media(max-width:600px){.topline{justify-content:center;font-size:10px;padding:9px 12px}.topline span{display:none}header{height:88px;padding:0 6%}.brand img{width:75px;height:75px}nav{gap:20px;font-size:13px}nav a[href='#space']{display:none}nav .button.small{padding:9px 14px;gap:9px}.hero{display:flex;flex-direction:column;padding:36px 6% 42px;gap:35px}.hero-copy{position:relative}.eyebrow{font-size:10px;margin-bottom:19px}h1{font-size:clamp(64px,15vw,84px);line-height:.99;letter-spacing:-.065em}.intro{font-size:16px;max-width:270px;margin:22px 0}.hero-photo{height:440px;margin-right:15px;margin-left:18px}.hero-photo>img{height:100%;border-radius:200px 200px 8px 8px}.roundel{width:125px;height:125px;right:-20px;bottom:25px;font-size:9px}.roundel b{font-size:21px}.photo-note{font-size:11px;bottom:15px;left:16px}.ribbon{padding:20px 0;font-size:12px}.ribbon-track{gap:20px}.section{padding:65px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>div:last-child{margin-top:25px}.section-heading>.text-link{margin-top:24px}h2{font-size:46px}.menu-grid{gap:28px 16px}.dish-photo{aspect-ratio:3/4;border-radius:80px 80px 5px 5px}.dish:nth-child(even) .dish-photo{border-radius:5px 5px 80px 80px}.dish-photo span{font-size:8px;letter-spacing:0;padding:6px 0;margin:0 5px}.dish-title{display:block;margin-top:16px}.dish h3{font-size:21px;line-height:1.1}.dish b{display:block;margin-top:7px;font-size:14px}.dish p{font-size:14px;margin-top:6px}.space{display:flex;flex-direction:column;gap:80px;padding-top:65px;padding-bottom:75px}.space-pictures{width:100%;padding-right:35px}.space-tag{left:-12px}.space-copy{width:100%}.space-copy h2{font-size:56px}.groups{border-radius:50% 50% 0 0/7% 7% 0 0;padding-top:70px;margin-top:-15px}.groups h2{font-size:74px}.groups .button{font-size:13px;padding:15px 20px;gap:20px}.gallery-grid{gap:10px}.visit{grid-template-columns:1fr;gap:30px}.hours{padding-top:10px}.visit iframe{height:260px}.visit h2{font-size:62px}footer{padding:35px 6%;gap:18px}footer span{width:calc(100% - 190px);font-size:9px}.footer-name{font-size:44px}footer small{margin-top:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.ribbon{overflow-x:auto}.ribbon-track{animation:none}.ribbon-track[aria-hidden]{display:none}}

/* Balanced two-line hero, with room for the dish photograph. */
.hero{min-height:610px;grid-template-columns:1.12fr 1fr;gap:4%;align-items:center}
.hero h1{font-size:clamp(36px,4.05vw,65px);line-height:1.12;letter-spacing:-.055em}
.hero h1 .hero-line{display:block;white-space:nowrap;color:var(--ink)}
.hero h1 em{font-style:normal;color:#b6653d}
.hero-photo{height:560px;width:100%}
.hero-photo>img{object-position:50% 52%}
.hero .intro{max-width:360px}
.photo-note{background:#352e25d9;padding:6px 12px;border-radius:20px;text-shadow:none;bottom:18px;left:18px}
@media(max-width:900px) and (min-width:601px){.hero{min-height:530px}.hero h1{font-size:4.05vw}.hero-photo{height:470px}.roundel{width:125px;height:125px;right:-15px}.roundel b{font-size:21px}}
@media(max-width:600px){.hero{min-height:0;align-items:stretch;gap:30px}.hero h1{font-size:8.05vw;line-height:1.16;letter-spacing:-.05em}.hero-copy{width:100%}.hero-photo{width:calc(100% - 33px);height:430px}.hero .intro{max-width:300px}.photo-note{font-size:10px;bottom:12px;left:12px}}

/* Supplied vector mark with the existing cafe name. */
.brand{display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 0}
.brand img{width:51px;height:auto;mix-blend-mode:normal}
.brand-wordmark{font-size:16px;line-height:1.2;letter-spacing:.22em;text-align:center;font-weight:600}
.brand-wordmark small{display:block;font-size:9px;font-weight:400;letter-spacing:.3em;margin-top:3px}
.hero h1{font-size:clamp(38px,4.25vw,68px);line-height:1.02}
.hero-photo{width:100%;max-width:480px;aspect-ratio:4/5;height:auto;justify-self:end}
.hero-photo>img{position:absolute;inset:0;width:100%;height:100%;max-height:none;border-radius:50% 50% 8px 8px / 40% 40% 8px 8px}
.groups{container-type:inline-size;isolation:isolate;background:transparent;border-radius:0;max-width:1200px;margin:0 auto;min-height:600px;padding:105px 5% 55px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.groups::before{content:'';position:absolute;z-index:-1;top:0;left:50%;transform:translateX(-50%);width:max(100%,760px);aspect-ratio:2/1;background:var(--yellow);border-radius:50% 50% 0 0 / 100% 100% 0 0}
.groups::after{content:'';position:absolute;z-index:-1;left:0;right:0;top:max(50cqw,380px);bottom:0;background:var(--yellow)}
.groups .eyebrow{margin-bottom:22px}.groups .button{flex-shrink:0}
@media(max-width:900px) and (min-width:601px){.hero h1{font-size:4.25vw}.hero-photo{height:auto}.groups{min-height:580px;padding-top:90px}}
@media(max-width:600px){.brand img{width:40px}.brand-wordmark{font-size:12px}.brand-wordmark small{font-size:8px}.hero h1{font-size:8.4vw;line-height:1.04}.hero-photo{height:auto;width:calc(100% - 33px);max-width:480px;align-self:center;margin:0 15px 0 18px}.groups{min-height:570px;padding:100px 6% 45px}.groups h2{font-size:68px}}

/* Oversized circle crops naturally beyond the viewport. */
.groups{max-width:none;min-height:580px;padding-top:140px;padding-bottom:60px}
.groups::before{top:60px;width:max(130%,900px)}
.groups::after{top:calc(60px + max(65cqw,450px) - 1px)}
.groups h2{font-size:clamp(52px,5.5vw,76px);line-height:1.04}
@media(max-width:600px){.groups{min-height:550px;padding:135px 6% 50px}.groups h2{font-size:54px}}

/* Shared heading scale and continuous space-to-groups background. */
.groups{background:#e8e9df}
.hero h1 em{color:var(--ink)}
.menu h2,.space-copy h2{font-size:clamp(38px,4.25vw,68px);line-height:1.02}
@media(max-width:900px) and (min-width:601px){.menu h2,.space-copy h2{font-size:4.25vw}}
@media(max-width:600px){.menu h2,.space-copy h2{font-size:8.4vw;line-height:1.04}}

.roundel{border:0}

/* Keep each menu arch semicircular at every card width. */
.menu .dish-photo{aspect-ratio:4/5;border-radius:50% 50% 7px 7px / 40% 40% 7px 7px}
.menu .dish:nth-child(even) .dish-photo{border-radius:7px 7px 50% 50% / 7px 7px 40% 40%}
.menu .dish-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
