@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#102847;background:#fffdf9;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}[hidden]{display:none!important}.shell{width:min(1216px,calc(100% - 48px));margin:auto}.skip{position:absolute;z-index:50;top:-100px;left:12px;padding:12px;background:white}.skip:focus{top:10px}.site-header{position:sticky;z-index:30;top:0;background:rgba(255,253,249,.95);backdrop-filter:blur(14px);border-bottom:1px solid #ede5d8}.header-row{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:15px;background:#004A9F;color:#fff;font:900 16px 'Outfit',sans-serif;overflow:hidden}.brand-mark img{width:100%;height:100%;object-fit:contain;background:white}.brand b{display:block;font:900 20px 'Outfit',sans-serif;letter-spacing:-.03em;line-height:1.05}.brand small{display:block;color:#C81F26;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;margin-top:3px}.desktop-nav{display:flex;align-items:center;gap:32px;font-weight:800;font-size:13px}.desktop-nav a:hover,.footer-social a:hover{color:#C81F26}.lang-switch{display:flex;align-items:center;background:#e9eef5;border-radius:11px;padding:4px;gap:2px;flex:none}.lang-button{border:0;background:transparent;color:#526784;border-radius:8px;min-width:37px;min-height:32px;font-size:11px;font-weight:900}.lang-button[aria-pressed=true]{background:#004A9F;color:white}.hero{overflow:hidden;background:#063783;color:white}.hero-inner{min-height:475px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(230px,.8fr);align-items:center;gap:30px}.hero-copy{padding:52px 0 58px;position:relative;z-index:1}.eyebrow,.kicker{margin:0 0 16px;text-transform:uppercase;letter-spacing:.15em;font-weight:900;font-size:12px}.eyebrow{color:#FFE074;display:flex;align-items:center;gap:10px}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#FFCE2B}.hero h1,.section-top h2,.visit-content h2,.order-panel h2{font-family:'Outfit',sans-serif;font-weight:900;letter-spacing:-.055em;margin:0;line-height:1.05}.hero h1{font-size:clamp(47px,6.2vw,88px)}.hero h1 em{font-style:normal;color:#FFE067}.hero-description{font-size:clamp(15px,1.4vw,18px);line-height:1.7;color:#dce8f5;max-width:580px;margin:24px 0 28px}.hero-actions,.visit-actions,.order-links{display:flex;flex-wrap:wrap;gap:11px}.button,.action-link{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:46px;padding:11px 20px;border-radius:11px;font-weight:900;font-size:14px;transition:transform .15s,box-shadow .15s}.button:hover,.action-link:hover{transform:translateY(-2px)}.button-primary{background:#FFD027;color:#063783}.button-outline{border:1px solid rgba(255,255,255,.42);color:white}.hero-art{position:relative;display:grid;place-items:center;min-height:400px;isolation:isolate}.hero-art>span{font:900 clamp(110px,17vw,250px) 'Outfit',sans-serif;letter-spacing:-.09em;color:#FFD027;transform:rotate(-10deg);text-shadow:10px 16px 0 #C92024}.art-ring{position:absolute;width:92%;aspect-ratio:1;border:2px solid rgba(255,255,255,.17);border-radius:50%;z-index:-1}.art-ring:before,.art-ring:after{content:'';position:absolute;inset:12%;border:1px solid rgba(255,255,255,.1);border-radius:50%}.art-ring:after{inset:-12%;border-style:dashed}.art-badge{position:absolute;right:7%;top:18%;font-size:60px;color:#FFD027}.hero-bottom{display:flex;justify-content:space-between;gap:30px;align-items:center;border-top:1px solid #ffffff24;background:#033078;color:#d1dcec;padding:13px max(24px,calc((100% - 1216px)/2));font-size:10px;font-weight:800;letter-spacing:.16em}.menu-section{padding-top:76px;padding-bottom:86px}.section-top{display:flex;justify-content:space-between;align-items:center;gap:20px}.kicker{color:#C81F26}.section-top h2,.visit-content h2,.order-panel h2{font-size:clamp(35px,4vw,56px)}.section-desc{margin:16px 0 0;color:#5c6b7e;max-width:650px;line-height:1.6}.menu-flourish{font-size:84px;color:#e5eef6;line-height:1}.filter-bar{margin-top:34px;display:flex;align-items:center;justify-content:space-between;gap:22px}.category-list{display:flex;flex-wrap:wrap;gap:8px;min-width:0}.category-list button{border:1px solid #dde4ec;background:white;color:#36506c;border-radius:100px;padding:10px 17px;font-size:13px;font-weight:800;white-space:nowrap}.category-list button[aria-pressed=true]{background:#0045A7;border-color:#0045A7;color:white}.search-wrap{display:flex;align-items:center;gap:8px;background:#f4f6f8;border:1px solid #e3e7ee;border-radius:12px;min-width:min(240px,100%);height:43px;padding:0 12px}.search-wrap>span{font-size:23px;line-height:1;color:#789}.search-wrap input{border:0;background:transparent;outline:none;width:100%;font-size:13px}.menu-day{margin:18px 0 24px;color:#697b8f;font-size:13px;font-weight:700}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.food-card{border:1px solid #e5eaf0;border-radius:20px;background:white;overflow:hidden;box-shadow:0 5px 20px #0b366808;display:flex;flex-direction:column;min-width:0}.food-image{height:185px;background:linear-gradient(145deg,#eff3f7,#e3eaf0);display:grid;place-items:center;overflow:hidden}.food-image img{width:100%;height:100%;object-fit:cover}.food-placeholder{color:#a8b8c9;font:900 60px 'Outfit',sans-serif;letter-spacing:-.08em}.food-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}.food-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.food-title{font:800 clamp(17px,1.6vw,20px) 'Outfit',sans-serif;line-height:1.17;overflow-wrap:anywhere;margin:0}.food-price{font:900 19px 'Outfit',sans-serif;color:#00613E;white-space:nowrap}.food-description{margin:0;color:#657589;font-size:13px;line-height:1.55}.food-options{border-top:1px solid #edf0f3;margin-top:auto;padding-top:11px;font-size:12px;color:#36506c}.food-options summary{cursor:pointer;font-weight:800;list-style:none}.food-options summary:after{content:'+';float:right;font-size:16px;line-height:12px}.food-options[open] summary:after{content:'−'}.option-group{padding-top:13px}.option-group strong{display:block;margin-bottom:7px;color:#183654}.option-line{display:flex;justify-content:space-between;gap:10px;padding:5px 0;color:#617084}.option-line b{color:#0045A7;white-space:nowrap}.menu-empty{padding:40px 16px;text-align:center;color:#596d80;background:#f4f7fa;border-radius:18px}.menu-fineprint{margin-top:26px;color:#8996a5;font-size:12px}.visit-section{background:#f0f5f7;padding:76px 0}.visit-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:48px}.visit-content .address{font-size:19px;font-weight:700;line-height:1.55;margin:28px 0 8px;white-space:pre-line}.hours{color:#50647a;font-size:14px;line-height:1.6;white-space:pre-line}.visit-actions{margin-top:26px}.action-link{color:#0045A7;background:#fff;border:1px solid #d7e2ed}.action-link.highlight{background:#00613E;color:#fff;border-color:#00613E}.map-card{border:7px solid white;background:#e1e8ef;border-radius:22px;min-height:320px;box-shadow:0 18px 42px #24435b13;overflow:hidden}.map-holder,.map-holder iframe{width:100%;height:100%;min-height:306px}.map-holder iframe{border:0}.map-placeholder{height:306px;display:grid;place-content:center;text-align:center;padding:25px;color:#64798a}.map-placeholder span{font-size:58px;color:#aab8c4}.order-section{padding-top:76px;padding-bottom:78px}.order-panel{background:#EAF4FE;border-radius:26px;padding:46px 54px;display:flex;justify-content:space-between;align-items:center;gap:30px;overflow:hidden}.order-panel p:not(.kicker){max-width:550px;color:#59647a;line-height:1.6}.order-links{margin-top:26px}.order-links .action-link{background:#0045A7;border-color:#0045A7;color:#fff}.order-links .action-link.whatsapp{background:#00613E;border-color:#00613E}.order-decor{font:900 120px 'Outfit',sans-serif;color:#F1BE3C;letter-spacing:-.09em;transform:rotate(-10deg)}.order-decor span{font-size:40px;vertical-align:top;color:#C81F26}.footer{background:#063783;color:white;padding:36px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-inner b{font:900 23px 'Outfit',sans-serif}.footer-inner p{color:#bcd0e5;margin:2px 0 0;font-size:12px}.footer-inner small{color:#bcd0e5}.footer-social{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;font-weight:800}@media(max-width:920px){.desktop-nav{gap:15px}.hero-inner{min-height:400px}.hero-art{min-height:310px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-bar{align-items:stretch;flex-direction:column}.search-wrap{width:100%}.visit-grid{gap:25px}.order-decor{font-size:82px}}@media(max-width:640px){.shell{width:min(100% - 32px,1216px)}.header-row{min-height:70px}.desktop-nav{display:none}.brand-mark{width:42px;height:42px}.brand b{font-size:18px}.brand small{font-size:9px}.hero-inner{display:block;min-height:0}.hero-copy{padding:53px 0 66px}.hero h1{font-size:clamp(46px,13vw,65px)}.hero-description{font-size:15px}.hero-art{display:none}.hero-bottom span:last-child{display:none}.hero-bottom{font-size:9px}.menu-section,.visit-section{padding-top:55px;padding-bottom:55px}.menu-flourish{display:none}.category-list{flex-wrap:nowrap;overflow:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}.category-list::-webkit-scrollbar{display:none}.menu-grid{grid-template-columns:1fr;gap:14px}.food-card{display:grid;grid-template-columns:112px minmax(0,1fr)}.food-image{height:100%;min-height:134px}.food-placeholder{font-size:38px}.food-body{padding:13px;gap:7px}.food-title{font-size:17px}.food-price{font-size:16px}.food-top{display:block}.food-price{display:block;margin-top:4px}.food-description{font-size:12px}.food-options{grid-column:2}.visit-grid{grid-template-columns:1fr;gap:28px}.map-card{min-height:270px}.map-holder,.map-holder iframe,.map-placeholder{min-height:256px;height:256px}.order-section{padding-top:55px;padding-bottom:55px}.order-panel{padding:30px 24px}.order-decor{display:none}.button,.action-link{font-size:13px}.footer-inner{display:grid;gap:18px}}@media(max-width:390px){.brand small{font-size:8px}.food-card{grid-template-columns:98px 1fr}.food-image{min-height:116px}.food-body{padding:11px}.food-title{font-size:16px}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.button,.action-link{transition:none}}

/* Navegacion a una mano y mapa accesible en telefonos. */
.mobile-nav{display:none}
#menu,#visitanos,#pedir{scroll-margin-top:86px}
@media(max-width:640px){
  body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px));overflow-x:hidden}
  .shell{width:calc(100% - 32px)}
  .site-header{background:rgba(255,253,249,.98)}
  .header-row{min-height:64px;gap:8px}
  .brand{gap:8px}
  .brand-mark{height:40px;width:40px;border-radius:11px}
  .brand b{font-size:17px;max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .brand small{font-size:8px;letter-spacing:.08em;max-width:49vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .lang-switch{padding:3px}
  .lang-button{min-width:34px;min-height:34px}
  .hero-copy{padding:32px 0 35px}
  .hero h1{font-size:clamp(38px,11vw,53px)}
  .hero-description{margin:14px 0 20px;line-height:1.5;font-size:14px}
  .eyebrow{margin-bottom:12px;font-size:10px}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
  .hero-actions .button{min-width:0;padding:10px 7px;min-height:47px}
  .hero-bottom{padding:8px 16px;justify-content:center}
  .menu-section{padding-top:30px;padding-bottom:44px}
  .section-top h2,.visit-content h2,.order-panel h2{font-size:clamp(29px,9vw,39px)}
  .kicker{margin-bottom:8px;font-size:10px}
  .section-desc{margin:9px 0 0;font-size:13px;line-height:1.45}
  .filter-bar{margin-top:16px;gap:10px;position:sticky;top:64px;z-index:20;padding:12px 0 10px;background:#fffdf9;box-shadow:0 8px 15px -14px #102847}
  .category-list{max-width:100%;gap:6px;padding-bottom:2px;overscroll-behavior-x:contain}
  .category-list button{padding:9px 13px;min-height:40px}
  .search-wrap{min-width:0;height:42px}
  .menu-day{margin:10px 0 14px;font-size:12px}
  .menu-grid{gap:10px}
  .food-card{grid-template-columns:104px minmax(0,1fr);border-radius:14px;box-shadow:0 3px 14px #0b36680b}
  .food-image{min-height:120px}
  .food-body{padding:11px 12px;gap:5px}
  .food-title{font-size:16px;line-height:1.2}
  .food-price{display:block;font-size:18px;margin-top:6px}
  .food-description{font-size:12px;line-height:1.38}
  .food-options{font-size:12px;padding-top:8px}
  .visit-section{padding:32px 0 38px}
  .visit-grid{gap:16px}
  .visit-content .address{font-size:15px;margin:14px 0 5px;line-height:1.45}
  .hours{margin:5px 0;font-size:13px}
  .visit-actions{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
  .visit-actions .action-link{min-height:48px}
  .map-card{border-width:4px;border-radius:15px;min-height:0;box-shadow:none}
  .map-holder,.map-holder iframe,.map-placeholder{height:min(62svh,400px);min-height:250px}
  .order-section{padding-top:36px;padding-bottom:38px}
  .order-panel{padding:23px 19px;border-radius:18px}
  .order-panel p:not(.kicker){font-size:13px;line-height:1.5}
  .order-links{display:grid;grid-template-columns:1fr;margin-top:14px}
  .order-links .action-link{min-height:48px}
  .footer{padding:26px 0}
  .mobile-nav{display:grid;grid-template-columns:repeat(3,1fr);align-items:stretch;position:fixed;inset:auto 0 0;z-index:45;padding:5px max(10px,env(safe-area-inset-right,0px)) calc(6px + env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));background:#fffdf9;border-top:1px solid #dae2ed;box-shadow:0 -8px 24px #10284718}
  .mobile-nav-link{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1px;min-height:58px;color:#334b69;font-weight:800;font-size:12px;border-radius:10px}
  .mobile-nav-link span:first-child{font-size:22px;line-height:1.1}
  .mobile-nav-link:focus-visible,.mobile-nav-link:hover,.mobile-nav-link[aria-current="location"]{background:#eaf1fc;color:#063783;outline-offset:2px}
  #menu,#visitanos,#pedir{scroll-margin-top:72px}
}
@media(max-width:360px){.food-card{grid-template-columns:91px minmax(0,1fr)}.food-title{font-size:15px}.hero h1{font-size:38px}}
