/* Product-led motion, with readable content before JS initializes. */
.art-library{position:absolute;overflow:hidden;pointer-events:none}
.text-window{display:block;overflow:hidden;padding:.06em .04em .12em;margin:-.06em -.04em -.12em}
.text-window>span,.text-window>em{display:block;transform-origin:left bottom}
.box-pastry{transform:translateZ(32px)}
.ritual-strip{position:relative;padding:34px 20px;overflow:hidden;border-block:1px solid var(--line);font-weight:600}
.ritual-strip>span{display:inline-block;transform:translateY(var(--strip-shift,0px))}
.ritual-strip .strip-flower{font-size:26px;color:var(--rust);transform:rotate(var(--strip-turn,0deg))}
.menu-section{position:relative;isolation:isolate;overflow:clip}
.menu-bloom{position:absolute;z-index:-1;right:7%;top:15px;font:300 225px/1 var(--serif);color:#e8c47633;transform:translateY(var(--bloom-shift,0px)) rotate(var(--bloom-turn,0deg));pointer-events:none}
.menu-layout{grid-template-columns:1fr;gap:44px}
.menu-content{order:1;min-width:0}
.menu-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 22px;padding:14px 8px 14px 0}
.menu-item{--card-paper:#e9d9bb;--card-edge:#c3a780;position:relative;padding:0 20px 18px;overflow:visible;border-radius:18px;background:var(--card-paper);border:1px solid #2b1b1720;transform:none;transform-origin:50% 90%;box-shadow:4px 5px 0 var(--card-edge),8px 14px 20px #2b1b170c;transition:transform 260ms var(--ease),box-shadow 260ms var(--ease)}
.menu-item[hidden]{display:none}
.product-visual{height:190px;position:relative;margin:0 -20px 16px;border-radius:17px 17px 0 0;isolation:isolate}
.product-halo{display:none}
.product-art{position:absolute;width:88%;height:100%;left:6%;top:0;overflow:visible;pointer-events:none}
.product-number{position:absolute;left:22px;top:20px;color:#6b4f3b;font:600 10px var(--sans);letter-spacing:2px}
.product-spark{position:absolute;right:19px;bottom:8px;color:#6b2637;font-size:20px}
.menu-item:nth-child(4n+2){--card-paper:#f0d886;--card-edge:#c6a94f}
.menu-item:nth-child(4n+3){--card-paper:#e9ccc4;--card-edge:#bf968c}
.menu-item:nth-child(4n+4){--card-paper:#dadcc5;--card-edge:#a5aa8b}
.menu-item[data-category=frios]{--card-paper:#dadcc5;--card-edge:#a5aa8b}
.menu-item[data-category=pan]{--card-paper:#f0d886;--card-edge:#c6a94f}
#espresso{--foam:0;--drink-color:#603317}#espresso .product-art{width:75%;left:12.5%;height:95%;top:2%}
#americano{--foam:0;--drink-color:#492619}#capuchino{--drink-color:#c3935a}
#cold-brew{--drink-color:#6b4029;--milk-color:#492619}#iced-latte{--drink-color:#a56e40;--milk-color:#dbc09a}
#croissant .product-art{width:80%;left:10%;height:90%;top:7%}
#rollo-canela .product-art{width:82%;left:9%;height:103%;top:-2%}
.menu-item .item-top{margin-bottom:12px}.menu-item .item-name-row{gap:12px;align-items:baseline}
.menu-item h3{font-size:22px}.menu-item .item-price{font-size:18px;white-space:nowrap}
.menu-item .item-description{min-height:96px;margin-top:12px;color:#544034}
.menu-item .item-detail{display:flex;justify-content:space-between;width:100%;border-top:1px solid #2b1b1730;padding-top:12px}
.menu-item .item-detail[hidden]{display:none}.menu-filters{border-bottom:0;margin-bottom:26px}
.pairing{order:2;display:grid;grid-template-columns:1.15fr 1fr;max-width:900px;width:100%;justify-self:center;background:#f0e2c7}
.pairing-photo{align-self:center}.pairing-copy{padding:32px}.pairing h3 br{display:none}
.essence{position:relative;isolation:isolate;overflow:hidden;background:#632635;padding-block:100px}
.essence-inner{position:relative;z-index:1}.essence-shapes{position:absolute;inset:0;z-index:0;pointer-events:none}
.essence-shapes span{position:absolute;display:block;border-radius:46% 54% 64% 36%;transform:translateY(var(--shape-shift,0px)) rotate(var(--shape-turn,0deg))}
.essence-shapes span:first-child{width:480px;height:480px;right:-230px;top:-100px;background:#7e3a42}
.essence-shapes span:last-child{width:400px;height:180px;left:-230px;bottom:-140px;background:#f2d58a}
.essence h2{max-width:900px;translate:0 var(--text-shift,0px)}.essence .eyebrow{color:#f2d58a}.essence-signature{transform:rotate(-4deg)}
@media(hover:hover) and (pointer:fine){.menu-item:hover{transform:translateY(-5px);box-shadow:4px 7px 0 var(--card-edge),8px 18px 24px #2b1b1714}}
@media(max-width:1100px){.menu-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-visual{height:190px}.menu-item h3{font-size:23px}.menu-item .item-description{min-height:100px}}
@media(max-width:800px){.product-visual{height:175px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.menu-item h3{font-size:22px}.menu-item .item-description{min-height:78px}.menu-bloom{font-size:180px}.essence{padding-block:75px}}
@media(max-width:560px){
 .menu-grid{grid-template-columns:1fr;gap:28px;padding-right:5px}.menu-item{padding:0 23px 18px}.product-visual{height:210px;margin-inline:-23px;margin-bottom:14px}
 .menu-item h3{font-size:25px}.menu-item .item-description{min-height:0}.menu-item .item-detail{font-size:14px}
 .product-art{width:82%;left:9%}.product-halo{width:170px;height:170px}.pairing{grid-template-columns:1fr}.pairing-copy{padding:25px}
 .ritual-strip{padding-block:25px}.menu-bloom{font-size:145px;right:0;top:22px}
 .essence{padding-block:65px}.essence h2{font-size:clamp(31px,8.3vw,47px)}.essence-shapes span:first-child{right:-330px}
}
@media(prefers-reduced-motion:reduce){
 .text-window>*{transform:none!important;opacity:1!important}
 .product-art,.product-spark,.menu-bloom,.ritual-strip>span,.essence-shapes span{transform:none!important;transition:none!important}
 .box-stage .coffee-group{translate:none!important}.box-pastry{transform:translateZ(32px)!important}
 .menu-bloom{opacity:.6}
 .menu-item,.menu-item:hover{transform:none!important}.essence h2{translate:none!important}
 .bakery-box{transform:translate(-50%,-50%) scale(var(--box-scale)) rotateX(48deg) rotateZ(-22deg)}
}
