:root{--paper:#f0dfb8;--cream:#f8edcf;--ink:#241c17;--wine:#7c2428;--gold:#d8a14e;--line:#bc9f71;--muted:#725e48;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:150px}
*{box-sizing:border-box}body{margin:0;background-image:url('./images/papel.svg');padding-bottom:env(safe-area-inset-bottom)}button,input,select,textarea{font:inherit;font-size:16px}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ad5d24;outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:16px;z-index:110;background:var(--cream);padding:15px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.top{height:90px;background:var(--ink);color:var(--cream);display:flex;align-items:center;justify-content:space-between;padding:0 max(6vw,20px);border-bottom:3px double #a5804a}.wordmark{display:flex;gap:12px;align-items:center;text-decoration:none}.wordmark svg{width:28px;height:35px;color:#c84a29}.wordmark>span{font-family:Rye,Georgia,serif;font-size:24px;letter-spacing:1px}.wordmark small{font:10px Arial,sans-serif;letter-spacing:2.2px;display:block;margin-top:5px}.header-order{display:flex;gap:28px;align-items:center;text-decoration:none;font-size:13px;font-weight:700;border-bottom:1px solid #8c714f;padding:10px 0}.header-order span{font-size:24px;color:var(--gold)}
.hero{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:auto;min-height:690px}.hero-copy{padding:70px 40px 50px max(6vw,24px);align-self:center}.rancho-label{font-family:Georgia,serif;font-style:italic;font-size:18px;display:flex;gap:16px;align-items:center;margin-bottom:24px}.rancho-label span{font-style:normal;font-size:12px;color:var(--wine)}h1,h2,h3,.footer-brand{font-family:Rye,Georgia,serif;font-weight:400}h1{font-size:clamp(48px,5.1vw,76px);letter-spacing:-2px;line-height:1.12;margin:0 0 26px}h1 span{color:var(--wine)}.hero-copy>p{font:18px/1.7 Georgia,serif;margin:0 0 30px}.button{border:0;display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:54px;text-decoration:none;padding:16px 25px;font-weight:700;font-size:15px;border-radius:3px;transition:background .18s,transform .18s}.primary{color:var(--cream);background:var(--wine);box-shadow:3px 3px 0 #47211d}.primary:hover{background:#602125}.primary:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #47211d}.hero-location{font-size:12px;margin-top:35px;color:var(--muted)}.hero-location span{font-size:20px;margin-right:5px}.hero-photo{position:relative;min-height:690px;overflow:hidden;background:#2c1b11}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:center 54%}.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(20,13,8,.85),transparent 40%)}.photo-stamp{position:absolute;right:26px;top:30px;width:145px;height:145px;z-index:1;color:var(--cream);border:1px solid var(--cream);outline:1px solid var(--cream);outline-offset:5px;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transform:rotate(12deg);background:#682427eb}.photo-stamp strong{font-family:Rye,Georgia,serif;font-weight:400;font-size:19px;line-height:1.3;margin:7px 0}.photo-stamp span{font-size:9px}.photo-caption{position:absolute;bottom:30px;left:32px;right:32px;z-index:1;color:var(--cream);display:flex;flex-direction:column;gap:4px;font:italic 19px Georgia,serif}.photo-caption span:last-child{font:11px Arial,sans-serif;letter-spacing:.5px}.brand-strip{display:flex;justify-content:center;align-items:center;gap:45px;padding:19px 20px;background:var(--wine);color:var(--cream);font:italic 16px Georgia,serif}.brand-strip b{font-size:16px;font-style:normal;color:#d8aa70}
.categories{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 3px 12px #241c1708}.categories>div{max-width:1120px;margin:auto;display:flex;justify-content:center;gap:10px;padding:13px 20px;overflow-x:auto;scrollbar-width:none}.categories a{flex-shrink:0;text-decoration:none;min-height:44px;display:flex;align-items:center;justify-content:center;padding:11px 24px;font-size:14px;font-weight:700;border:1px solid transparent;border-radius:2px}.categories a:hover,.categories a.active{border-color:var(--ink);background:var(--ink);color:var(--cream)}
.menu-wrap{max-width:1120px;margin:auto;padding:60px 24px 35px}.menu-heading{display:flex;align-items:center;justify-content:center;gap:24px;margin-bottom:60px}.menu-heading p{font:italic 18px Georgia,serif;margin:0;white-space:nowrap;color:var(--muted)}.rule{height:1px;background:var(--line);width:110px;position:relative}.rule:after{content:'✦';position:absolute;font-size:12px;right:-2px;top:-8px;background:var(--paper);padding-left:8px;color:var(--wine)}.rule:last-child{transform:rotate(180deg)}.menu-section{margin-bottom:64px;scroll-margin-top:100px}.section-title{display:flex;align-items:center;gap:20px;border-bottom:3px double var(--ink);padding-bottom:20px;margin-bottom:4px}.section-title>div{flex:1}.section-title h2{font-size:clamp(26px,3.2vw,40px);margin:0 0 10px}.section-title p{color:var(--muted);font:16px/1.5 Georgia,serif;margin:0}.section-mark{font-size:28px;color:var(--wine)}.product-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:45px}.product{display:flex;justify-content:space-between;gap:18px;padding:25px 0;border-bottom:1px solid #bda67d;position:relative;transition:background .2s}.product.selected{background:#7c242807}.product-info{flex:1;min-width:0}.product h3{font-size:21px;margin:0 0 10px;line-height:1.35}.product p{font-size:13px;color:var(--muted);line-height:1.7;margin:0;max-width:38ch}.product .badge{display:inline-block;font:italic 12px Georgia,serif;color:var(--wine);margin-top:10px}.product-side{display:flex;flex-direction:column;align-items:flex-end;gap:17px;flex-shrink:0}.price{font-weight:700;font-size:14px;white-space:nowrap}.quantity{display:flex;align-items:center;gap:8px}.quantity button{width:38px;height:38px;border:1px solid var(--wine);background:transparent;color:var(--wine);border-radius:50%;font-size:23px;line-height:1}.quantity button:hover{background:var(--wine);color:var(--cream)}.quantity span{font-size:14px;font-weight:700;min-width:16px;text-align:center}.product.selected .quantity{background:#7c24280d;border-radius:30px}.size-label{display:block;margin-top:14px;font-size:12px;font-weight:700}.size-label select{background:transparent;border:1px solid #b99d70;border-radius:2px;padding:9px 28px 9px 8px;max-width:100%;margin-top:7px;display:block;font-size:16px;color:var(--ink)}
.pizza-banner{height:280px;position:relative;overflow:hidden;margin:15px 0 35px;background:var(--ink);display:flex;align-items:center}.pizza-banner img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.pizza-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1c130ce8,transparent 90%)}.pizza-banner p{position:relative;z-index:1;font-family:Rye,Georgia,serif;color:var(--cream);font-size:35px;line-height:1.35;margin:30px;max-width:340px}.pizza-banner p span{color:#edc78b;display:block}
.location{border-top:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:75px;padding:65px 24px 70px;background:#e3cfa444;scroll-margin-top:90px}.location-seal{width:230px;flex-shrink:0}.location-seal img{width:100%;height:auto;mix-blend-mode:multiply}.small-title{font:italic 14px Georgia,serif;color:var(--muted)}.location h2{font-size:32px;line-height:1.4;margin:15px 0}.location p:not(.small-title){font-size:14px;line-height:1.7}.location-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:25px}.location-links a{font-size:13px;font-weight:700;text-underline-offset:5px;min-height:35px;display:inline-flex;gap:18px;align-items:center}footer{text-align:center;color:#d4bd98;background:var(--ink);padding:40px 20px 110px}.footer-brand{font-size:25px;letter-spacing:2px}footer p{font:italic 15px Georgia,serif;margin:12px 0 25px}footer small{display:block;margin-top:20px;font-size:10px;opacity:.65}
.cart-bar{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:15;width:min(560px,calc(100% - 30px));display:flex;align-items:center;gap:15px;border:1px solid #d7ac70;border-radius:4px;background:var(--ink);color:var(--cream);padding:13px 20px;box-shadow:0 8px 40px #241c1740;min-height:64px}.cart-bar>span:nth-child(2){font-weight:700;font-size:14px}.cart-bar strong{margin-left:auto;font-size:15px}.cart-bar>span:last-child{font-size:22px;color:var(--gold)}.cart-number{border:1px solid #987b52;width:32px;height:32px;display:grid;place-items:center;font-size:13px;border-radius:50%}
dialog{position:fixed;inset:0 0 0 auto;width:min(100%,470px);height:100dvh;max-height:none;max-width:none;margin:0;border:0;border-left:1px solid var(--line);padding:0;background:var(--paper);color:var(--ink);overflow:hidden}dialog::backdrop{background:#17110caa;backdrop-filter:blur(3px)}dialog[open]{animation:drawer-in .25s ease-out}.drawer{display:flex;flex-direction:column;height:100%;padding-bottom:env(safe-area-inset-bottom)}.drawer-top{padding:23px;display:flex;justify-content:space-between;align-items:center;border-bottom:3px double var(--line);flex-shrink:0}.drawer-top h2{font-size:28px;margin:7px 0 0}.icon-button{background:none;border:1px solid var(--line);width:42px;height:42px;border-radius:50%;color:var(--ink)}.drawer-scroll{overflow-y:auto;overscroll-behavior:contain;padding:0 24px 24px;flex:1;min-height:0}.cart-line{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:20px 0}.cart-line h3{font-size:16px;margin:0 0 7px}.cart-line p{font-size:13px;margin:0;color:var(--muted)}.empty{font:18px/1.7 Georgia,serif;padding:35px 0}form{padding-top:24px}form>label,#delivery-fields>label{display:block;font-size:13px;font-weight:700;margin:0 0 9px}input:not([type=radio]),textarea{width:100%;padding:13px;border:1px solid var(--line);border-radius:3px;background:#f8edcf88;color:var(--ink);margin-bottom:23px;resize:vertical}input::placeholder,textarea::placeholder{color:#887257}.delivery-mode{border:0;padding:0;margin:0 0 23px;display:grid;grid-template-columns:1fr 1fr;gap:8px}.delivery-mode legend{font-size:13px;font-weight:700;margin-bottom:10px}.delivery-mode label{position:relative}.delivery-mode input{position:absolute;opacity:0}.delivery-mode span{display:block;border:1px solid var(--line);text-align:center;padding:14px 5px;font-size:13px;border-radius:3px;cursor:pointer}.delivery-mode input:checked+span{background:var(--ink);color:var(--cream);border-color:var(--ink)}.delivery-mode input:focus-visible+span{outline:3px solid #ad5d24;outline-offset:3px}.delivery-road{display:flex;align-items:center;gap:12px;padding:0 0 14px;color:var(--wine)}.delivery-road span{font-size:35px}.delivery-road p{font:italic 17px Georgia,serif}#delivery-fields small{display:block;font-size:11px;margin:-12px 0 24px;color:var(--muted)}.order-total{display:flex;justify-content:space-between;align-items:center;padding:5px 0 25px;font-family:Georgia,serif;font-size:22px}.order-total strong{color:var(--wine);font-family:Arial,sans-serif;font-size:23px}.send{width:100%;gap:12px}.send-note{font-size:11px;line-height:1.6;text-align:center;color:var(--muted);margin:17px 0}.text-button{display:block;width:100%;border:0;background:none;text-decoration:underline;text-underline-offset:4px;color:var(--ink);padding:12px;font-size:13px;min-height:44px}.text-button.muted{color:var(--muted)}#order-status{font-size:13px;color:var(--wine);line-height:1.5}
.intro{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:radial-gradient(ellipse at 50% 85%,#81341d55,transparent 60%),#18130f;color:var(--paper);transition:opacity .3s,visibility .3s}.intro.leaving{opacity:0;visibility:hidden;pointer-events:none}.intro-seal{position:relative;max-width:65vw;width:340px;aspect-ratio:1;background:var(--paper);border-radius:50%;box-shadow:0 0 0 8px #2a2118,0 0 0 9px #d3984b55,0 0 65px #ea6e2933;animation:none}.intro-seal img{width:100%;height:100%;object-fit:contain;border-radius:50%;mix-blend-mode:multiply}.intro>p{font:italic 17px Georgia,serif;margin:35px 0 25px;animation:appear .6s .2s both}.intro>button{border:1px solid #a7875f66;color:var(--paper);background:transparent;padding:12px 18px;font-size:12px;border-radius:2px;z-index:2}.intro>button span{margin-left:20px}.ember-bed{position:absolute;inset:0;pointer-events:none}.ember{position:absolute;left:var(--x);bottom:-15px;width:var(--w);height:var(--w);background:#f29d42;border-radius:50%;box-shadow:0 0 9px 2px #ee6427;animation:ember-rise var(--t) var(--d) ease-out infinite;opacity:0}
@keyframes drawer-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes appear{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ember-rise{0%{opacity:0;transform:translate(0,0)}15%{opacity:.9}100%{opacity:0;transform:translate(var(--drift),-95vh)}}
@media(min-width:1440px){.hero-copy{padding-left:85px}}@media(max-width:1000px){.hero{min-height:610px}.hero-photo{min-height:610px}.hero-copy{padding:45px 25px 45px 30px}h1{font-size:52px}.product-grid{column-gap:28px}.product h3{font-size:18px}.brand-strip{gap:24px}}
@media(max-width:700px){:root{scroll-padding-top:85px}.top{height:78px;padding:0 20px}.wordmark>span{font-size:19px}.wordmark small{font-size:8px;letter-spacing:1.3px}.wordmark svg{width:22px}.header-order{font-size:11px;gap:10px}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:40px 24px 35px;position:relative}h1{font-size:clamp(43px,11vw,66px);letter-spacing:-1.5px;margin:0 0 22px}.rancho-label{font-size:16px;margin-bottom:22px;gap:12px}.hero-copy>p{font-size:17px;line-height:1.6;margin-bottom:23px}.hero-location{font-size:11px;margin-top:25px}.hero-photo{min-height:385px;max-height:440px;height:100vw}.hero-photo>img{object-position:center 58%}.photo-stamp{width:115px;height:115px;right:20px;top:25px}.photo-stamp strong{font-size:15px}.photo-stamp span{font-size:8px}.photo-caption{left:24px;bottom:25px;font-size:18px}.brand-strip{gap:15px;padding:16px 10px;font-size:13px;overflow:hidden;white-space:nowrap}.brand-strip span:last-child,.brand-strip b:nth-last-child(2){display:none}.brand-strip b{font-size:11px}.categories>div{padding:10px 14px;justify-content:flex-start;gap:5px}.categories a{font-size:12px;padding:10px 14px;min-height:42px}.menu-wrap{padding:38px 23px 10px}.menu-heading{gap:16px;margin-bottom:40px}.menu-heading p{font-size:16px}.rule{width:65px}.menu-section{margin-bottom:44px}.section-title{gap:10px;padding-bottom:18px}.section-title h2{font-size:29px}.section-title p{font-size:15px}.product-grid{grid-template-columns:1fr}.product{padding:24px 0;gap:13px}.product h3{font-size:20px}.product p{font-size:13px}.product-side{gap:18px}.price{font-size:13px}.pizza-banner{height:230px;margin-top:20px}.pizza-banner p{font-size:26px;margin:22px;max-width:240px}.location{gap:25px;flex-direction:column;text-align:center;padding:40px 24px 50px}.location-seal{width:165px}.location h2{font-size:27px}.location-links{justify-content:center;gap:24px}.cart-bar{padding:12px 15px;gap:10px;bottom:max(12px,env(safe-area-inset-bottom));min-height:62px}.cart-bar>span:nth-child(2){font-size:13px}.cart-bar strong{font-size:14px}.cart-number{width:29px;height:29px}.drawer-top{padding:20px}.drawer-scroll{padding:0 20px 24px}.intro-seal{max-width:70vw;width:300px}}
@media(max-width:360px){.top{padding:0 15px}.header-order{gap:5px;font-size:10px}.wordmark>span{font-size:17px}.wordmark small{letter-spacing:.8px}.hero-copy{padding-left:20px;padding-right:20px}.menu-wrap{padding-left:18px;padding-right:18px}.product h3{font-size:18px}.quantity{gap:5px}.quantity button{width:34px;height:34px}.product-side{gap:13px}.product p{font-size:12px}.section-title h2{font-size:25px}.cart-bar>span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.ember{display:none}}

/* Un lecho de carbón, no una lluvia de puntos: núcleos calientes y cortezas oscuras. */
.intro{width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:20px;background:radial-gradient(ellipse at 50% 110%,#d9582299 0,transparent 65%),radial-gradient(ellipse at 50% 90%,#5f241e88,transparent 75%),#18130f}
.intro[open]{animation:none}.intro::backdrop{background:#18130f}.intro-seal{z-index:1}.intro>p,.intro>button{position:relative;z-index:2}.ember-bed{background:radial-gradient(ellipse at 50% 110%,#ff9a344d,transparent 53%)}
.ember-bed:before{content:'';position:absolute;bottom:-8%;left:-10%;width:120%;height:30%;background:radial-gradient(ellipse at 50% 100%,#ffbc54a0,#b9361744 40%,transparent 70%);filter:blur(18px);animation:heat-breathe 1.6s ease-in-out infinite alternate}
.coal{position:absolute;bottom:var(--bottom);left:var(--x);width:var(--w);height:var(--h);border-radius:32% 58% 38% 46%;transform:rotate(var(--r));border:2px solid #501c14;background:radial-gradient(ellipse at 30% 28%,#fff1a9 0,#ffba4c 9%,#ff6c27 25%,#ba321d 47%,#351b17 70%);box-shadow:inset 5px 4px 8px #271811b0,inset -2px -3px 4px #ff8c2f80,0 0 14px #ed541e88,0 0 35px #e9602540;animation:coal-breathe var(--t) var(--d) ease-in-out infinite alternate}
.coal:after{content:'';position:absolute;inset:10% 12%;border-radius:inherit;background:linear-gradient(32deg,transparent 39%,#211712 41%,#211712 46%,transparent 48%),linear-gradient(105deg,transparent 48%,#2d1a15 51%,transparent 56%);opacity:.85}
.ember{bottom:3%;height:calc(var(--w)*1.7);border-radius:35% 60% 40% 55%;background:radial-gradient(ellipse at 35% 28%,#ffe9a0 0,#ffb54b 25%,#e24c23 55%,#75251c 85%);box-shadow:0 0 9px 3px #ff8b3599,0 0 25px #ed541e66;animation-name:ember-lift}
@keyframes coal-breathe{from{filter:brightness(.65);box-shadow:inset 5px 4px 8px #271811b0,0 0 12px #ed541e66}to{filter:brightness(1.35);box-shadow:inset 5px 4px 8px #27181188,0 0 24px #ed541eaa,0 0 60px #ff7b3444}}
@keyframes ember-lift{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:1}65%{opacity:.8}100%{opacity:0;transform:translate(var(--drift),-105vh) rotate(180deg) scale(.35)}}
@keyframes heat-breathe{to{opacity:.55;transform:scaleX(1.1)}}
@media(max-width:700px){.ember-bed:before{height:38%}.intro-seal{width:300px;max-width:73vw}}
@media(prefers-reduced-motion:reduce){.coal,.ember-bed:before{animation:none}}
.coal{border-radius:10%;clip-path:polygon(5% 18%,35% 0,79% 6%,100% 33%,91% 83%,61% 100%,17% 88%,0 54%);background:radial-gradient(ellipse at 30% 28%,#6c3020,#211916 65%);border-color:#c14b27}
.coal:after{inset:0;border-radius:inherit;opacity:1;background:linear-gradient(32deg,transparent 36%,#ffcf68 38%,#fb6626 42%,transparent 45%),linear-gradient(105deg,transparent 48%,#ffe6a0 50%,#f95d23 53%,transparent 56%),radial-gradient(ellipse at 75% 80%,#e76126aa,transparent 55%)}

/* El emblema permanece a resolución nativa: el encendido afecta solo su halo. */
.intro:not(.logo-ready) .intro-seal{visibility:hidden}
.intro-seal img{display:block;filter:none;transform:none}
.intro-seal:after{content:'';position:absolute;inset:-10px;border:1px solid #c58d49;border-radius:50%;pointer-events:none;opacity:0}
.intro.logo-ready .intro-seal:after{animation:seal-glow .65s ease-out both}
.intro-fallback{display:none}.intro.logo-failed .intro-seal img{display:none}.intro.logo-failed .intro-fallback{display:grid;place-items:center;width:100%;height:100%;font:26px Rye,Georgia,serif;color:var(--ink)}
@keyframes seal-glow{from{opacity:0;box-shadow:0 0 10px #ea6e2922}60%{opacity:1;box-shadow:0 0 60px 10px #ed712b99}to{opacity:.9;box-shadow:0 0 40px 5px #ea6e2955}}

/* Primera pintura: cubrir el menú hasta que el script abra la presentación. */
html:not(.app-ready) #intro[hidden]{display:flex!important}
img[data-src]:not([src]){visibility:hidden}
