*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f0e7;color:#211b18;font-family:"DM Sans",sans-serif;line-height:1.65}img{display:block;width:100%}a{color:inherit}h1,h2,h3{font-family:"Playfair Display",serif;line-height:1.05;margin-top:0}h2{font-size:clamp(2.8rem,6vw,5.6rem);margin-bottom:1.2rem}.intro{position:fixed;inset:0;z-index:999;background:#f7f0e7;display:grid;place-items:center;animation:introOut .9s ease 1.35s forwards}.intro-mark{display:grid;text-align:center;animation:introIn .75s ease both}.intro-mark span,.brand span{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:#ad4e36}.intro-mark strong{font:700 clamp(2rem,6vw,4.5rem)/1 "Playfair Display",serif}.intro-mark b{font-size:2.2rem;color:#ad4e36}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:0 4vw;background:rgba(247,240,231,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(33,27,24,.08)}.brand{display:grid;grid-template-columns:auto auto;align-items:end;text-decoration:none;line-height:1}.brand span{grid-column:1/-1}.brand strong{font:700 1.35rem/1 "Playfair Display",serif}.brand b{margin-left:.35rem;color:#ad4e36;font-size:1.45rem}nav{display:flex;gap:1.35rem}nav a{text-decoration:none;font-weight:600;font-size:.93rem}nav a:hover{color:#ad4e36}.menu-toggle{display:none;border:0;background:none;font-size:1.8rem}.hero{position:relative;min-height:calc(100vh - 82px);overflow:hidden;color:#fff}.hero>img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,16,13,.75),rgba(22,16,13,.32) 55%,rgba(22,16,13,.05))}.hero-copy{position:relative;z-index:2;max-width:850px;padding:15vh 6vw 9rem}.eyebrow{margin:0 0 .7rem;text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:#ffd0b8}.eyebrow.dark{color:#ad4e36}.hero h1{font-size:clamp(4rem,10vw,9.5rem);margin-bottom:1.4rem}.hero-subtitle{max-width:690px;font-size:clamp(1.08rem,2vw,1.45rem)}.scroll-cue{position:absolute;z-index:2;left:6vw;bottom:2.3rem;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:.73rem}.scroll-cue span{margin-left:.5rem}.section{padding:7rem 6vw}.story{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(3rem,7vw,8rem);align-items:center}.story-image img{min-height:650px;object-fit:cover;border-radius:30px}.story-text p{font-size:1.08rem}.story-text blockquote{margin:2rem 0 0;padding-left:1.4rem;border-left:4px solid #ad4e36;font:600 1.5rem/1.45 "Playfair Display",serif}.section-heading{max-width:850px;margin-bottom:3.2rem}.section-heading>p:last-child{font-size:1.08rem}.food-section{background:#fffaf5}.food-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.food-card{overflow:hidden;background:#fff;border-radius:24px;box-shadow:0 16px 45px rgba(42,30,22,.11)}.food-card img{height:310px;object-fit:cover}.food-card div{padding:1.45rem}.food-card h3{font-size:1.65rem;margin-bottom:.45rem}.food-card p{margin:0}.menu-links{text-align:center;margin-top:2.8rem}.menu-links a,.text-link{display:inline-block;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:.25rem;font-weight:700}.crepes{display:grid;grid-template-columns:1fr 1fr;background:#8f2f25;color:#fff;padding:0}.crepe-photo img{height:100%;min-height:760px;object-fit:cover}.crepe-copy{padding:8rem 6vw}.crepe-copy>p{font-size:1.1rem}.crepe-detail{display:grid;grid-template-columns:180px 1fr;gap:1.5rem;align-items:center;margin:2.4rem 0}.crepe-detail img{height:180px;object-fit:cover;border-radius:50%}.restaurant{background:#26372d;color:#fff}.section-heading.light{color:#fff}.restaurant-collage{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:260px;gap:1rem}.restaurant-collage img{height:100%;object-fit:cover;border-radius:20px}.restaurant-collage .wide{grid-column:span 2;grid-row:span 2}.restaurant-collage .tall{grid-row:span 2}.gallery-section{background:#f7f0e7}.masonry{columns:3;column-gap:1rem}.masonry img{margin:0 0 1rem;border-radius:18px;break-inside:avoid}.infos{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;background:#fffaf5}.info-block{margin:2rem 0}.info-block h3{margin-bottom:.4rem;font-size:1.35rem}.hours{margin:0}.hours div{display:grid;grid-template-columns:140px 1fr;gap:1rem;padding:.45rem 0;border-bottom:1px solid rgba(33,27,24,.08)}.hours dt{font-weight:600}.hours dd{margin:0;text-align:right}.infos-image{position:relative}.infos-image img{height:100%;min-height:620px;object-fit:cover;border-radius:28px}.infos-image a{position:absolute;left:1.2rem;bottom:1.2rem;padding:.85rem 1rem;border-radius:999px;background:rgba(25,20,17,.86);color:#fff;text-decoration:none;font-weight:700}footer{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:3rem 6vw;background:#191512;color:#fff}.footer-brand span,.footer-brand b{color:#f0a88b}.footer-brand strong{font-size:1.55rem}footer p{margin:0}.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes introIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes introOut{to{opacity:0;visibility:hidden}}@media(max-width:980px){.menu-toggle{display:block}nav{position:absolute;top:82px;left:0;right:0;display:none;flex-direction:column;padding:1.4rem 5vw 1.8rem;background:#f7f0e7;border-bottom:1px solid rgba(33,27,24,.08)}nav.open{display:flex}.story,.infos{grid-template-columns:1fr}.story-image img{min-height:520px}.food-grid{grid-template-columns:repeat(2,1fr)}.crepes{grid-template-columns:1fr}.crepe-photo img{min-height:520px}.restaurant-collage{grid-template-columns:repeat(2,1fr)}.restaurant-collage .wide{grid-column:span 2}.masonry{columns:2}footer{flex-direction:column;align-items:flex-start}}@media(max-width:620px){.site-header{min-height:72px}.hero{min-height:calc(100vh - 72px)}.hero-copy{padding:15vh 1.25rem 8rem}.hero h1{font-size:clamp(3.6rem,18vw,6rem)}.section{padding:4.8rem 1.25rem}.story-image img{min-height:420px}.food-grid{grid-template-columns:1fr}.food-card img{height:270px}.crepe-copy{padding:5rem 1.25rem}.crepe-detail{grid-template-columns:1fr}.crepe-detail img{width:180px}.restaurant-collage{grid-template-columns:1fr;grid-auto-rows:260px}.restaurant-collage .wide,.restaurant-collage .tall{grid-column:auto;grid-row:auto}.masonry{columns:1}.hours div{grid-template-columns:1fr}.hours dd{text-align:left}.infos-image img{min-height:430px}footer{padding:2.5rem 1.25rem}}
