:root{
  --esp:#2b1d15; --choc:#3e2a1e; --brown:#7a5232; --brown-2:#5c3c25;
  --oat:#c8b493; --oat-2:#b9a27c; --oat-l:#dccbae; --cream:#f5ede1; --white:#fffaf3;
  --wa:#1fa855;
  --display:'Bodoni Moda','Didot','Bodoni 72',Georgia,serif;
  --script:'Pinyon Script','Snell Roundhand',cursive;
  --body:'Mulish','Avenir Next','Segoe UI',system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:var(--cream);color:var(--esp);font:400 18px/1.65 var(--body);-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3,p{margin:0}
:focus-visible{outline:3px solid #e2b973;outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-80px;z-index:100;background:var(--cream);padding:10px 16px;border-radius:6px}
.skip:focus{top:12px}
.ico{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 28px;border:2px solid transparent;font:700 15px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn.light{background:var(--cream);color:var(--esp)}
.btn.light:hover{background:#fff}
.btn.ghost{border-color:var(--cream);color:var(--cream);background:transparent}
.btn.ghost:hover{background:var(--cream);color:var(--esp)}
.btn.dark{background:var(--brown-2);color:var(--cream)}
.btn.dark:hover{background:var(--esp)}
.btn.wa{background:var(--wa);color:#fff}
.btn.wa:hover{background:#178a45}
.btn .ico{width:20px;height:20px}

/* Top bar */
.topbar{background:var(--esp);color:#f1e6d6;font-size:14px;font-weight:600;letter-spacing:.03em}
.tb-inner{display:flex;align-items:center;gap:18px;padding:0 0 0 16px;min-height:44px;max-width:1400px;margin:0 auto}
.tb-item{display:inline-flex;align-items:center;gap:8px;text-decoration:none;white-space:nowrap}
.tb-addr,.tb-hours{display:none}
.tb-cta{margin-left:auto;align-self:stretch;display:flex;align-items:center;padding:0 16px;background:var(--cream);color:var(--esp);text-decoration:none;font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.06em}

/* Header with round badge */
.header{position:sticky;top:0;z-index:30;background:var(--choc);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:68px;padding:0 12px;box-shadow:0 1px 0 rgba(0,0,0,.2)}
.nav{display:none}
.badge{grid-column:2;position:relative;align-self:start;margin-top:6px;width:112px;height:112px;border-radius:50%;background:var(--cream);display:grid;place-items:center;box-shadow:0 8px 22px -8px rgba(0,0,0,.55);transition:width .3s,height .3s,margin .3s;z-index:2}
.badge img{width:84%;height:auto}
.header.compact .badge{width:80px;height:80px;margin-top:4px}
.burger{grid-column:3;justify-self:end;width:46px;height:46px;border:0;background:none;color:var(--cream);display:grid;place-items:center;cursor:pointer}
.burger svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2}

.drawer{position:fixed;inset:0;z-index:60;background:rgba(43,29,21,.6)}
.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(380px,90vw);background:var(--cream);padding:24px 26px calc(30px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:22px;overflow:auto}
.drawer-close{align-self:flex-end;width:44px;height:44px;border:0;background:none;cursor:pointer}
.drawer-close svg{width:26px;height:26px;fill:none;stroke:var(--esp);stroke-width:2}
.drawer-logo{width:200px;align-self:center}
.drawer nav{display:flex;flex-direction:column}
.drawer nav a{font:500 30px/1.2 var(--display);text-decoration:none;padding:12px 0;border-bottom:1px solid rgba(43,29,21,.15)}
.drawer-info{font-size:15px;color:var(--brown-2)}

/* Hero */
.hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 90% at 20% 30%,#d8c4a2 0%,#b49572 45%,#7d5b40 100%);padding:80px 20px 60px;min-height:calc(100svh - 112px);display:flex;flex-direction:column}
.vertical{display:none}
.hero-plate{width:min(92vw,520px);aspect-ratio:1;border-radius:50%;overflow:hidden;align-self:flex-end;margin-right:-22vw;box-shadow:0 40px 80px -30px rgba(43,29,21,.7);order:2;margin-top:-30px}
.hero-plate img{width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero-text{position:relative;z-index:1;order:1}
.hero-title{font:600 clamp(68px,17vw,250px)/.88 var(--display);text-transform:uppercase;letter-spacing:-.01em;text-shadow:0 4px 40px rgba(60,35,20,.35)}
.hero-sub{font:500 clamp(26px,4vw,52px)/1.15 var(--display);margin-top:18px}
.hero-lead{margin-top:14px;max-width:34ch;font-size:19px;color:#fff6ea;text-shadow:0 1px 12px rgba(60,35,20,.45)}
.ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.status{display:inline-flex;align-items:center;gap:10px;margin-top:22px;background:rgba(43,29,21,.55);color:#fff;padding:9px 16px;border-radius:999px;font-weight:600;font-size:15px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.status::before{content:"";width:10px;height:10px;border-radius:50%;background:#4ccf7d;box-shadow:0 0 0 4px rgba(76,207,125,.25)}
.status.closed::before{background:#e0634f;box-shadow:0 0 0 4px rgba(224,99,79,.25)}

/* Oven (Grandir) */
.oven{position:relative;min-height:88vh;display:grid;place-items:center;overflow:hidden;color:#fff;text-align:center;background:#1c130e}
.bgvid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.oven-shade{position:absolute;inset:0;background:radial-gradient(70% 60% at 50% 50%,rgba(20,13,9,.35),rgba(20,13,9,.8))}
.oven-text{position:relative;padding:0 20px}
.oven-logo{width:180px;margin:0 auto 20px;filter:brightness(0) invert(1);opacity:.95}
.oven h2{font:500 clamp(40px,7vw,92px)/1.02 var(--display)}
.oven p{margin-top:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:14px;color:#f1e6d6}
.scrolldown{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font:500 16px var(--display);text-decoration:none;color:#fff}
.scrolldown span{width:1px;height:60px;background:#fff}

/* Stacked heading (Welling) */
.stack{position:relative;display:inline-block;padding-top:.55em}
.stack .caps{display:block;font:600 clamp(54px,11vw,150px)/.9 var(--display);text-transform:uppercase;letter-spacing:.01em;color:var(--brown-2)}
.stack .script{position:absolute;z-index:1;left:.4em;top:0;font:400 clamp(48px,8.5vw,120px)/1 var(--script);color:#9c7a57;transform:rotate(-6deg);white-space:nowrap;pointer-events:none}
.stack.light .caps{color:var(--cream)}
.stack.light .script{color:#d9bf98}

/* Selection */
.selection{position:relative;background:var(--oat);padding:90px 20px 100px;overflow:hidden}
.sel-head p{margin-top:26px;max-width:46ch;font-size:19px}
.side-label{display:none}
.sel-pics{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:46px;align-items:end;position:relative}
.arch{margin:0;border-radius:999px 999px 0 0;overflow:hidden;box-shadow:0 30px 50px -30px rgba(43,29,21,.6)}
.arch img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.rect{margin:0;overflow:hidden;box-shadow:0 30px 50px -30px rgba(43,29,21,.6)}
.rect img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3.4}
.ring{position:absolute;right:2%;top:-60px;width:140px;height:140px}
.ring svg{width:100%;height:100%;animation:spin 26s linear infinite;overflow:visible}
.ring text{font:500 17px var(--display);letter-spacing:.18em;text-transform:uppercase;fill:var(--esp)}
@keyframes spin{to{transform:rotate(360deg)}}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:70px}
.card{position:relative;display:block;aspect-ratio:3/4;overflow:hidden;box-shadow:0 26px 40px -24px rgba(43,29,21,.7);text-decoration:none;color:#fff}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover img{transform:scale(1.05)}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 50%,rgba(30,18,10,.75))}
.card span{position:absolute;left:16px;right:16px;bottom:16px;z-index:1;font:500 clamp(22px,2.4vw,32px)/1.1 var(--display)}

/* Menu */
.menu{background:var(--cream);padding:90px 20px}
.tabs{display:flex;flex-wrap:wrap;gap:8px 26px;margin:36px 0 34px;border-bottom:1px solid rgba(43,29,21,.2)}
.tabs button{background:none;border:0;padding:10px 0 12px;cursor:pointer;font:500 22px var(--display);color:rgba(43,29,21,.55);border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs button[aria-selected="true"]{color:var(--esp);border-color:var(--brown)}
.menu-body{display:grid;gap:34px}
.menu-pic{max-width:420px}
.menu-list{list-style:none;margin:0;padding:0}
.menu-list li{padding:16px 0;border-bottom:1px dotted rgba(43,29,21,.35);display:flex;flex-direction:column}
.mi-name{font:500 clamp(24px,2.4vw,30px)/1.2 var(--display)}
.mi-desc{color:#6d5440;font-size:16px}
.menu-note{margin-top:18px;font-size:15px;color:#6d5440}

/* Fresh (video + dotted card) */
.fresh{background:var(--white);padding:80px 20px;display:grid;gap:30px;align-items:center}
.fresh-vid{width:100%;aspect-ratio:16/10;object-fit:cover;background:#ddd}
.dotted{border:2px dotted #b9a68b;outline:1px solid #d9cbb6;outline-offset:-12px;padding:44px 32px;text-align:center;background:#fff}
.fresh-title{font:600 clamp(40px,4.6vw,58px)/.98 var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--brown-2)}
.flourish::before,.flourish::after{content:"~";font-family:var(--script);font-size:.8em;margin:0 .2em;color:var(--brown)}
.dotted hr{border:0;border-top:1px solid #e3d8c8;margin:26px auto;max-width:300px}
.dotted h2{font:700 18px var(--body);letter-spacing:.14em;text-transform:uppercase}
.dotted p{margin-top:10px;max-width:36ch;margin-inline:auto;color:#5d4636}

/* Inspire gallery */
.inspire{background:var(--oat-l);padding:90px 20px}
.ins-head p{margin-top:24px;max-width:46ch;font-size:19px}
.filters{display:flex;gap:8px;overflow-x:auto;margin:34px -20px 26px;padding:2px 20px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters button{flex:none;border:1.5px solid var(--brown-2);background:transparent;border-radius:999px;padding:9px 18px;font-weight:700;font-size:14px;cursor:pointer;color:var(--brown-2)}
.filters button[aria-pressed="true"]{background:var(--brown-2);color:var(--cream)}
.masonry{columns:2;column-gap:12px}
.tile{display:block;width:100%;padding:0;border:0;background:none;margin:0 0 12px;break-inside:avoid;position:relative;cursor:zoom-in;overflow:hidden;box-shadow:0 18px 30px -22px rgba(43,29,21,.7)}
.tile img{width:100%;height:auto;transition:transform .5s}
.tile:hover img{transform:scale(1.04)}
.tile-cat{position:absolute;left:10px;bottom:10px;background:rgba(43,29,21,.75);color:var(--cream);font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.04em}
.more-wrap{text-align:center;margin-top:26px}

.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;overflow:hidden}
.lightbox::backdrop{background:rgba(20,13,9,.92)}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:70px 16px 120px}
.lightbox img{max-height:calc(100vh - 210px);max-width:min(92vw,900px);width:auto;height:auto;object-fit:contain}
.lightbox figcaption{color:#f1e6d6;font-weight:600;font-size:15px}
.lb-close{position:absolute;top:14px;right:14px;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);cursor:pointer;display:grid;place-items:center}
.lb-close svg,.lb-nav svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:rgba(255,255,255,.12);cursor:pointer;display:grid;place-items:center}
.lb-nav.prev{left:10px}.lb-nav.next{right:10px}
.lb-cta{position:absolute;bottom:calc(26px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);white-space:nowrap}

/* Orders */
.orders{background:var(--esp);color:var(--cream);padding:90px 20px;display:grid;gap:34px}
.visit-media{min-width:0}
.orders-media video{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:999px 999px 0 0;background:#3a2a20}
.orders-text p{margin-top:22px;max-width:44ch;color:#e9dccb}
.order-form{display:grid;gap:14px;margin-top:30px;grid-template-columns:1fr 1fr}
.order-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#d9bf98}
.order-form label:first-child,.order-form label:nth-child(2){grid-column:1/-1}
.order-form .full{grid-column:1/-1}
.order-form input,.order-form select,.order-form textarea{font:400 17px var(--body);letter-spacing:0;text-transform:none;background:rgba(255,250,243,.07);border:1px solid rgba(245,237,225,.3);color:var(--cream);padding:12px 14px;border-radius:4px;width:100%}
.order-form select option{color:var(--esp)}
.order-form input:focus,.order-form select:focus,.order-form textarea:focus{outline:none;border-color:#d9bf98}
.order-form textarea{resize:vertical}
.form-note{font-size:14px;color:#bfae98;margin-top:-4px!important}

/* Family */
.family{background:var(--cream);padding:90px 20px}
.sign{margin:0 0 60px;overflow:hidden;box-shadow:0 30px 50px -30px rgba(43,29,21,.6)}
.sign img{width:100%}
.family-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}
.family-text{grid-column:1/-1;margin-bottom:24px}
.family-text p{margin-top:24px;max-width:46ch;font-size:19px}
.rect.tall img{aspect-ratio:3/4}

/* Visit */
.visit{background:var(--choc);color:var(--cream);padding:90px 20px;display:grid;gap:34px}
.visit-media video{width:100%;aspect-ratio:16/10;object-fit:cover;background:#4a3428;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.status.big{background:rgba(255,250,243,.1);margin-top:26px}
.info{margin:26px 0 0;display:grid;gap:18px}
.info div{border-top:1px solid rgba(245,237,225,.2);padding-top:14px}
.info dt{font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#d9bf98}
.info dd{margin:4px 0 0;font:500 22px/1.35 var(--display)}
.info a{text-decoration:none}

/* Footer */
.footer{background:var(--esp);color:#e9dccb;text-align:center;padding:60px 20px calc(100px + env(safe-area-inset-bottom,0px))}
.footer img{width:150px;height:150px;object-fit:contain;padding:14px;margin:0 auto;background:var(--cream);border-radius:50%}
.footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;margin:28px 0 20px;font:500 20px var(--display)}
.footer nav a{text-decoration:none}
.footer p{font-size:15px}
.copy{margin-top:16px!important;color:#a8957f}

/* WhatsApp float */
.wa-float{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;display:grid;place-items:center;box-shadow:0 12px 28px -8px rgba(0,0,0,.5);transition:transform .2s}
.wa-float:hover{transform:scale(1.07)}
.wa-float svg{width:32px;height:32px}

@media (min-width:900px){
  .tb-inner{padding-left:36px;gap:34px}
  .tb-addr,.tb-hours{display:inline-flex}
  .tb-cta{padding:0 26px}
  .header{height:84px;padding:0 36px;grid-template-rows:84px}
  .nav{display:flex;gap:44px;font:500 22px var(--display)}
  .nav a{text-decoration:none;position:relative;color:var(--cream)}
  .nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transition:transform .3s}
  .nav a:hover::after{transform:scaleX(1)}
  .nav-l{grid-column:1;justify-self:end;margin-right:70px}
  .nav-r{grid-column:3;grid-row:1;justify-self:start;margin-left:70px}
  .burger{display:none}
  .badge{grid-row:1;width:168px;height:168px;margin-top:10px}
  .header.compact .badge{width:96px;height:96px;margin-top:-6px}
  .hero{padding:150px 0 90px 140px;min-height:calc(100vh - 128px);justify-content:center}
  .vertical{display:block;position:absolute;left:46px;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-size:14px;color:#fff6ea}
  .hero-plate{position:absolute;right:-8vw;top:50%;transform:translateY(-46%);width:min(62vw,880px);margin:0}
  .hero-text{max-width:900px}
  .selection,.menu,.inspire,.family{padding:130px 7vw}
  .side-label{display:block;position:absolute;right:46px;top:120px;writing-mode:vertical-rl;font-weight:700;letter-spacing:.3em;text-transform:uppercase;font-size:14px}
  .sel-pics{grid-template-columns:1fr 1fr 1fr;max-width:1100px}
  .sel-pics .arch{grid-column:1}
  .sel-pics .rect{grid-column:2;align-self:end}
  .ring{position:static;grid-column:3;width:220px;height:220px;align-self:center}
  .cards{grid-template-columns:repeat(4,1fr);gap:28px}
  .cards .card:nth-child(even){transform:translateY(60px)}
  .menu-body{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
  .menu-list{columns:2;column-gap:46px}
  .menu-list li{break-inside:avoid}
  .fresh{grid-template-columns:1.5fr 1fr;padding:110px 7vw;gap:50px}
  .masonry{columns:4;column-gap:18px}
  .tile{margin-bottom:18px}
  .filters{margin-inline:0;padding-inline:0;flex-wrap:wrap}
  .orders{grid-template-columns:.8fr 1.2fr;padding:120px 7vw;gap:80px;align-items:center}
  .family-grid{grid-template-columns:1.2fr .8fr .8fr;gap:30px}
  .family-text{grid-column:auto;align-self:center;margin:0}
  .visit{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);padding:110px 6vw;gap:60px;align-items:center}
  .visit .stack .caps{font-size:clamp(54px,6.4vw,104px)}
  .visit .stack .script{font-size:clamp(44px,5vw,84px)}
  .info{grid-template-columns:1fr 1fr}
  .info div:last-child{grid-column:1/-1}
  .footer{padding-bottom:60px}
}
@media (min-width:600px) and (max-width:899px){ .masonry{columns:3} }
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
