/* Sueños andinos · alta costura en alpaca y aguayo (andinos1) — mobile-first */
.an-page{--tierra:#5a2e1c;--rojo:#9b2a1d;--ocre:#c98a2b;--verde:#3e5b3a;--alpaca:#f4ece0;--crudo:#fbf7f0;--tinta:#241612;background:var(--crudo);color:var(--tinta)}
.an-page.an-lock{overflow:hidden}
.an-aguayo{height:14px;background:repeating-linear-gradient(90deg,#9b2a1d 0 18px,#c98a2b 18px 26px,#3e5b3a 26px 40px,#f0c35a 40px 44px,#5a2e1c 44px 58px,#d2562f 58px 66px,#2c3d6b 66px 76px,#c98a2b 76px 80px);position:relative}
.an-aguayo::after{content:"";position:absolute;inset:4px 0;background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(255,255,255,.35) 5px 6px,transparent 6px 11px),repeating-linear-gradient(-45deg,transparent 0 5px,rgba(0,0,0,.18) 5px 6px,transparent 6px 11px)}
.an-eyebrow{font-family:Montserrat,sans-serif;letter-spacing:.32em;text-transform:uppercase;font-size:.7rem;color:#f0c35a;margin:0 0 .8rem}
.an-eyebrow.dark{color:var(--rojo)}
.an-hero{position:relative;min-height:92svh;display:flex;align-items:flex-end;overflow:hidden;background:var(--tierra);color:#fff}
.an-hero-media{position:absolute;inset:0}
.an-hero-media img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;animation:anZoom 16s ease-out both}
@keyframes anZoom{from{transform:scale(1.14)}to{transform:scale(1)}}
.an-hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,22,18,.15) 0%,rgba(36,22,18,.35) 45%,rgba(36,22,18,.92) 100%)}
.an-aguayo-v{position:absolute;left:0;top:0;bottom:0;width:12px;height:auto;background:repeating-linear-gradient(180deg,#9b2a1d 0 18px,#c98a2b 18px 26px,#3e5b3a 26px 40px,#f0c35a 40px 44px,#5a2e1c 44px 58px,#2c3d6b 58px 70px)}
.an-hero-text{position:relative;padding:0 1.6rem 4.5rem 2.2rem;max-width:720px;animation:anUp 1.2s .3s both}
@keyframes anUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.an-hero h1{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(3rem,13vw,6.5rem);line-height:.92;margin:0 0 .8rem}
.an-hero h1 em{display:block;font-style:italic;color:#f0c35a}
.an-lead{font-family:Cinzel,serif;letter-spacing:.12em;font-size:.95rem;margin:0 0 1.6rem;opacity:.92}
.an-cta{display:inline-block;padding:.95rem 1.8rem;border:1px solid #f0c35a;color:#fff;text-decoration:none;font:600 .74rem Montserrat,sans-serif;letter-spacing:.24em;text-transform:uppercase;transition:.3s}
.an-cta:hover{background:#f0c35a;color:var(--tinta)}
.an-scroll{position:absolute;bottom:1rem;left:50%;color:#f0c35a;animation:anBob 2s infinite}
@keyframes anBob{50%{transform:translateY(6px)}}
.an-story{padding:4rem 1.5rem;text-align:center;max-width:860px;margin:0 auto}
.an-story h2,.an-coll-head h2,.an-visit h2{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:clamp(2rem,7vw,3.2rem);margin:0 0 1rem;color:var(--tierra)}
.an-story-text{font-family:"Cormorant Garamond",serif;font-size:1.3rem;line-height:1.6;font-style:italic}
.an-pillars{list-style:none;padding:0;margin:2.5rem 0 0;display:grid;gap:1rem}
.an-pillars li{background:var(--alpaca);padding:1.2rem;border-top:4px solid var(--ocre)}
.an-pillars b{display:block;font-family:Cinzel,serif;color:var(--rojo);margin-bottom:.3rem}
.an-pillars span{font-size:.9rem}
.an-collection{padding:3rem 1rem 4rem;background:linear-gradient(180deg,var(--crudo),var(--alpaca))}
.an-coll-head{text-align:center;margin-bottom:2rem}
.an-note{font:500 .72rem Montserrat,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--tierra);opacity:.8}
.an-grid{display:grid;gap:1.4rem;max-width:1300px;margin:0 auto}
.an-card{opacity:0;transform:translateY(24px);transition:opacity .8s var(--d,0ms),transform .8s var(--d,0ms)}
.an-card.is-in{opacity:1;transform:none}
.an-card-btn{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:100%;background:#fff;box-shadow:0 10px 30px rgba(90,46,28,.12);position:relative;overflow:hidden}
.an-card-btn:focus-visible{outline:3px solid var(--ocre)}
.an-card-img{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--alpaca)}
.an-card-img img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;transition:transform 1.2s}
.an-card-btn:hover .an-card-img img{transform:scale(1.06)}
.an-card-badges{position:absolute;top:.8rem;right:.8rem}
.an-card-badges span{background:rgba(36,22,18,.75);color:#fff;font:500 .66rem Montserrat,sans-serif;letter-spacing:.08em;padding:.35rem .6rem}
.an-card-body{display:block;padding:1.1rem 1.2rem 1.3rem;border-top:6px solid transparent;border-image:repeating-linear-gradient(90deg,#9b2a1d 0 12px,#c98a2b 12px 18px,#3e5b3a 18px 28px,#f0c35a 28px 31px) 6}
.an-material{display:block;font:600 .64rem Montserrat,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--verde);margin-bottom:.4rem}
.an-card-name{display:block;font-family:"Cormorant Garamond",serif;font-size:1.8rem;color:var(--tierra);line-height:1.1}
.an-card-sub{display:block;font-size:.88rem;color:#6b5448;margin:.3rem 0 .9rem}
.an-card-foot{display:flex;justify-content:space-between;align-items:center;font:600 .74rem Montserrat,sans-serif;letter-spacing:.08em}
.an-card-price{color:var(--rojo)}
.an-card-more{color:var(--tierra)}
.an-empty{text-align:center;grid-column:1/-1}
.an-visit{background:var(--tierra);color:#fff;text-align:center}
.an-visit-inner{padding:3.5rem 1.5rem}
.an-visit h2{color:#f0c35a}
.an-wa-btn{display:inline-block;margin-top:1rem;background:#1f8f4e;color:#fff;text-decoration:none;padding:1rem 1.6rem;font:600 .78rem Montserrat,sans-serif;letter-spacing:.14em;text-transform:uppercase;border-radius:2px}
.an-wa-btn:hover{background:#17733e}
/* Ficha */
.an-ficha{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}
.an-ficha[hidden]{display:none}
.an-ficha-backdrop{position:absolute;inset:0;background:rgba(20,12,9,.82);backdrop-filter:blur(4px)}
.an-ficha-card{position:relative;background:var(--crudo);width:100%;max-height:96svh;overflow:auto;animation:anUp .45s both}
.an-ficha-close{position:absolute;top:.5rem;right:.6rem;z-index:3;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.92);font-size:1.6rem;cursor:pointer}
.an-car{position:relative;overflow:hidden;background:#1a0f0b;touch-action:pan-y}
.an-car-track{display:flex;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.an-slide{flex:0 0 100%;height:62svh;display:flex;align-items:center;justify-content:center;position:relative}
.an-slide img,.an-slide video{max-width:100%;max-height:100%;object-fit:contain;user-select:none}
.an-yt{cursor:pointer}.an-yt img{width:100%;height:100%;object-fit:cover;opacity:.85}
.an-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.an-play{position:absolute;width:74px;height:74px;border-radius:50%;background:rgba(155,42,29,.9);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.an-car-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(251,247,240,.85);font-size:1.8rem;cursor:pointer;z-index:2}
.an-car-btn.prev{left:.6rem}.an-car-btn.next{right:.6rem}.an-car-btn[hidden]{display:none}
.an-car-count{position:absolute;bottom:.6rem;left:50%;transform:translateX(-50%);color:#fff;font:500 .7rem Montserrat,sans-serif;letter-spacing:.15em;background:rgba(0,0,0,.45);padding:.25rem .6rem}
.an-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.7rem 1rem;background:#2a1913;scrollbar-width:thin}
.an-th{flex:0 0 58px;height:74px;border:2px solid transparent;padding:0;background:#000;position:relative;cursor:pointer;opacity:.6}
.an-th.is-on{border-color:#f0c35a;opacity:1}
.an-th img,.an-th video{width:100%;height:100%;object-fit:cover}
.an-th i{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;text-shadow:0 0 6px #000}
.an-ficha-body{padding:1.4rem 1.4rem 2rem}
.an-ficha-body h3{font-family:"Cormorant Garamond",serif;font-weight:500;font-size:2.4rem;margin:.1rem 0;color:var(--tierra)}
.an-f-sub{margin:0 0 .6rem;color:#6b5448}
.an-f-price{font:600 1rem Montserrat,sans-serif;color:var(--rojo);margin:.4rem 0 1rem}
.an-f-desc{line-height:1.6}
.an-f-details{list-style:none;padding:0;margin:1rem 0;display:grid;gap:.45rem}
.an-f-details li{padding-left:1.4rem;position:relative;font-size:.93rem}
.an-f-details li::before{content:"";position:absolute;left:0;top:.45em;width:9px;height:9px;transform:rotate(45deg);background:var(--ocre)}
.an-f-story{background:var(--alpaca);border-left:5px solid var(--rojo);padding:1rem 1.1rem;margin:1.2rem 0}
.an-f-story b{font-family:Cinzel,serif;font-size:.8rem;letter-spacing:.14em;color:var(--rojo)}
.an-f-story p{margin:.4rem 0 0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.15rem}
.an-f-story[hidden]{display:none}
.suenos-cta{margin-top:1.4rem}
@media (min-width:700px){
  .an-pillars{grid-template-columns:repeat(3,1fr)}
  .an-grid{grid-template-columns:repeat(2,1fr)}
  .an-hero-text{padding:0 3rem 6rem 4rem}
}
@media (min-width:1050px){
  .an-grid{grid-template-columns:repeat(3,1fr)}
  .an-ficha{align-items:center}
  .an-ficha-card{width:min(1180px,94vw);display:grid;grid-template-columns:1.25fr 1fr;grid-template-rows:auto 1fr;max-height:92vh;overflow:hidden}
  .an-car{grid-column:1;grid-row:1}
  .an-thumbs{grid-column:1;grid-row:2;align-self:start}
  .an-slide{height:calc(92vh - 92px)}
  .an-ficha-body{grid-column:2;grid-row:1/3;overflow:auto}
}
@media (prefers-reduced-motion:reduce){.an-hero-media img,.an-hero-text,.an-scroll{animation:none}.an-card{opacity:1;transform:none;transition:none}}
/* andinos1b: ficha a pantalla completa en móvil */
.an-ficha-card{max-height:96vh;max-height:96dvh}
@media (max-width:1049px){.an-ficha{align-items:stretch}.an-ficha-card{max-height:none;height:100%;height:100dvh}.an-slide{height:58vh}}
/* andinos1c: la ficha siempre cubre toda la pantalla (algunos celulares calculan mal inset:0) */
.an-ficha{top:0;left:0;right:auto;bottom:auto;width:100%;height:100vh;height:100dvh}
@media (max-width:1049px){.an-ficha-card{height:100%}}
/* movil.css limita [role=dialog] a 92dvh: la ficha andina debe cubrir toda la pantalla */
.an-page .an-ficha[role=dialog]{max-height:none;overflow:visible}
