:root{--grab:#00b14f;--panda:#d70f64;--ink:#1d1a16;--cream:#fbf5e9;--gold:#d99a1c;--chili:#b3261e;--muted:#6b6258;--r:16px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
body{margin:0;font:400 1.0625rem/1.65 "DM Sans",system-ui,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden;padding-bottom:0}
img,iframe{max-width:100%;display:block}
h1,h2,h3,h4{font-family:"Bricolage Grotesque","DM Sans",sans-serif;line-height:1.1;margin:0}
a{color:inherit}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px}
.btn{display:inline-flex;align-items:center;gap:.5em;justify-content:center;background:var(--gold);color:var(--ink);font-weight:700;text-decoration:none;padding:.85em 1.4em;border-radius:999px;min-height:48px;transition:transform .15s,background .15s}
.btn:hover{background:#ecb039;transform:translateY(-2px)}
.btn.sm{min-height:40px;padding:.5em 1.1em;font-size:.95rem}
.btn.grab{background:var(--grab);color:#fff}.btn.grab:hover{background:#009a45}
.btn.panda{background:var(--panda);color:#fff}.btn.panda:hover{background:#b80c55}
.btn.ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #eee}
.bar{display:flex;align-items:center;justify-content:space-between;min-height:68px}
.brand img{height:52px;width:auto}
.burger{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:12px;margin-right:-8px;cursor:pointer}
.burger span{width:24px;height:2px;background:var(--ink);border-radius:2px}
#nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:12px 20px 24px;flex-direction:column;gap:2px;border-bottom:1px solid #eee;box-shadow:0 12px 20px rgba(0,0,0,.08)}
#nav.open{display:flex}
#nav a:not(.btn){padding:14px 4px;font-weight:700;font-size:1.15rem;text-decoration:none;border-bottom:1px solid #f0ebe0}
/* hero */
.hero{min-height:calc(100svh - 68px);display:flex;align-items:flex-end;color:#fff;padding:80px 0 56px;background:linear-gradient(180deg,rgba(29,26,22,.25) 0%,rgba(29,26,22,.88) 100%),url(image/hero-background.webp) center 20%/cover}
.eyebrow{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;color:var(--gold);margin:0 0 14px}
.hero h1{font-size:clamp(2.3rem,9vw,4.6rem);font-weight:800;max-width:14ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.lead{font-size:clamp(1.05rem,3.6vw,1.3rem);max-width:34rem;margin:18px 0 28px;color:#f1eadb}
.cta{display:flex;flex-direction:column;gap:12px;max-width:340px}
/* sections */
.sec{padding:64px 0}
.cream{background:var(--cream)}.dark{background:var(--ink);color:#f1eadb}
h2{font-size:clamp(2rem,7vw,3rem);font-weight:800;margin-bottom:12px}
h2::after{content:"";display:block;width:56px;height:5px;background:var(--gold);border-radius:3px;margin-top:14px}
.intro{color:var(--muted);margin:0 0 32px;max-width:36rem}
.dark h2{color:#fff}
/* deals */
.deals{display:grid;gap:14px;margin-top:28px}
.deal{background:#fff;border-radius:var(--r);padding:22px;border:1px solid #eadfc8}
.deal h3{font-size:1.35rem;margin:10px 0 6px}.deal p{margin:0;color:var(--muted)}
.chip{display:inline-block;background:var(--chili);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px}
.chip.grab{background:var(--grab)}.chip.panda{background:var(--panda)}
.deal.grab{border-top:5px solid var(--grab);background:#f0fbf4}.deal.panda{border-top:5px solid var(--panda);background:#fff0f6}
.deal .btn{margin-top:16px}
.chip.alt{background:var(--ink)}
/* menu */
.cat{font-size:1.5rem;margin:12px 0 18px;color:var(--chili)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:40px}
.card{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid #eee;border-radius:var(--r);overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.ph{position:relative;aspect-ratio:3/2;background:#eee}
.ph img{width:100%;height:100%;object-fit:cover}
.tag{position:absolute;top:8px;left:8px;background:var(--gold);font-size:.7rem;font-weight:700;padding:3px 9px;border-radius:999px}
.cb{padding:12px 14px 14px;display:flex;flex-direction:column;flex:1}
.cb h4{font-size:1rem;font-weight:800;line-height:1.2}
.sub{margin:4px 0 0;font-size:.85rem;color:var(--muted);line-height:1.3}
.price{margin:auto 0 0;padding-top:8px;font-weight:700;color:var(--chili)}
/* story */
.lead2{font-size:1.15rem;margin:24px 0 36px}
.story{display:grid;gap:28px}
.step{font:800 2.2rem "Bricolage Grotesque";color:var(--gold)}
.story h3{font-size:1.35rem;color:#fff;margin:4px 0 8px}.story p{margin:0}
.thanks{margin:40px 0 0;font-weight:700;color:var(--gold);font-size:1.1rem}
/* map + contact */
.map{border-radius:var(--r);overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.12)}
.map iframe{width:100%;height:300px;border:0}
.intro .fa-location-dot{color:var(--chili);margin-right:4px}
.contact{display:grid;gap:12px}
.contact a{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--r);text-decoration:none;font-weight:700;font-size:1.1rem;min-height:60px;transition:filter .15s}
.contact a{color:#fff}.contact a:hover{filter:brightness(.92)}.contact i{font-size:1.6rem;width:32px;text-align:center}
.contact .wa{background:#25d366}.contact .fb{background:#1877f2}.contact .ig{background:linear-gradient(45deg,#f09433,#dc2743 55%,#bc1888)}
footer{background:#111;color:#bdb4a5;text-align:center;padding:28px 0;font-size:.85rem}
footer p{margin:0}
/* tablet */
@media(min-width:640px){.grid{grid-template-columns:repeat(3,1fr);gap:18px}.deals{grid-template-columns:repeat(3,1fr)}.cta{flex-direction:row;max-width:none}.contact{grid-template-columns:repeat(3,1fr)}.map iframe{height:400px}}
/* desktop */
@media(min-width:900px){
body{padding-bottom:0}.sec{padding:96px 0}
.burger{display:none}
#nav{display:flex;position:static;flex-direction:row;align-items:center;gap:26px;padding:0;border:0;box-shadow:none;background:none}
#nav a:not(.btn){padding:6px 0;font-size:1rem;border:0}#nav a:not(.btn):hover{color:var(--chili)}
.brand img{height:60px}.hero{min-height:88vh}
.story{grid-template-columns:repeat(3,1fr);gap:36px}.narrow.wrap:has(.story){max-width:1120px}
.grid{grid-template-columns:repeat(4,1fr)}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
