:root{
  --teal:#007C80; --teal-dk:#005E62; --teal-lt:#00A6A6;
  --orange:#C2470F; --orange-dk:#9E3A0C; --tang:#F26B21;
  --sun:#FFC627; --lime:#8DC63F; --red:#E8443A;
  --paper:#FFFDF8; --cream:#FFF3CF; --ink:#16201F; --ink-2:#4A5655;
  --bg:var(--paper); --surface:#FFFFFF; --text:var(--ink); --muted:var(--ink-2); --rule:#E6DCC8;
  --display:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;
  --script:'Yellowtail','Brush Script MT',cursive;
  --body:'Atkinson Hyperlegible','Segoe UI',Verdana,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --bg:#0F1C1D; --surface:#172A2B; --text:#F5F1E8; --muted:#C4CFCB; --rule:#2C4445; } }
:root[data-theme="dark"]{ --bg:#0F1C1D; --surface:#172A2B; --text:#F5F1E8; --muted:#C4CFCB; --rule:#2C4445; }
html{scroll-behavior:smooth; scroll-padding-top:calc(env(safe-area-inset-top,0px) + 80px)}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto} *{animation:none!important; transition:none!important} }
*,*::before,*::after{box-sizing:inherit}
body{margin:0; background:var(--bg); color:var(--text); font-family:var(--body); font-size:1.125rem; line-height:1.6; -webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:3px solid var(--sun); outline-offset:3px; border-radius:4px}
.wrap{max-width:1200px; margin:0 auto; padding:0 1.25rem; position:relative}
h1,h2,h3{font-family:var(--display); font-weight:900; line-height:.95; margin:0}
p{margin:0}
.script{font-family:var(--script); font-weight:400; line-height:1}
.skip{position:absolute; left:-999px; top:8px; background:var(--ink); color:#fff; padding:.6rem 1rem; z-index:200}
.skip:focus{left:8px}

/* ===== Background designs (all original, inline SVG) ===== */
.bg-talavera{background-color:var(--orange); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23FFFFFF' stroke-opacity='.16' stroke-width='2'%3E%3Ccircle cx='32' cy='32' r='6'/%3E%3Cpath d='M32 26 C28 18 28 12 32 8 C36 12 36 18 32 26Z M32 38 C28 46 28 52 32 56 C36 52 36 46 32 38Z M26 32 C18 28 12 28 8 32 C12 36 18 36 26 32Z M38 32 C46 28 52 28 56 32 C52 36 46 36 38 32Z'/%3E%3Cpath d='M0 10 A10 10 0 0 0 10 0 M54 0 A10 10 0 0 0 64 10 M64 54 A10 10 0 0 0 54 64 M10 64 A10 10 0 0 0 0 54'/%3E%3C/g%3E%3C/svg%3E")}
.bg-tile-light{background-color:var(--paper); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23007C80' stroke-opacity='.10' stroke-width='2'%3E%3Ccircle cx='40' cy='40' r='7'/%3E%3Cpath d='M40 33 C35 24 35 16 40 11 C45 16 45 24 40 33Z M40 47 C35 56 35 64 40 69 C45 64 45 56 40 47Z M33 40 C24 35 16 35 11 40 C16 45 24 45 33 40Z M47 40 C56 35 64 35 69 40 C64 45 56 45 47 40Z'/%3E%3Cpath d='M0 0 H80 V80 H0 Z'/%3E%3C/g%3E%3C/svg%3E")}
.bg-sunburst{background-color:var(--sun); background-image:repeating-conic-gradient(from 0deg at 50% 110%, rgba(255,255,255,.22) 0deg 6deg, transparent 6deg 12deg)}
.bg-doodle{background-color:var(--cream); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cg fill='none' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' stroke-opacity='.22'%3E%3Cg stroke='%238DC63F'%3E%3Ccircle cx='34' cy='36' r='16'/%3E%3Cpath d='M34 20 V52 M18 36 H50 M23 25 L45 47 M45 25 L23 47'/%3E%3C/g%3E%3Cpath stroke='%23E8443A' d='M120 30 C138 28 150 40 148 60 C146 72 136 78 128 70 C134 58 130 44 118 40 Z M118 40 C116 34 118 28 124 26'/%3E%3Cpath stroke='%23F26B21' d='M60 120 L66 132 L80 134 L70 143 L72 157 L60 150 L48 157 L50 143 L40 134 L54 132 Z'/%3E%3Cg stroke='%23007C80'%3E%3Cpath d='M140 160 L137 128 L140 120 L143 128 Z M139 160 L124 138 L126 132 L132 140 Z M141 160 L156 138 L154 132 L148 140 Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E")}
.bg-dots{background-color:var(--teal); background-image:radial-gradient(rgba(255,255,255,.12) 2px, transparent 2.5px); background-size:22px 22px}
.papel-line{height:54px; background-repeat:repeat-x; background-size:200px 54px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='54' viewBox='0 0 200 54'%3E%3Cpath d='M0 3 Q100 10 200 3' fill='none' stroke='%2316201F' stroke-opacity='.5' stroke-width='1.5'/%3E%3Cg%3E%3Cpath fill='%23E8443A' d='M8 5h34v30l-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7z'/%3E%3Cpath fill='%23FFC627' d='M58 7h34v30l-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7z'/%3E%3Cpath fill='%238DC63F' d='M108 7h34v30l-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7z'/%3E%3Cpath fill='%23F26B21' d='M158 5h34v30l-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7-4.25 7-4.25-7z'/%3E%3C/g%3E%3Cg fill='%23FFFFFF' fill-opacity='.85'%3E%3Ccircle cx='25' cy='18' r='4'/%3E%3Ccircle cx='75' cy='20' r='4'/%3E%3Ccircle cx='125' cy='20' r='4'/%3E%3Ccircle cx='175' cy='18' r='4'/%3E%3Crect x='19' y='27' width='12' height='3' rx='1.5'/%3E%3Crect x='69' y='29' width='12' height='3' rx='1.5'/%3E%3Crect x='119' y='29' width='12' height='3' rx='1.5'/%3E%3Crect x='169' y='27' width='12' height='3' rx='1.5'/%3E%3C/g%3E%3C/svg%3E")}

/* ===== Header ===== */
.top{position:fixed; top:0; left:0; right:0; z-index:50; padding-top:env(safe-area-inset-top,0px); color:#fff; transition:background .2s}
.top.solid{background:var(--teal-dk)}
.top .wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:72px}
.brand-logo{height:48px; width:auto; display:block}
.nav{display:none; gap:1.8rem; font-weight:700; font-size:1rem}
.nav a{text-decoration:none; padding:.3rem 0; border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--sun)}
.right{display:flex; align-items:center; gap:.7rem}
.order-pill{display:none; font:inherit; font-weight:700; font-size:1rem; background:var(--orange); color:#fff; border:2px solid #fff; border-radius:999px; padding:.6rem 1.2rem; cursor:pointer}
.burger{width:48px; height:48px; border:2px solid rgba(255,255,255,.85); border-radius:10px; background:rgba(0,0,0,.15); color:#fff; display:grid; place-items:center; cursor:pointer}
.drawer{display:none; background:var(--teal-dk)}
.drawer.open{display:block}
.drawer ul{list-style:none; margin:0; padding:.4rem 1.25rem 1.2rem}
.drawer a{display:block; padding:.9rem 0; font-family:var(--display); font-weight:800; font-size:1.6rem; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.15)}
@media (min-width:980px){ .nav{display:flex} .order-pill{display:inline-block} .brand-logo{height:56px} }

/* ===== Hero ===== */
.hero{position:relative; min-height:94svh; display:flex; flex-direction:column; color:#fff; overflow:hidden; background:var(--teal-dk)}
.hero-media{position:absolute; inset:0; background-color:var(--teal); background-image:repeating-conic-gradient(from 0deg at 50% 120%, rgba(255,255,255,.07) 0deg 5deg, transparent 5deg 10deg)}
.hero-media video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.hero-shade{position:absolute; inset:0; background:rgba(0,40,42,.45)}
.hero .papel-line{position:absolute; top:calc(72px + env(safe-area-inset-top,0px)); left:0; right:0}
.deco{position:absolute; pointer-events:none}
.deco.lime{left:-40px; bottom:90px; width:180px; transform:rotate(-12deg)}
.deco.marg{right:-10px; top:150px; width:170px; transform:rotate(10deg)}
.deco.chile{right:6%; bottom:120px; width:110px; transform:rotate(-28deg)}
@media (max-width:700px){ .deco.lime{width:110px; left:-30px; bottom:auto; top:150px} .deco.marg{width:100px; right:-20px; top:auto; bottom:30px} .deco.chile{display:none} }
.video-note{position:absolute; top:calc(140px + env(safe-area-inset-top,0px)); left:50%; transform:translateX(-50%); font-size:.85rem; color:rgba(255,255,255,.8); border:1px dashed rgba(255,255,255,.5); padding:.3rem .7rem; border-radius:4px; white-space:nowrap}
.hero-in{position:relative; flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:170px 1.25rem 40px}
.hero h1{margin:0}
.hero-logo{width:min(320px,74vw); height:auto; display:block; filter:drop-shadow(0 8px 20px rgba(0,0,0,.35))}
.hero-place{font-family:var(--display); font-weight:900; font-size:clamp(3.2rem,11vw,7rem); line-height:.9; margin-top:.8rem; text-shadow:0 3px 0 rgba(0,0,0,.18)}
.hero-place .script{display:block; font-size:clamp(1.8rem,5vw,3rem); color:var(--sun); margin-top:-.1em; text-shadow:none}
.status{display:inline-flex; align-items:center; gap:.55rem; margin-top:1.1rem; font-weight:700; font-size:1rem; padding:.45rem 1rem; border-radius:999px; background:rgba(0,0,0,.28); border:1px solid rgba(255,255,255,.3)}
.dot{width:10px; height:10px; border-radius:50%; background:#aaa}
.dot.open{background:#7BE0A3; box-shadow:0 0 0 4px rgba(123,224,163,.25)}
.dot.closed{background:#FFB199}
.actions{display:grid; gap:.75rem; width:100%; max-width:420px; margin-top:1.8rem}
.btn{display:flex; align-items:center; justify-content:center; gap:.5rem; min-height:58px; padding:0 1.4rem; border-radius:999px; border:3px solid transparent; font-family:var(--display); font-weight:800; font-size:1.45rem; letter-spacing:.03em; text-decoration:none; cursor:pointer; transition:transform .1s, background .15s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--orange); color:#fff; border-color:#fff}
.btn.sun{background:var(--sun); color:var(--ink)}
.btn.white{background:#fff; color:var(--teal-dk)}
.btn.ghost{background:transparent; color:#fff; border-color:#fff}
.btn.teal{background:var(--teal); color:#fff}
.duo{display:grid; grid-template-columns:1fr 1fr; gap:.75rem}
.btn.small{font-family:var(--body); font-weight:700; font-size:1.05rem; letter-spacing:0; min-height:52px}
@media (min-width:980px){ .actions{grid-template-columns:repeat(4,1fr); max-width:900px} .duo{display:none} }

/* icon quick-nav along the bottom of the hero */
.quick{position:relative; background:rgba(0,0,0,.28); border-top:1px solid rgba(255,255,255,.18)}
.quick ul{list-style:none; margin:0 auto; padding:0; max-width:1000px; display:grid; grid-template-columns:repeat(5,1fr)}
.quick a,.quick button{display:flex; flex-direction:column; align-items:center; gap:.3rem; padding:1rem .4rem; color:#fff; text-decoration:none; font:inherit; font-weight:700; font-size:.95rem; background:none; border:0; width:100%; cursor:pointer}
.quick a:hover,.quick button:hover{background:rgba(255,255,255,.08)}
.quick svg{width:28px; height:28px}
@media (max-width:979px){ .quick{display:none} }

/* ===== Info strip ===== */
.info{color:#fff}
.info .wrap{display:grid; gap:1.2rem; padding-top:2rem; padding-bottom:2rem}
@media (min-width:820px){ .info .wrap{grid-template-columns:repeat(3,1fr); gap:2rem} }
.info h2{font-size:1.7rem; margin-bottom:.3rem; color:#FFE7B0}
.info a{font-weight:700}
.info .today{font-weight:700; text-decoration:underline; text-underline-offset:4px}

/* ===== Section basics ===== */
section{padding:clamp(3.5rem,8vw,6rem) 0; position:relative}
.head{text-align:center; max-width:760px; margin:0 auto 2.4rem}
.head .script{font-size:clamp(1.8rem,4vw,2.6rem); color:var(--orange); display:block}
.head h2{font-size:clamp(2.8rem,6.5vw,4.6rem); color:var(--teal-dk)}
.head p{margin-top:.8rem; color:var(--ink-2)}
.on-color .head h2{color:var(--ink)}
.on-color .head .script{color:var(--teal-dk)}

/* Weekly lineup */
.week{display:grid; grid-template-columns:1fr; gap:.7rem}
.day{display:grid; grid-template-columns:76px 1fr; align-items:center; gap:1rem; padding:1rem 1.2rem; background:#fff; color:var(--ink); border-radius:18px; box-shadow:0 4px 0 rgba(22,32,31,.18)}
.day .d{font-family:var(--display); font-weight:900; font-size:2.1rem; color:var(--orange); line-height:1}
.day .what{font-weight:700}
.day .hrs{font-weight:700; font-size:1.15rem}
.day .note{color:var(--ink-2); font-size:1rem}
.day.off{background:rgba(255,255,255,.65)}
.day.off .d{color:var(--ink-2)}
.day.is-today{outline:4px solid var(--teal); outline-offset:-4px}
.day.is-today .d::after{content:"Today"; display:block; font-family:var(--body); font-size:.8rem; font-weight:700; color:var(--teal-dk); margin-top:.2rem}
@media (min-width:980px){ .week{grid-template-columns:repeat(7,1fr)} .day{grid-template-columns:1fr; text-align:center; padding:1.5rem .8rem; min-height:0; align-content:center; gap:.5rem} }

/* Story */
.story{color:#fff}
.story .papel-line{position:absolute; top:0; left:0; right:0}
.story .wrap{display:grid; gap:2.5rem; align-items:center; padding-top:1.5rem}
@media (min-width:860px){ .story .wrap{grid-template-columns:1.1fr 1fr} }
.story .script{font-size:clamp(2rem,4.5vw,3rem); color:var(--sun)}
.story h2{font-size:clamp(3rem,6.5vw,5rem)}
.story p{margin-top:1rem; max-width:34em}
.vid{aspect-ratio:4/5; max-height:520px; width:100%; border:3px dashed rgba(255,255,255,.55); border-radius:24px; display:grid; place-items:center; text-align:center; color:#fff; padding:2rem; background:rgba(0,0,0,.18)}
@media (min-width:860px){ .vid{aspect-ratio:4/3} }
.vid-photo{padding:0; border:0; overflow:hidden; background:var(--teal-dk); box-shadow:0 8px 0 rgba(0,0,0,.18)}
.vid-photo img,.ph-photo img{width:100%; height:100%; object-fit:cover; display:block}
.ph-photo{padding:0; overflow:hidden; background:var(--teal-dk)}

/* Parties & catering */
.pc{display:grid; gap:1.4rem}
@media (min-width:860px){ .pc{grid-template-columns:1fr 1fr} }
.pc-card{background:var(--surface); border-radius:24px; overflow:hidden; box-shadow:0 6px 0 var(--teal); display:flex; flex-direction:column}
.pc-card .ph{height:240px; display:grid; place-items:center; color:#fff; font-size:1rem; text-align:center; padding:1rem}
.pc-card .txt{padding:1.8rem; display:flex; flex-direction:column; align-items:center; text-align:center; gap:.9rem}
.pc-card h3{font-size:clamp(2.4rem,5vw,3.2rem); color:var(--teal-dk)}
:root[data-theme="dark"] .pc-card h3{color:var(--sun)}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .pc-card h3{color:var(--sun)} }
.pc-card .btn{font-size:1.3rem; min-height:54px}
.cat-link{font-weight:700; color:var(--orange); text-underline-offset:3px}
.party-deco{position:absolute; right:3%; top:30px; width:120px; transform:rotate(12deg); pointer-events:none}
@media (max-width:860px){ .party-deco{display:none} }

/* Gallery */
.gallery{display:grid; grid-template-columns:repeat(2,1fr); gap:.7rem}
@media (min-width:860px){ .gallery{grid-template-columns:repeat(4,1fr)} }
.gallery div{aspect-ratio:1; border-radius:18px; background:rgba(255,255,255,.14); border:2px dashed rgba(255,255,255,.5); display:grid; place-items:center; color:#fff; font-size:.95rem}
.gallery-sec{color:#fff}
.gallery .g-photo{border:0; background:var(--teal-dk); overflow:hidden; box-shadow:0 6px 0 rgba(0,0,0,.2)}
.gallery .g-photo img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s}
.gallery .g-photo:hover img{transform:scale(1.04)}
.gallery-sec .head h2{color:#fff}
.gallery-sec .head .script{color:var(--sun)}
.center{text-align:center; margin-top:1.8rem}

/* Reviews */
.reviews{display:grid; gap:1.2rem}
@media (min-width:860px){ .reviews{grid-template-columns:repeat(3,1fr)} }
.review{margin:0; background:#fff; color:var(--ink); border-radius:22px; padding:1.6rem; box-shadow:0 5px 0 var(--lime)}
.review cite{display:block; margin-top:1rem; font-style:normal; font-weight:700; color:var(--ink-2)}
.stars{color:var(--tang); letter-spacing:3px; margin-bottom:.4rem; font-size:1.2rem}


/* ===== Subpages (Parties, Catering) ===== */
.view[hidden]{display:none}
body.on-view main{display:none}
body.on-view .top{background:var(--teal-dk)}
.page-hero{position:relative; color:#fff; text-align:center; padding:calc(120px + env(safe-area-inset-top,0px)) 1.25rem 3.5rem; overflow:hidden}
.page-hero .papel-line{position:absolute; top:calc(72px + env(safe-area-inset-top,0px)); left:0; right:0}
.page-hero .script{font-size:clamp(1.8rem,4.5vw,2.8rem); color:var(--sun); display:block; margin-top:1rem}
.page-hero h1{font-size:clamp(3rem,9vw,6rem); margin:.2rem 0 .6rem}
.page-hero p{max-width:40em; margin:0 auto; font-size:1.15rem}
.crumb{display:inline-flex; align-items:center; gap:.4rem; margin-top:1.4rem; color:#fff; font-weight:700; text-underline-offset:4px}
.page-hero .deco{opacity:.95}
@media (max-width:900px){ .page-hero .deco{display:none} }
.hl{display:inline-block; margin-top:1.2rem; background:var(--sun); color:var(--ink); font-weight:700; padding:.5rem 1.1rem; border-radius:999px}
.two{display:grid; gap:1.6rem; align-items:start}
@media (min-width:900px){ .two{grid-template-columns:1fr 1.15fr} }
.info-card{background:#fff; color:var(--ink); border-radius:24px; padding:1.8rem; box-shadow:0 6px 0 var(--teal)}
.info-card h2{font-size:2.2rem; color:var(--teal-dk); margin-bottom:.8rem}
.info-card ul{margin:.6rem 0 0; padding-left:1.2rem}
.info-card li{margin:.3rem 0}
.contact-box{margin-top:1.4rem; padding:1.2rem 1.3rem; border-radius:18px; background:var(--cream); border:2px dashed var(--orange)}
.contact-box strong{display:block; font-family:var(--display); font-size:1.6rem; color:var(--orange); font-weight:900}
.contact-box a{font-weight:700}
.req{background:#fff; color:var(--ink); border-radius:24px; padding:1.8rem; box-shadow:0 6px 0 var(--orange)}
.req h2{font-size:2.2rem; color:var(--orange); margin-bottom:.3rem}
.req .sub-t{color:var(--ink-2); margin-bottom:1.2rem}
.field{display:flex; flex-direction:column; gap:.35rem; margin-bottom:1rem}
.field label{font-weight:700}
.field input,.field textarea,.field select{font:inherit; color:var(--ink); background:#fff; border:2px solid #B9C6C4; border-radius:14px; padding:.8rem 1rem; min-height:54px}
.field textarea{min-height:130px; resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--teal); outline:none; box-shadow:0 0 0 3px rgba(0,124,128,.2)}
.grid2{display:grid; gap:0 1rem}
@media (min-width:600px){ .grid2{grid-template-columns:1fr 1fr} }
.opt{display:flex; gap:.7rem; align-items:flex-start; font-size:.95rem; color:var(--ink-2); margin:.4rem 0 1.2rem}
.opt input{width:22px; height:22px; margin-top:.15rem; flex:none; accent-color:var(--teal)}
.req .btn{width:100%; font-size:1.4rem}
.form-err{color:#B42318; font-weight:700; min-height:1.4em; margin-bottom:.6rem}
.form-ok{display:none; text-align:center; padding:1rem 0}
.form-ok h3{font-size:2.4rem; color:var(--teal-dk)}
.form-ok p{margin-top:.6rem}
.perks{display:grid; gap:1rem; margin-top:2rem}
@media (min-width:760px){ .perks{grid-template-columns:repeat(3,1fr)} }
.perk{background:#fff; color:var(--ink); border-radius:20px; padding:1.4rem; text-align:center; box-shadow:0 5px 0 var(--lime)}
.perk svg{width:40px; height:40px; color:var(--orange)}
.perk h3{font-size:1.7rem; color:var(--teal-dk); margin:.4rem 0 .3rem}
/* Catering menu on page */
.cmenu{display:grid; gap:1.4rem}
@media (min-width:860px){ .cmenu{grid-template-columns:1fr 1fr} }
.cm-sec{background:#fff; color:var(--ink); border-radius:22px; padding:1.6rem; box-shadow:0 5px 0 var(--sun)}
.cm-sec h3{font-size:2rem; color:var(--orange); border-bottom:3px solid var(--teal); padding-bottom:.4rem; margin-bottom:.4rem}
.cm-sec .item{position:relative}

/* Newsletter */
.news{color:var(--ink)}
.news .wrap{display:grid; gap:1.4rem; align-items:center}
@media (min-width:860px){ .news .wrap{grid-template-columns:1fr 1.2fr} }
.news h2{font-size:clamp(2.6rem,5vw,3.6rem); color:var(--ink)}
.news .script{font-size:2.2rem; color:var(--teal-dk); display:block}
.row{display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.5rem}
.row input{flex:1 1 240px; min-height:56px; border:3px solid var(--ink); border-radius:999px; padding:0 1.2rem; font:inherit; background:#fff; color:var(--ink)}
.row button{min-height:56px; padding:0 1.6rem; border:0; border-radius:999px; background:var(--teal-dk); color:#fff; font:inherit; font-weight:700; cursor:pointer}
.msg{margin-top:.6rem; font-weight:700; min-height:1.6em}

/* Footer */
footer{color:#F2F7F6; padding:0 0 2rem}
footer .papel-line{margin-bottom:2rem}
.foot{display:grid; gap:1.8rem}
@media (min-width:820px){ .foot{grid-template-columns:1.4fr 1fr 1fr 1fr} }
.foot h3{font-family:var(--body); font-weight:700; font-size:1rem; color:var(--sun); margin-bottom:.4rem}
.fine{margin-top:2.4rem; padding-top:1.2rem; border-top:1px solid rgba(255,255,255,.2); font-size:.95rem; color:#CDE3E2; text-align:center}

/* Mobile sticky bar */
.bar{position:fixed; left:0; right:0; bottom:0; z-index:45; display:grid; grid-template-columns:repeat(3,1fr); gap:.5rem; padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom,0px)); background:var(--teal-dk); transform:translateY(110%); transition:transform .2s}
.bar.show{transform:none}
.bar a,.bar button{min-height:50px; border-radius:999px; border:0; font:inherit; font-weight:700; font-size:1rem; display:flex; align-items:center; justify-content:center; text-decoration:none; cursor:pointer}
.bar .b1{background:var(--orange); color:#fff}.bar .b2{background:var(--sun); color:var(--ink)}.bar .b3{background:#fff; color:var(--teal-dk)}
@media (min-width:980px){ .bar{display:none} }

/* Menu viewer */
.viewer{position:fixed; inset:0; z-index:90; background:#003E40; color:#F5F1E8; display:none; flex-direction:column; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px)}
.viewer.open{display:flex}
.v-top{display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.8rem 1rem}
.v-top h2{font-size:1.9rem}
.v-btn{min-width:48px; min-height:48px; border:1px solid rgba(255,255,255,.55); border-radius:999px; background:transparent; color:#F5F1E8; font:inherit; font-weight:700; display:flex; align-items:center; justify-content:center; gap:.3rem; padding:0 .9rem; cursor:pointer; text-decoration:none}
.tabs{display:flex; gap:.5rem; padding:0 1rem .8rem; justify-content:center; flex-wrap:wrap}
.tab{flex:1 1 70px; max-width:150px; min-height:46px; border-radius:999px; border:1px solid rgba(255,255,255,.55); background:transparent; color:#F5F1E8; font:inherit; font-weight:700; cursor:pointer}
.tab[aria-selected="true"]{background:var(--sun); border-color:var(--sun); color:var(--ink)}
.pages{position:relative; flex:1; min-height:0; display:flex; padding-block:.4rem; overflow-x:auto; scroll-snap-type:x mandatory; gap:1rem; padding:0 8vw; align-items:center; scrollbar-width:none}
.pages::-webkit-scrollbar{display:none}
.page{flex:0 0 min(86vw,600px); height:100%; max-height:100%; scroll-snap-align:center; background:var(--paper); color:var(--ink); padding:1.8rem 1.5rem; overflow:auto; position:relative; box-shadow:0 12px 32px rgba(0,0,0,.45)}
.page::after{content:""; position:absolute; inset:0; background:url("https://static.wixstatic.com/media/7a5d24_f5f3e2d7689045ab9410ed3206758f97~mv2.png") center/70% auto no-repeat; opacity:.08; pointer-events:none}
.page h3{font-size:2.2rem; color:var(--orange); text-align:center; margin-bottom:.8rem; border-bottom:3px solid var(--teal); padding-bottom:.5rem}
.item{position:relative; padding:.6rem 0; border-bottom:1px dotted #C9BFA8}
.item .r{display:flex; justify-content:space-between; gap:1rem; font-weight:700}
.item .ds{font-size:1rem; color:var(--ink-2)}
.v-foot{display:flex; flex-direction:column; align-items:center; gap:.5rem; padding:.8rem 0 1rem}
.v-nav{display:flex; align-items:center; gap:1rem}
.v-nav .v-btn{font-size:1.6rem; line-height:1; padding:0}
.v-nav .v-btn:disabled{opacity:.35; cursor:default}
.dots{font-weight:700; font-size:1rem; text-align:center; min-width:12em}
.sec-note{position:relative; font-size:.95rem; font-style:italic; color:var(--ink-2); text-align:center; margin:-.2rem 0 .8rem}
.sub{position:relative; font-family:var(--display); font-weight:800; font-size:1.4rem; color:var(--teal-dk); margin:1rem 0 .2rem; letter-spacing:.03em}
.opts{list-style:none; margin:.35rem 0 0; padding:0 0 0 .8rem; border-left:3px solid var(--sun)}
.opts li{display:flex; justify-content:space-between; gap:1rem; font-size:1rem; padding:.1rem 0}
.pr{font-weight:700; white-space:nowrap}
.dots span{width:9px; height:9px; border-radius:5px; background:#2E6A6C; transition:width .15s}
.dots span.on{width:24px; background:var(--sun)}
.hint{font-size:.95rem; color:#CDE3E2}

/* Order sheet */
.sheet-back{position:fixed; inset:0; z-index:95; background:rgba(0,30,32,.6); display:none; align-items:flex-end; justify-content:center}
.sheet-back.open{display:flex}
@media (min-width:700px){ .sheet-back{align-items:center} }
.sheet{background:var(--paper); color:var(--ink); width:100%; max-width:480px; padding:1.8rem 1.4rem calc(1.8rem + env(safe-area-inset-bottom,0px)); text-align:center; display:flex; flex-direction:column; gap:.9rem; border-radius:24px 24px 0 0; border-top:8px solid var(--sun)}
@media (min-width:700px){ .sheet{border-radius:24px} }
.sheet h2{font-size:2.4rem; color:var(--teal-dk)}
/* We're Hiring */
.jobs-grid{display:grid; gap:1rem}
@media (min-width:640px){ .jobs-grid{grid-template-columns:1fr 1fr} }
@media (min-width:1000px){ .jobs-grid{grid-template-columns:repeat(4,1fr)} }
.job{background:#fff; color:var(--ink); border-radius:20px; padding:1.4rem; box-shadow:0 5px 0 var(--sun); display:flex; flex-direction:column; gap:.5rem}
.job h3{font-size:1.9rem; color:var(--orange)}
.job p{flex:1}
.job .btn{align-self:flex-start; margin-top:.4rem}
.checks{border:0; padding:0; margin:0 0 1rem; display:flex; flex-wrap:wrap; gap:.5rem}
.checks legend{font-weight:700; margin-bottom:.45rem; width:100%}
.checks label{display:inline-flex; align-items:center; gap:.45rem; border:2px solid #B9C6C4; border-radius:999px; padding:.55rem .95rem; cursor:pointer; min-height:46px; background:#fff}
.checks input{width:20px; height:20px; accent-color:var(--teal); margin:0}
.checks label:has(input:checked){border-color:var(--teal); background:#E6F4F3}
.checks label:focus-within{box-shadow:0 0 0 3px rgba(0,124,128,.2)}
.resume-note{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.8rem 1rem; margin:0 0 1.2rem; padding:1rem 1.2rem; border-radius:18px; background:var(--cream); border:2px dashed var(--orange)}
.resume-note p{margin:0}
.resume-note a:not(.btn){font-weight:700}
.resume-note .btn{flex:none; width:auto; font-size:1.05rem; padding:.6rem 1.3rem; min-height:0}