:root{--cream: #fbf7f0;--cream-soft: #f3eadd;--espresso: #2b1d14;--coffee: #6f4e37;--caramel: #c68b59;--gold: #d9a066;--ink: #3a2a1e;--muted: #8a7461;--line: #e7dccb;--white: #ffffff;--maxw: 1120px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,sans-serif;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}h1,h2,h3,.display{font-family:Playfair Display,Georgia,serif}a{color:inherit;text-decoration:none}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}.kicker{color:var(--caramel);letter-spacing:3px;font-size:12px;font-weight:700;text-transform:uppercase}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;border-radius:999px;padding:13px 26px;font-family:Inter,sans-serif;font-weight:700;font-size:15px;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--gold);color:var(--espresso)}.btn-primary:hover{box-shadow:0 10px 24px #d9a06666}.btn-dark{background:var(--espresso);color:var(--cream)}.btn-dark:hover{box-shadow:0 10px 24px #2b1d1459}.btn-ghost{background:transparent;color:var(--cream);border:1px solid rgba(251,247,240,.35)}.btn-ghost:hover{border-color:var(--gold)}.header{position:sticky;top:0;z-index:40;background:#2b1d14eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(251,247,240,.08)}.header .container{display:flex;align-items:center;justify-content:space-between;padding-top:14px;padding-bottom:14px}.brand-row{display:flex;align-items:center;gap:12px}.mark{width:42px;height:42px;border-radius:999px;background:var(--caramel);display:grid;place-items:center;font-size:20px}.brand-name{color:var(--cream);font-size:20px;font-weight:700}.brand-sub{color:var(--gold);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600}.nav{display:flex;gap:30px}.nav a{color:var(--cream-soft);font-weight:500;font-size:15px}.nav a:hover{color:var(--gold)}.hero{background:var(--espresso);color:var(--cream);overflow:hidden}.hero .container{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:96px}.hero-eyebrow{color:var(--gold);letter-spacing:3px;font-size:12px;font-weight:700;text-transform:uppercase}.hero h1{font-size:clamp(40px,6vw,64px);line-height:1.05;margin:18px 0;font-weight:800;letter-spacing:-.5px}.hero p.lead{color:var(--cream-soft);font-size:18px;line-height:1.6;max-width:460px;opacity:.9}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.stats{display:flex;align-items:center;gap:24px;margin-top:48px}.stat-value{font-family:Playfair Display,serif;font-size:30px;font-weight:800}.stat-label{color:var(--muted);font-size:12px;letter-spacing:1px;text-transform:uppercase}.stat-divider{width:1px;height:36px;background:#fbf7f026}.hero-card{position:relative;border-radius:28px;overflow:hidden;aspect-ratio:4 / 5;box-shadow:0 30px 60px #0006;background-image:url(https://images.unsplash.com/photo-1509042239860-f550ce710b93?auto=format&fit=crop&w=1200&q=80);background-size:cover;background-position:center}.hero-badge{position:absolute;left:20px;bottom:20px;background:#2b1d14d1;border-radius:18px;padding:16px 18px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-badge .t{color:var(--gold);font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:700}.hero-badge .n{font-family:Playfair Display,serif;font-size:20px;margin-top:2px}.hero-badge .d{color:var(--cream-soft);font-size:13px}.section{padding:88px 0}.section-cream{background:var(--cream)}.section-soft{background:var(--cream-soft)}.section-title{font-size:clamp(30px,4vw,40px);font-weight:800;color:var(--espresso);margin-top:6px}.center{text-align:center}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:44px}.feature-card{background:var(--white);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 14px 30px #2b1d140f;transition:transform .2s ease,box-shadow .2s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px #2b1d141f}.feature-bubble{width:58px;height:58px;border-radius:999px;background:var(--cream-soft);display:grid;place-items:center;font-size:26px;margin-bottom:18px}.feature-card h3{font-size:22px;color:var(--ink);margin-bottom:8px}.feature-card p{color:var(--muted);font-size:15px;line-height:1.55}.menu-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px;flex-wrap:wrap;gap:12px}.menu-note{color:var(--muted);font-size:13px}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.menu-col{background:var(--white);border:1px solid var(--line);border-radius:28px;padding:32px;box-shadow:0 14px 30px #2b1d140f}.menu-col h3{color:var(--coffee);font-family:Inter,sans-serif;font-size:13px;font-weight:800;letter-spacing:2px;text-transform:uppercase}.menu-rule{height:2px;width:32px;background:var(--gold);border-radius:2px;margin:8px 0 18px}.menu-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.menu-item:first-of-type{border-top:none}.menu-item .name{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-item .name b{font-size:16px;color:var(--ink)}.menu-item .desc{color:var(--muted);font-size:13px;margin-top:2px;line-height:1.4}.menu-item .right{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.menu-item .price{color:var(--coffee);font-weight:800;font-size:16px;white-space:nowrap}.tag{background:var(--cream-soft);color:var(--caramel);font-size:10px;font-weight:800;letter-spacing:.5px;padding:3px 8px;border-radius:999px;text-transform:uppercase}.add-btn{width:32px;height:32px;border:none;border-radius:999px;background:var(--espresso);color:var(--cream);font-size:20px;line-height:1;cursor:pointer;transition:transform .15s ease,background .15s ease}.add-btn:hover{background:var(--coffee);transform:scale(1.08)}.visit-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.visit-img{border-radius:28px;min-height:360px;background-image:url(https://images.unsplash.com/photo-1554118811-1e0d58224f24?auto=format&fit=crop&w=1200&q=80);background-size:cover;background-position:center;box-shadow:0 22px 44px #2b1d1429}.visit-info p.text{color:var(--muted);font-size:16px;line-height:1.6;margin-top:12px;max-width:460px}.hours-card{background:var(--white);border:1px solid var(--line);border-radius:18px;padding:20px;margin-top:28px;box-shadow:0 14px 30px #2b1d140f}.hours-row{display:flex;justify-content:space-between;padding:8px 0}.hours-row .day{font-weight:500}.hours-row .time{color:var(--coffee);font-weight:700}.visit-address{font-weight:600;margin-top:26px}.footer{background:var(--espresso);color:var(--cream);padding:56px 0 40px}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:56px}.footer h4{color:var(--gold);font-family:Inter,sans-serif;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}.footer .brand-name{font-family:Playfair Display,serif;font-size:22px}.footer p{color:var(--cream-soft);opacity:.85;line-height:1.55;margin-top:10px;max-width:380px}.news-row{display:flex;gap:10px;margin-top:4px}.news-row input{flex:1;background:#fbf7f014;border:1px solid rgba(251,247,240,.2);border-radius:999px;padding:12px 18px;color:var(--cream);font-family:inherit;font-size:14px}.news-row input::placeholder{color:var(--muted)}.footer-rule{height:1px;background:#fbf7f01f;margin:32px 0}.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.footer-bottom .copy{color:var(--muted);font-size:13px}.social{display:flex;gap:20px}.social a{color:var(--cream-soft);font-weight:500;font-size:14px}.social a:hover{color:var(--gold)}.cart-fab{position:fixed;right:22px;bottom:22px;z-index:50;display:flex;align-items:center;gap:10px;background:var(--espresso);color:var(--cream);border:none;border-radius:999px;padding:12px 20px;font-family:inherit;font-weight:700;font-size:15px;cursor:pointer;box-shadow:0 16px 36px #2b1d1466;transition:transform .15s ease}.cart-fab:hover{transform:translateY(-2px)}.cart-count{min-width:22px;height:22px;border-radius:999px;background:var(--gold);color:var(--espresso);font-weight:800;font-size:12px;display:grid;place-items:center;padding:0 6px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#2b1d1480;display:flex;align-items:flex-end;justify-content:center;animation:fade .2s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.sheet{background:var(--cream);width:100%;max-width:460px;border-radius:28px 28px 0 0;padding:28px;max-height:84vh;overflow-y:auto;box-shadow:0 -20px 60px #0000004d;animation:slideup .25s ease}@keyframes slideup{0%{transform:translateY(40px)}to{transform:translateY(0)}}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.sheet-head h3{font-size:24px;color:var(--espresso)}.sheet-close{background:none;border:none;font-size:20px;color:var(--muted);cursor:pointer}.cart-line{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.cart-line .info{flex:1}.cart-line .info b{font-size:16px;color:var(--ink)}.cart-line .info span{display:block;color:var(--muted);font-size:13px;margin-top:2px}.stepper{display:flex;align-items:center;gap:12px}.step-btn{width:32px;height:32px;border-radius:999px;border:1px solid var(--line);background:var(--cream-soft);color:var(--coffee);font-size:18px;cursor:pointer}.step-btn:hover{background:var(--line)}.qty{font-weight:700;min-width:20px;text-align:center}.total-row{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.total-row .l{color:var(--muted);font-weight:600;font-size:16px}.total-row .v{font-family:Playfair Display,serif;font-weight:800;font-size:24px;color:var(--espresso)}.cart-full-btn{width:100%}.confirm{text-align:center;padding:24px 0}.confirm .emoji{font-size:46px}.confirm h3{font-size:26px;color:var(--espresso);margin:8px 0}.confirm p{color:var(--muted);line-height:1.5;max-width:300px;margin:0 auto 20px}@media (max-width: 960px){.hero .container{grid-template-columns:1fr;gap:40px;padding-bottom:72px}.features-grid,.menu-grid{grid-template-columns:1fr}.visit-grid,.footer-top{grid-template-columns:1fr;gap:32px}.nav{display:none}}@media (max-width: 520px){.hero-actions .btn,.news-row{width:100%}.news-row{flex-direction:column}.stats{gap:16px}}
