:root{--ink:#183b35;--cream:#f5f0e8;--paper:#fbf9f4;--coral:#e76f51;--gold:#e7ad4b;--sage:#dbe6d7;--line:rgba(24,59,53,.18);font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper)}a{color:inherit;text-decoration:none}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:0 36px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.04em;line-height:.9}.brand em{font-family:'Playfair Display',serif;font-weight:600}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--coral);border-radius:50%;color:var(--coral);font-size:14px}.site-header nav{display:flex;gap:34px;font-size:13px;font-weight:600}.site-header nav a,.text-link{transition:color .2s}.site-header nav a:hover,.text-link:hover{color:var(--coral)}.button{display:inline-flex;align-items:center;gap:22px;background:var(--coral);color:white;padding:16px 20px;border-radius:2px;font-size:13px;font-weight:700;box-shadow:4px 4px 0 rgba(231,111,81,.18);transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 rgba(231,111,81,.18)}.button-small{padding:12px 15px;gap:12px}.hero{min-height:600px;max-width:1240px;margin:auto;padding:78px 36px 90px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}.kicker,.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:700;color:var(--coral)}.kicker{display:flex;align-items:center;gap:10px}.kicker span{display:inline-block;width:26px;height:1px;background:var(--coral)}h1,h2{font-family:'Playfair Display',serif;font-weight:600;letter-spacing:-.055em;line-height:.95;margin:20px 0;color:var(--ink)}h1{font-size:clamp(58px,8vw,112px);max-width:650px}h1 i,h2 i{color:var(--coral);font-weight:600}.hero-intro{max-width:420px;font-size:18px;line-height:1.6;color:rgba(24,59,53,.75);margin:28px 0}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid var(--ink);padding-bottom:5px}.hero-art{height:450px;position:relative;background:var(--sage);overflow:hidden}.sun{position:absolute;width:310px;height:310px;border-radius:50%;background:#f6d58f;top:30px;left:50%;transform:translateX(-50%)}.coffee-cup{position:absolute;z-index:2;width:190px;height:130px;border-radius:12px 12px 55px 55px;background:#f8f1e3;left:50%;bottom:105px;transform:translateX(-50%);box-shadow:0 16px 0 -8px rgba(24,59,53,.12)}.coffee{height:26px;background:#744d35;border-radius:50%;margin:9px 10px}.cup-handle{position:absolute;right:-35px;top:28px;width:52px;height:62px;border:14px solid #f8f1e3;border-left:0;border-radius:0 40px 40px 0}.steam{position:absolute;z-index:3;width:30px;height:85px;border-left:2px solid rgba(255,255,255,.8);border-radius:50%;bottom:245px}.steam-one{left:43%;transform:rotate(10deg)}.steam-two{left:55%;transform:rotate(-8deg)}.pastry{position:absolute;z-index:2;background:var(--coral);border-radius:50%;width:82px;height:58px;bottom:70px}.pastry-one{left:25%;transform:rotate(-20deg)}.pastry-two{right:20%;transform:rotate(18deg);background:#d65d43}.art-note{position:absolute;bottom:28px;left:30px;margin:0;font-size:11px;line-height:1.5;text-transform:uppercase;letter-spacing:.13em}.art-note strong{font-size:13px;color:var(--coral)}.promise{background:var(--ink);color:var(--cream);padding:78px max(36px,calc((100% - 1168px)/2)) 84px}.promise h2,.visit h2{color:var(--cream);font-size:clamp(40px,5vw,70px);margin:17px 0}.promise-grid{display:grid;grid-template-columns:1.1fr .8fr .35fr;gap:70px;align-items:center}.promise-grid>p{font-size:16px;line-height:1.8;color:rgba(245,240,232,.75);max-width:350px}.stamp{width:106px;height:106px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;text-align:center;text-transform:uppercase;letter-spacing:.14em;font-size:10px;line-height:1.3;color:var(--gold);transform:rotate(12deg)}.stamp span{font-family:'Playfair Display';text-transform:none;font-size:14px;letter-spacing:0}.menu-section{max-width:1240px;margin:auto;padding:100px 36px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading h2{font-size:clamp(42px,5vw,68px);margin:15px 0 0}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.menu-card{padding:30px;background:var(--cream);min-height:310px;position:relative}.menu-card.featured{background:#f3d9c9}.card-number{position:absolute;right:25px;top:28px;font-size:11px;opacity:.6}.card-icon{font-size:34px;color:var(--coral);margin:28px 0 35px}.menu-card h3{font-family:'Playfair Display';font-size:27px;margin:0 0 12px}.menu-card p{font-size:14px;line-height:1.65;max-width:260px;opacity:.75;margin:0 0 22px}.menu-card strong{font-size:12px;color:var(--coral)}.visit{background:var(--coral);color:white;padding:78px max(36px,calc((100% - 1168px)/2));display:grid;grid-template-columns:1fr 1fr;align-items:end}.visit h2{margin-bottom:0}.visit .section-label{color:var(--ink)}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:end}.visit-details p{font-size:14px;line-height:1.7;margin:0}.visit-details strong{font-size:15px}.button-light{background:var(--ink);box-shadow:4px 4px 0 rgba(24,59,53,.2)}footer{max-width:1240px;margin:auto;padding:32px 36px;display:flex;justify-content:space-between;align-items:center;font-size:12px}footer p{opacity:.65}footer>a:last-child{font-weight:600}@media(max-width:700px){.site-header{height:78px;padding:0 20px}.site-header nav{display:none}.site-header .button{display:none}.hero{display:block;padding:55px 20px 60px;min-height:0}.hero-art{height:330px;margin-top:55px}.coffee-cup{bottom:72px;transform:translateX(-50%) scale(.8)}.sun{width:230px;height:230px}.steam{bottom:190px}.pastry{bottom:38px;transform:scale(.75) rotate(-20deg)}.pastry-two{transform:scale(.75) rotate(18deg)}.promise{padding:60px 20px}.promise-grid{display:block}.promise-grid>p{margin:30px 0}.stamp{margin-left:auto}.menu-section{padding:65px 20px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:12px}.menu-grid{grid-template-columns:1fr}.menu-card{min-height:250px}.visit{padding:60px 20px;display:block}.visit-details{margin-top:36px;grid-template-columns:1fr 1fr}.visit-details .button{grid-column:1/-1;justify-self:start}footer{padding:26px 20px;display:grid;gap:16px}footer p{margin:0}h1{font-size:64px}}
