:root{
    --mem-green:#2A3A1C;
    --mem-lime:#C2C057;
    --mem-orange:#F28C28;
  
    --mem-gap:28px;
    --mem-radius:18px;
    --mem-cards-per-view:4.7;
  }
  
  /* ===== Sección ===== */
  .memorias{
    position:relative;
    background:var(--mem-green);
    color:#fff;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    padding-top:56px;
  }
  .mem__container{
    width:100%;
    max-width:1400px;
    margin:0 auto;
    padding-inline:24px;
    display:flex; flex-direction:column; flex:1;
  }
  .mem__title{
    font-family:"Tiki Tako","AppetitePro",system-ui,sans-serif;
    color:#C7D540;
    font-size:clamp(40px,10vw,84px);
    line-height:1; text-align:center;
    margin-bottom: 10px;
  }
  
  /* ===== Full-bleed ===== */
  .is-fullbleed{
    position:relative; left:50%; right:50%;
    margin-left:-50vw; margin-right:-50vw;
    width:100vw; max-width:100vw;
  }
  
  /* ===== Hojas ===== */
  .mem-leaves{ position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden; }
  .mem-leaves .leaf{ position:absolute; top:-80px; animation:leaf-fall linear forwards; filter:drop-shadow(0 2px 0 rgba(0,0,0,.15)); }
  @keyframes leaf-fall{ 0%{transform:translateY(-60px) rotate(0)} 100%{transform:translateY(110vh) rotate(360deg)} }
  
  /* ===== Carrusel ===== */
  .mem-carousel{ position:relative; z-index:1; margin-block: clamp(12px,3vh,32px); }
  .mem-track{
    display:flex; gap:var(--mem-gap);
    overflow-x:hidden; overflow-y:visible;
    padding:14px 24px 24px; 
    scroll-behavior:smooth;
  }
  .mem-card{
    position:relative;
    flex:0 0 calc((100% - (var(--mem-gap) * (var(--mem-cards-per-view) - 1))) / var(--mem-cards-per-view));
    aspect-ratio:400/520;
    border-radius:var(--mem-radius);
    background:transparent;
    box-shadow:0 10px 22px rgba(0,0,0,.25);
    overflow:hidden; isolation:isolate;
    transition:transform .28s ease, box-shadow .28s ease;
    will-change:transform;
  }
  .mem-art{ position:absolute; inset:0; color:initial; border-radius:inherit; overflow:hidden; }
  .mem-art img,.mem-art svg{ width:100%; height:100%; display:block; border-radius:inherit; object-fit:cover; }
  
  /* Hover sutil */
  .mem-card:hover{ transform:translateY(-6px); box-shadow:0 16px 32px rgba(0,0,0,.28); }
  .mem-art img{ transition:transform .35s cubic-bezier(.2,.7,.2,1); }
  .mem-card:hover .mem-art img{ transform:scale(1.02); }
  
  /* Accesibilidad */
  .mem-card:focus-within{ outline:2px solid rgba(255,255,255,.34); outline-offset:2px; }
  
  /* Flechas a los extremos */
  .mem-nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:46px; height:46px; display:grid; place-items:center;
    border:none; border-radius:50%;
    background:var(--mem-orange); color:#fff; cursor:pointer;
    box-shadow:0 6px 0 rgba(0,0,0,.18); z-index:5;
  }
  .mem-nav svg{ width:22px; height:22px; }
  .mem-nav--prev{ left:calc(50% - 50vw + clamp(10px,3.5vw,22px)); }
  .mem-nav--next{ right:calc(50% - 50vw + clamp(10px,3.5vw,22px)); }
  
  /* Botones */
  .mem-btnTop,.cc__btn{ transition:transform .18s ease, box-shadow .18s ease, filter .18s ease; will-change:transform; }
  .mem-btnTop{
    position:absolute; top:12px; left:12px; z-index:2;
    background:var(--mem-orange); color:#fff; border:none; border-radius:0;
    padding:10px 14px; font-weight:800; cursor:pointer; box-shadow:0 3px 0 rgba(0,0,0,.18);
  }
  .mem-btnTop:hover,.cc__btn:hover{ transform:translateY(-1px); box-shadow:0 5px 0 rgba(0,0,0,.22); filter:brightness(1.03); }
  .mem-btnTop:active,.cc__btn:active{ transform:translateY(0); box-shadow:0 2px 0 rgba(0,0,0,.22); filter:none; }
  
  /* ===== Banner ===== */
  .cc-band{ background:var(--mem-lime); border-radius:0; color:#FFFBDC; margin-top:auto; }
  .cc__inner{
    max-width:1400px; margin:0 auto;
    display:grid; align-items:center;
    grid-template-columns:90px 1fr 90px auto;
    gap:16px; padding:20px 28px; position:relative;
  }
  .cc__icon{ display:grid; place-items:center; }
  .cc__icon img{ width:min(140px,14vw); height:auto; display:block; }
  .cc__title{
    grid-column:2;
    font-family:"Tiki Tako","AppetitePro",system-ui,sans-serif;
    font-size:clamp(56px,5vw,72px); text-align:center; letter-spacing:.5px;
  }
  .cc__actions{ grid-column:4; display:flex; align-items:center; gap:12px; justify-self:end; }
  .cc__btn{ background:var(--mem-orange); color:#fff; text-decoration:none; border:none; border-radius:0; padding:12px 18px; font-weight:800; display:inline-block; }
  .cc__btn--home{ background:#f0a02b; }
  .cc__iconsMobile{ display:none; gap:16px; align-items:center; justify-content:center; }
  .cc__iconsMobile img{ width:72px; height:auto; display:block; }
  
  /* ===================== Responsive ===================== */
  
  /* ≤1100 */
  @media (max-width:1100px){ :root{ --mem-cards-per-view:3.8; } }
  
  /* ≤1024 */
  @media (max-width:1024px){
    :root{ --mem-cards-per-view:3.2; --mem-gap:22px; }
    .mem-track{ padding-inline:clamp(16px,3vw,24px); scroll-snap-type:x mandatory; }
    .mem-card{ scroll-snap-align:center; }
  }
  
  /* ≤860 */
  @media (max-width:860px){ :root{ --mem-cards-per-view:2.6; } }
  
  /* ≤768 */
  @media (max-width:768px){
    :root{ --mem-cards-per-view:2; --mem-gap:18px; }
    .mem__title{ margin-bottom:clamp(12px,2.5vh,20px); }
    .mem-nav{ width:42px; height:42px; } .mem-nav svg{ width:20px; height:20px; }
    .mem-nav--prev{ left:calc(50% - 50vw + clamp(8px,3.5vw,16px)); }
    .mem-nav--next{ right:calc(50% - 50vw + clamp(8px,3.5vw,16px)); }
    .mem-track{ padding-inline:clamp(14px,4vw,22px); scroll-snap-type:x mandatory; }
    .mem-card{ scroll-snap-align:center; }
    .cc__inner{ gap:14px; padding:22px; }
    .mem-track{
      overflow-x: auto;           
      overflow-y: visible;         
      -webkit-overflow-scrolling: touch; 
      scroll-snap-type: x mandatory; 
      touch-action: pan-x;          
      scrollbar-width: none;        
    }
    .mem-track::-webkit-scrollbar{ display:none; } 
    .mem-card{ scroll-snap-align: center; }
  }
  
  /* ≤560 */
  @media (max-width:560px){
    :root{ --mem-cards-per-view:1.6; }
    .mem-track{ padding-inline:18px; }
  }
  
  @media (max-width:520px){
    :root{ --mem-cards-per-view:1.04; --mem-gap:16px; }
    .mem-track{ padding-inline:18px; }
    .mem-card{ aspect-ratio:400/580; }
  
    .cc__icon{ display:none; }
    .cc__iconsMobile{ display:flex; grid-column:1 / -1; margin-bottom:8px; }
    .cc__inner{
      grid-template-columns:1fr;
      grid-template-areas:"icons" "title" "actions";
      text-align:center; padding:24px;
    }
    .cc__title{ grid-area:title; font-size:clamp(40px,10vw,56px); text-align:center; }
    .cc__actions{ grid-area:actions; width:100%; justify-self:stretch; display:flex; gap:12px; justify-content:stretch; margin-top:10px; }
    .cc__btn{ flex:1 1 0; text-align:center; padding:14px 16px; }
  }
  