/* Pure Life Coffee & Drink's — propuesta de diseño
   Paleta tomada del logo (oliva #969253) y de la carta impresa (verde salvia, hojitas blancas). */

:root{
  --oliva:#969253;        /* color del logo (decorativo) */
  --oliva-2:#6c6932;      /* oliva más oscuro: botones y texto con contraste AA sobre blanco */
  --salvia:#aebf8e;       /* fondo de la carta impresa */
  --salvia-2:#dfe7cd;
  --crema:#f6f2e4;
  --marfil:#fcfbf6;
  --bosque:#2c3019;
  --bosque-2:#21240f;
  --tinta:#2a2d1a;
  --suave:#5a5d45;
  --ratan:#c4a06a;
  --flor:#e9b9ac;
  --linea:rgba(42,45,26,.14);
  --radio:22px;
  --sombra:0 18px 40px -18px rgba(44,48,25,.35);
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Jost", "Helvetica Neue", Arial, sans-serif;
  --script:"Yellowtail", "Brush Script MT", cursive;
  --alto-cab:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--alto-cab) + 16px);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.1;margin:0;letter-spacing:-.01em;color:var(--bosque)}
p{margin:0}
ul{margin:0;padding:0;list-style:none}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:3px solid var(--oliva-2);outline-offset:3px;border-radius:6px}
.wrap{width:min(1180px, 100% - 32px);margin-inline:auto}

.saltar{position:absolute;left:-999px;top:8px;background:var(--bosque);color:#fff;padding:10px 16px;border-radius:8px;z-index:100}
.saltar:focus{left:8px}

/* ---------- aviso de propuesta ---------- */
.aviso{background:var(--bosque);color:var(--salvia-2);text-align:center;font-size:.85rem;padding:8px 16px;letter-spacing:.01em}
.aviso strong{color:#fff;letter-spacing:.14em;margin-right:2px}
.boceto{position:fixed;left:14px;bottom:14px;z-index:60;background:var(--bosque);color:#fff;border:1.5px solid var(--salvia);padding:7px 14px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;box-shadow:var(--sombra);pointer-events:none}

/* ---------- cabecera ---------- */
.cab{position:sticky;top:0;z-index:50;background:rgba(246,242,228,.86);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .3s, box-shadow .3s}
.cab.es-scroll{border-color:var(--linea);box-shadow:0 8px 24px -16px rgba(44,48,25,.35)}
.cab__in{display:flex;align-items:center;justify-content:space-between;height:var(--alto-cab)}
.marca img{width:60px;height:60px}
.nav{display:flex;align-items:center;gap:6px}
.nav a:not(.btn){padding:10px 14px;text-decoration:none;font-weight:500;font-size:.98rem;border-radius:999px;transition:background .2s,color .2s}
.nav a:not(.btn):hover{background:var(--salvia-2)}
.nav__cta{margin-left:10px}
.burger{display:none;width:46px;height:46px;border:0;border-radius:50%;background:transparent;position:relative}
.burger span{position:absolute;left:12px;right:12px;height:2px;background:var(--bosque);border-radius:2px;transition:transform .3s,opacity .2s,top .3s}
.burger span:nth-child(1){top:16px}.burger span:nth-child(2){top:22px}.burger span:nth-child(3){top:28px}
.burger[aria-expanded="true"] span:nth-child(1){top:22px;transform:rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){top:22px;transform:rotate(-45deg)}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:999px;border:2px solid var(--oliva-2);background:var(--oliva-2);color:#fff;font-weight:600;font-size:1rem;text-decoration:none;line-height:1.2;transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s}
.btn:hover{background:var(--bosque);border-color:var(--bosque);transform:translateY(-2px);box-shadow:var(--sombra)}
.btn--sm{padding:10px 20px;font-size:.95rem}
.btn--ghost{background:transparent;color:var(--bosque);border-color:var(--bosque)}
.btn--ghost:hover{background:var(--bosque);color:#fff}
.btn--crema{background:var(--crema);color:var(--bosque);border-color:var(--crema)}
.btn--crema:hover{background:#fff;color:var(--bosque);border-color:#fff}
.btn--linea{background:transparent;color:var(--crema);border-color:rgba(246,242,228,.7)}
.btn--linea:hover{background:var(--crema);color:var(--bosque);border-color:var(--crema)}

/* ---------- tipografía de secciones ---------- */
.kicker{font-family:var(--script);font-size:1.7rem;line-height:1;color:var(--oliva-2);margin-bottom:10px}
.kicker--claro{color:var(--salvia)}
.sec{padding:clamp(64px,9vw,120px) 0}
.sec-head{max-width:720px;margin-bottom:clamp(32px,5vw,56px)}
.sec-head h2{font-size:clamp(2.1rem,4.6vw,3.5rem);margin-bottom:16px}
.sec-head p:not(.kicker){color:var(--suave);font-size:1.1rem}
.sec-head--claro h2{color:var(--crema)}
.sec-head--claro p:not(.kicker){color:var(--salvia-2)}
em{font-style:italic;font-variation-settings:"opsz" 144;color:var(--oliva-2)}

/* ---------- hero ---------- */
.hero{position:relative;padding:clamp(36px,6vw,80px) 0 clamp(56px,8vw,110px);background:
  var(--hojas-oliva) 0 0/260px 260px,
  radial-gradient(1200px 600px at 85% 10%, #fffaf0 0%, rgba(255,250,240,0) 60%),
  var(--crema)}
.hero__grid{display:grid;gap:48px;align-items:center}
.hero h1{font-size:clamp(2.6rem,6.6vw,5rem);margin-bottom:22px}
.hero__sub{font-size:clamp(1.1rem,1.6vw,1.3rem);color:var(--suave);max-width:34ch}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.datos{display:flex;flex-wrap:wrap;gap:12px 36px;margin-top:40px;padding-top:26px;border-top:1px solid var(--linea)}
.datos li{display:flex;flex-direction:column}
.datos strong{font-family:var(--serif);font-size:2rem;font-weight:500;color:var(--bosque);line-height:1}
.datos span{font-size:.9rem;color:var(--suave)}

.collage{position:relative;width:100%;max-width:560px;aspect-ratio:5/6;margin-inline:auto}
.col{position:absolute;margin:0;overflow:hidden;box-shadow:var(--sombra);background:var(--salvia-2)}
.col img{width:100%;height:100%;object-fit:cover}
.col--a{left:0;top:5%;width:58%;height:82%;border-radius:999px 999px 28px 28px}
.col--b{right:0;bottom:0;width:46%;aspect-ratio:1;border-radius:50%;border:8px solid var(--crema)}
.col--c{right:1%;top:0;width:40%;aspect-ratio:4/3;border-radius:22px;transform:rotate(4deg);border:6px solid var(--crema)}
.sello{position:absolute;left:41%;top:44%;width:25%;aspect-ratio:1;display:grid;place-items:center;background:var(--marfil);border-radius:50%;box-shadow:var(--sombra)}
.sello__giro{position:absolute;inset:0;width:100%;height:100%;animation:giro 26s linear infinite}
.sello__giro text{font-family:var(--sans);font-size:15.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;fill:var(--oliva-2)}
.sello__logo{width:50%;height:50%;object-fit:contain}
@keyframes giro{to{transform:rotate(360deg)}}

/* ---------- cinta ---------- */
.cinta{background:var(--oliva-2);color:#fff;overflow:hidden;padding:16px 0;border-block:1px solid rgba(255,255,255,.12)}
.cinta__pista{display:flex;gap:28px;width:max-content;align-items:center;font-family:var(--serif);font-style:italic;font-size:1.35rem;white-space:nowrap;animation:cinta 46s linear infinite}
.cinta__pista i{font-style:normal;color:var(--salvia);font-size:1rem}
.cinta:hover .cinta__pista{animation-play-state:paused}
@keyframes cinta{to{transform:translateX(-50%)}}

/* ---------- nosotros ---------- */
.nosotros{background:var(--marfil)}
.pilares{display:grid;gap:36px 24px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.pilar h3{font-size:1.5rem;margin:22px 0 8px}
.pilar p{color:var(--suave)}
.arco{margin:0;aspect-ratio:4/5;border-radius:999px 999px var(--radio) var(--radio);overflow:hidden;background:var(--salvia-2);box-shadow:var(--sombra)}
.arco img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.pilar:hover .arco img{transform:scale(1.06)}

/* ---------- carta ---------- */
.carta{background:var(--salvia-2);background-image:var(--hojas-blancas);background-size:260px 260px}
.tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:12px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.tab{flex:none;border:2px solid var(--oliva-2);background:transparent;color:var(--bosque);padding:10px 20px;border-radius:999px;font-weight:600;font-size:.98rem;transition:background .2s,color .2s}
.tab:hover{background:rgba(108,105,50,.12)}
.tab[aria-selected="true"]{background:var(--oliva-2);color:#fff}
.carta__panel{display:grid;gap:28px;background:var(--marfil);border-radius:30px;padding:clamp(20px,3.4vw,44px);box-shadow:var(--sombra)}
.carta__foto{margin:0;border-radius:999px 999px 20px 20px;overflow:hidden;aspect-ratio:4/5;max-height:520px;background:var(--salvia-2)}
.carta__foto img{width:100%;height:100%;object-fit:cover}
.carta__cont h3{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:6px}
.carta__nota{color:var(--suave);margin-bottom:22px;font-size:1rem}
.grupo{margin-top:22px}
.grupo h4{font-family:var(--sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--oliva-2);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--linea)}
.items{display:grid;gap:12px 28px}
.item b{display:block;font-family:var(--serif);font-weight:500;font-size:1.15rem;color:var(--bosque)}
.item span{display:block;color:var(--suave);font-size:.98rem;line-height:1.45}
.etq{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--salvia);color:var(--bosque);font-family:var(--sans);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;vertical-align:middle}
.etq--nuevo{background:var(--flor)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:var(--crema);border:1px solid var(--linea);border-radius:999px;padding:6px 14px;font-weight:500;font-size:.96rem}
.carta__pie{margin-top:32px;display:grid;gap:18px;align-items:center}
.carta__pie p{color:var(--suave);max-width:64ch}
.carta__links{display:flex;flex-wrap:wrap;gap:10px}

/* ---------- sucursales ---------- */
.suc{background:var(--bosque);color:var(--crema);background-image:var(--hojas-oscuras);background-size:260px 260px}
.suc .btn--crema{margin-top:6px}
.suc__estado{min-height:1.5em;margin-top:12px;font-size:.98rem;color:var(--salvia)}
.suc__grid{display:grid;gap:20px}
.suc__lista{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.suc__it{flex:0 0 min(260px,78%);scroll-snap-align:start;text-align:left;background:rgba(246,242,228,.07);border:1.5px solid rgba(246,242,228,.18);border-radius:18px;padding:14px 16px;color:var(--crema);display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;transition:background .2s,border-color .2s,transform .2s}
.suc__it:hover{background:rgba(246,242,228,.13)}
.suc__it[aria-selected="true"]{background:var(--crema);color:var(--bosque);border-color:var(--crema)}
.suc__n{grid-row:1 / span 3;font-family:var(--serif);font-size:1.5rem;color:var(--salvia);align-self:center}
.suc__it[aria-selected="true"] .suc__n{color:var(--oliva-2)}
.suc__nom{font-family:var(--serif);font-size:1.2rem;font-weight:500;line-height:1.15}
.suc__dir{font-size:.9rem;opacity:.82;line-height:1.3}
.suc__est{font-size:.82rem;font-weight:600;display:flex;align-items:center;gap:7px;margin-top:3px}
.punto{width:9px;height:9px;border-radius:50%;background:#9aa0a6;flex:none}
.punto--abierto{background:#7bd36d;box-shadow:0 0 0 3px rgba(123,211,109,.25)}
.punto--cerrado{background:#e08a7a}
.suc__it[aria-selected="true"] .punto--abierto{background:#3f9a33;box-shadow:0 0 0 3px rgba(63,154,51,.2)}
.suc__it[aria-selected="true"] .punto--cerrado{background:#c0584a}
.suc__dist{margin-left:auto;font-weight:700}

.suc__det{background:var(--crema);color:var(--tinta);border-radius:28px;overflow:hidden;display:grid;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.det__foto{position:relative;min-height:240px;background:var(--salvia)}
.det__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.det__foto--logo{display:grid;place-items:center;background:var(--salvia) var(--hojas-blancas) 0 0/220px 220px}
.det__foto--logo img{position:static;width:min(220px,55%);height:auto;object-fit:contain;background:#fff;border-radius:50%;padding:6px}
.det__foto .etiqueta{position:absolute;left:16px;bottom:16px;background:rgba(252,251,246,.94);padding:6px 14px;border-radius:999px;font-size:.85rem;font-weight:600;display:flex;align-items:center;gap:8px}
.det__cuerpo{padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:14px}
.det__cuerpo h3{font-size:clamp(1.8rem,3vw,2.4rem)}
.det__dir{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:1.05rem}
.det__dir svg{margin-top:3px;color:var(--oliva-2)}
.det__dir small{display:block;color:var(--suave);font-size:.9rem}
.horas{width:100%;border-collapse:collapse;font-size:1rem}
.horas th{font-weight:500;text-align:left;color:var(--suave);padding:7px 0;border-bottom:1px solid var(--linea)}
.horas td{text-align:right;font-weight:600;padding:7px 0;border-bottom:1px solid var(--linea)}
.horas tr.hoy th,.horas tr.hoy td{color:var(--oliva-2);font-weight:700}
.det__sinhorario{background:var(--salvia-2);border-radius:14px;padding:12px 14px;font-size:.98rem}
.det__acc{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.det__mapa{min-height:320px;background:var(--salvia-2)}
.det__mapa iframe{display:block;width:100%;height:100%;min-height:320px;border:0;filter:saturate(.85) contrast(1.02)}
.suc__nota{margin-top:20px;font-size:.88rem;color:var(--salvia-2);opacity:.8}

/* ---------- ambiente ---------- */
.ambiente{background:var(--crema)}
.galeria{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;grid-auto-flow:dense}
.g{position:relative;border:0;padding:0;border-radius:20px;overflow:hidden;background:var(--salvia-2);grid-row:span 2;cursor:zoom-in}
.g--alta{grid-row:span 3}
.g img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.g:hover img{transform:scale(1.07)}
.g::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(44,48,25,.08);pointer-events:none}
.visor{border:0;padding:0;background:transparent;max-width:min(94vw,1000px);max-height:92vh;overflow:visible}
.visor::backdrop{background:rgba(33,36,15,.86);backdrop-filter:blur(4px)}
.visor img{max-width:100%;max-height:88vh;border-radius:16px;margin:auto}
.visor__x{position:absolute;right:-6px;top:-46px;width:40px;height:40px;border-radius:50%;border:0;background:var(--crema);font-size:1.6rem;line-height:1}

/* ---------- opiniones ---------- */
.opiniones{background:var(--marfil)}
.ops{display:grid;gap:18px;grid-template-columns:1fr}
@media (min-width:640px){.ops{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.ops{grid-template-columns:repeat(3,1fr)}}
.op{background:var(--crema);border:1px solid var(--linea);border-radius:var(--radio);padding:26px;display:flex;flex-direction:column;gap:14px;position:relative}
.op::before{content:"“";position:absolute;right:20px;top:2px;font-family:var(--serif);font-size:5rem;line-height:1;color:var(--salvia)}
.estrellas{color:var(--ratan);letter-spacing:.18em;font-size:1.05rem}
.op p{font-family:var(--serif);font-size:1.15rem;line-height:1.45;color:var(--bosque)}
.op footer{margin-top:auto;font-size:.88rem;color:var(--suave);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.op footer a{font-weight:600;color:var(--oliva-2)}

/* ---------- pedidos ---------- */
.pedi{background:var(--oliva-2);color:var(--crema);background-image:var(--hojas-blancas);background-size:260px 260px;padding:clamp(56px,8vw,96px) 0}
.pedi__in{display:grid;gap:28px;align-items:center}
.pedi h2{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:10px}
.pedi p:not(.kicker){color:var(--salvia-2);max-width:46ch;font-size:1.1rem}
.pedi__btns{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- pie ---------- */
.pie{background:var(--bosque-2);color:var(--salvia-2);padding:clamp(48px,7vw,80px) 0 28px}
.pie__in{display:grid;gap:36px}
.pie__marca img{margin-bottom:14px;border-radius:50%}
.pie h3{font-family:var(--sans);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--salvia);margin-bottom:14px}
.pie li{margin-bottom:8px;font-size:.98rem}
.pie a{text-decoration:none}
.pie a:hover{text-decoration:underline}
.pie__legal{margin-top:42px;padding-top:22px;border-top:1px solid rgba(223,231,205,.18);font-size:.85rem;opacity:.75}

/* ---------- aparición al hacer scroll ---------- */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.on{opacity:1;transform:none}

/* ---------- hojitas (patrón de la carta impresa) ---------- */
:root{
  --hojas-oliva:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='%23969253' fill-opacity='.13'%3E%3Cpath transform='translate(24 34) rotate(28)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(120 18) rotate(-40)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3Cpath transform='translate(210 60) rotate(70)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(70 110) rotate(-15)' d='M0 0C5-7 12-7 17 0C12 7 5 7 0 0Z'/%3E%3Cpath transform='translate(170 130) rotate(50)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3Cpath transform='translate(20 190) rotate(-60)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(120 220) rotate(20)' d='M0 0C5-7 12-7 17 0C12 7 5 7 0 0Z'/%3E%3Cpath transform='translate(225 215) rotate(-30)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3C/g%3E%3C/svg%3E");
  --hojas-blancas:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='%23ffffff' fill-opacity='.28'%3E%3Cpath transform='translate(24 34) rotate(28)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(120 18) rotate(-40)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3Cpath transform='translate(210 60) rotate(70)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(70 110) rotate(-15)' d='M0 0C5-7 12-7 17 0C12 7 5 7 0 0Z'/%3E%3Cpath transform='translate(170 130) rotate(50)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3Cpath transform='translate(20 190) rotate(-60)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(120 220) rotate(20)' d='M0 0C5-7 12-7 17 0C12 7 5 7 0 0Z'/%3E%3Cpath transform='translate(225 215) rotate(-30)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3C/g%3E%3C/svg%3E");
  --hojas-oscuras:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cg fill='%23aebf8e' fill-opacity='.08'%3E%3Cpath transform='translate(24 34) rotate(28)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(120 18) rotate(-40)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3Cpath transform='translate(210 60) rotate(70)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(70 110) rotate(-15)' d='M0 0C5-7 12-7 17 0C12 7 5 7 0 0Z'/%3E%3Cpath transform='translate(170 130) rotate(50)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3Cpath transform='translate(20 190) rotate(-60)' d='M0 0C7-9 17-9 24 0C17 9 7 9 0 0Z'/%3E%3Cpath transform='translate(120 220) rotate(20)' d='M0 0C5-7 12-7 17 0C12 7 5 7 0 0Z'/%3E%3Cpath transform='translate(225 215) rotate(-30)' d='M0 0C6-8 14-8 20 0C14 8 6 8 0 0Z'/%3E%3C/g%3E%3C/svg%3E");
}

/* ---------- pantallas medianas y grandes ---------- */
@media (min-width:720px){
  .items{grid-template-columns:repeat(2,1fr)}
  .galeria{grid-template-columns:repeat(4,1fr);grid-auto-rows:170px}
  .pie__in{grid-template-columns:1.2fr 1fr 1fr}
  .pedi__in{grid-template-columns:1.2fr 1fr}
  .pedi__btns{justify-content:flex-end}
  .carta__pie{grid-template-columns:1fr auto}
  .carta__links{justify-content:flex-end}
}
@media (min-width:720px){
  /* galería: 4 columnas × 6 filas, sin huecos */
  .galeria{grid-auto-flow:row}
  .g1{grid-column:1;grid-row:1 / span 3}
  .g2{grid-column:2;grid-row:1 / span 2}
  .g3{grid-column:3;grid-row:1 / span 2}
  .g4{grid-column:4;grid-row:1 / span 3}
  .g5{grid-column:2;grid-row:3 / span 2}
  .g6{grid-column:1;grid-row:4 / span 3}
  .g7{grid-column:3;grid-row:3 / span 2}
  .g8{grid-column:4;grid-row:4 / span 3}
  .g9{grid-column:2;grid-row:5 / span 2}
  .g10{grid-column:3;grid-row:5 / span 2}
}
@media (min-width:960px){
  .hero__grid{grid-template-columns:1.05fr .95fr}
  .carta__panel{grid-template-columns:minmax(220px,300px) 1fr;align-items:start}
  .carta__foto{position:sticky;top:calc(var(--alto-cab) + 20px)}
  .suc__grid{grid-template-columns:330px 1fr;align-items:start}
  .suc__lista{flex-direction:column;overflow:visible;padding:0}
  .suc__it{flex:none}
  .suc__det{grid-template-columns:1fr 1fr}
  .det__foto{min-height:260px;grid-column:1 / -1}
  .det__cuerpo{grid-column:1}
  .det__mapa{grid-column:2;min-height:100%}
}
@media (min-width:1200px){
  .galeria{grid-auto-rows:190px}
}

/* ---------- celular ---------- */
@media (max-width:959px){
  .burger{display:block}
  .nav{position:fixed;left:0;right:0;top:var(--alto-cab);background:var(--crema);flex-direction:column;align-items:stretch;gap:2px;padding:12px 16px 24px;border-bottom:1px solid var(--linea);box-shadow:0 24px 40px -20px rgba(44,48,25,.4);transform:translateY(-12px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s,visibility .25s}
  .nav.abierto{opacity:1;transform:none;visibility:visible}
  .nav a:not(.btn){padding:14px 12px;font-size:1.1rem;border-bottom:1px solid var(--linea);border-radius:0}
  .nav__cta{margin:14px 0 0;width:100%}
  .aviso{font-size:.78rem}
}
@media (max-width:480px){
  :root{--alto-cab:68px}
  .marca img{width:52px;height:52px}
  .btn{padding:13px 22px}
  .hero__cta .btn{flex:1 1 100%}
  .datos{gap:12px 24px}
  .sello__giro text{font-size:14px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sello__giro,.cinta__pista{animation:none}
  .js .rv{opacity:1;transform:none;transition:none}
  .arco img,.g img{transition:none}
}
