/* ==========================================================================
   VELCON · tienda editorial
   Negro profundo, champagne y tipografía de revista. Sin cajas decorativas:
   la foto y el espacio hacen el trabajo.
   ========================================================================== */
:root{
  --bg:#070605; --bg-2:#0c0a08; --bg-3:#11100d;
  --ink:#f5efe3; --muted:#a79d8d; --dim:#7d7466;
  --gold:#c9a45c; --gold-2:#e7cf99; --gold-3:#8f6f31;
  --line:rgba(201,164,92,.22); --line-soft:rgba(245,239,227,.10);
  --paper:#f0e9dc; --photo:#d8d6d2;
  --serif:'Cormorant Garamond',Baskerville,'Times New Roman',serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
  --head:78px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--head) + 18px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.locked{overflow:hidden}
h1,h2,h3,p,figure,blockquote{margin:0}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
img{max-width:100%;display:block}
::selection{background:var(--gold);color:#0a0806}
:focus-visible{outline:1px solid var(--gold-2);outline-offset:5px}
.skip{position:fixed;left:16px;top:-100px;z-index:200;background:var(--paper);color:#111;padding:12px 18px;transition:top .2s}
.skip:focus{top:14px}
.grain{position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.045;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}

/* ---------- tipografía base ---------- */
.eyebrow{font-size:10px;font-weight:500;letter-spacing:.34em;text-transform:uppercase;color:var(--gold)}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.02em}
h1 em,h2 em{font-style:italic;color:var(--gold-2)}
.section{padding:clamp(78px,10vw,150px) 6vw;max-width:1560px;margin:0 auto}
.section-head{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:end;margin-bottom:clamp(34px,5vw,64px)}
.section-head h2{font-size:clamp(2.35rem,4.5vw,4.1rem);line-height:.98;margin-top:16px}
.section-note{max-width:360px;color:var(--muted);font-size:.95rem;line-height:1.7;justify-self:end}
.small{font-size:.82rem;color:var(--dim)}
.text-link{display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);transition:border-color .3s,gap .3s}
.text-link:hover{border-color:var(--gold-2);gap:18px}
.inline-link{display:inline;border:0;border-bottom:1px solid var(--line);padding:0;color:var(--gold-2);font-size:inherit}
.foot-link{display:block;text-align:left;padding:0;color:var(--muted);font-size:.82rem;min-height:0;transition:color .25s}
.foot-link:hover{color:var(--ink)}

/* ---------- botones ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;border:1px solid transparent;border-radius:1px;font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;transition:transform .35s var(--ease),background .35s,color .35s,border-color .35s;position:relative;overflow:hidden}
.btn.gold{background:linear-gradient(100deg,var(--gold-2),var(--gold) 55%,#b78f45);color:#12100b;border-color:var(--gold)}
.btn.gold:hover{transform:translateY(-2px);box-shadow:0 12px 30px -16px rgba(201,164,92,.6)}
.btn.line{border-color:var(--line);color:var(--gold-2)}
.btn.line:hover{border-color:var(--gold);background:rgba(201,164,92,.06)}
.btn:disabled{opacity:.5;cursor:default;transform:none}
.round{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;color:var(--gold-2);display:grid;place-items:center;transition:background .3s,border-color .3s}
.round:hover{background:rgba(201,164,92,.08);border-color:var(--gold)}
.icon-btn{width:44px;height:44px;display:grid;place-items:center;color:var(--ink);opacity:.9;transition:opacity .25s}
.icon-btn:hover{opacity:1}
.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.4}

/* ---------- header ---------- */
.top{position:fixed;top:0;left:0;right:0;height:var(--head);z-index:100;display:flex;align-items:center;gap:28px;padding:0 clamp(18px,4vw,54px);transition:background .4s,border-color .4s,height .4s;border-bottom:1px solid transparent}
.top.solid{background:rgba(7,6,5,.86);backdrop-filter:blur(14px);border-bottom-color:var(--line-soft);height:66px}
.top-brand{display:flex;align-items:center;line-height:0}
.top-brand img{width:auto;height:42px;mix-blend-mode:screen;transition:height .4s}
.top.solid .top-brand img{height:34px}
.top-nav{display:flex;gap:30px;margin-left:auto;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.top-nav a{position:relative;padding:6px 0;transition:color .25s}
.top-nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease)}
.top-nav a:hover{color:var(--ink)}
.top-nav a:hover::after{width:100%}
.top-actions{display:flex;align-items:center;gap:8px;margin-left:auto}
.top-nav+.top-actions{margin-left:0}
.cart-btn{display:flex;align-items:center;gap:9px;padding:10px 14px;border:1px solid var(--line);color:var(--gold-2);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;transition:border-color .3s,background .3s}
.cart-ico{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.cart-btn:hover{border-color:var(--gold);background:rgba(201,164,92,.06)}
.cart-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:50%;background:var(--gold);color:#12100b;font-size:.62rem;letter-spacing:0}
.menu-btn{display:none;flex-direction:column;gap:5px}
.menu-btn span{display:block;width:20px;height:1px;background:currentColor;transition:transform .3s}
.menu-btn[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}
.menu-btn[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:95;background:rgba(7,6,5,.98);display:flex;flex-direction:column;justify-content:center;padding:0 10vw;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}
.menu.open{opacity:1;visibility:visible}
.menu nav{display:flex;flex-direction:column;gap:6px}
.menu nav a{display:flex;gap:22px;align-items:baseline;font-family:var(--serif);font-size:clamp(2rem,6vw,3.4rem);padding:8px 0;color:var(--ink)}
.menu nav a span{font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;color:var(--gold)}
.menu p{margin-top:40px;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--dim)}

/* ---------- hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;text-align:left;padding:calc(var(--head) + 40px) 6vw 96px;overflow:hidden;background:#000}
.hero-bg{position:absolute;inset:0;pointer-events:none}
.glow{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55}
.g1{width:52vw;height:52vw;left:50%;top:4%;transform:translateX(-50%);background:radial-gradient(circle,rgba(201,164,92,.24),transparent 62%);animation:breathe-center 12s ease-in-out infinite alternate}
.g2{width:34vw;height:34vw;left:-6%;bottom:-8%;background:radial-gradient(circle,rgba(143,111,49,.22),transparent 65%);animation:breathe 16s 1s ease-in-out infinite alternate}
.g3{width:30vw;height:30vw;right:-6%;top:22%;background:radial-gradient(circle,rgba(231,207,153,.10),transparent 65%);animation:breathe 18s 2s ease-in-out infinite alternate}
@keyframes breathe{from{opacity:.35;transform:scale(.94)}to{opacity:.7;transform:scale(1.06)}}
@keyframes breathe-center{from{opacity:.4;transform:translateX(-50%) scale(.94)}to{opacity:.75;transform:translateX(-50%) scale(1.05)}}
.speck{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gold-2);opacity:.5;box-shadow:0 0 10px 2px rgba(231,207,153,.35);animation:float 14s linear infinite}
.s1{left:16%;top:24%;animation-duration:16s}
.s2{left:78%;top:18%;animation-duration:19s;animation-delay:-4s}
.s3{left:66%;top:70%;animation-duration:22s;animation-delay:-9s}
.s4{left:27%;top:74%;animation-duration:18s;animation-delay:-2s}
.s5{left:50%;top:9%;animation-duration:24s;animation-delay:-12s}
@keyframes float{0%,100%{transform:translate3d(0,0,0);opacity:.25}50%{transform:translate3d(14px,-26px,0);opacity:.75}}
.hero-wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:clamp(30px,6vw,90px);width:100%;max-width:1400px}
.hero-copy{max-width:680px}
.hero-logo{width:clamp(250px,30vw,450px);justify-self:center;margin:0;animation:fade-up 1.1s .15s both}
.hero-logo img{width:100%;height:auto;mix-blend-mode:screen;animation:logo-in 1.6s var(--ease) both}
@keyframes logo-in{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}
.hero .eyebrow{animation:fade-up 1s .2s both}
.hero h1{font-size:clamp(2.5rem,5.4vw,4.9rem);line-height:1.02;margin:18px 0 20px;animation:fade-up 1s .32s both}
.h1-break{display:block;height:0}
.hero-lead{max-width:470px;color:var(--muted);font-size:clamp(.95rem,1.2vw,1.05rem);line-height:1.75;animation:fade-up 1s .44s both}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;justify-content:flex-start;margin-top:clamp(24px,4vh,38px);animation:fade-up 1s .56s both}
@keyframes fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--dim);z-index:3}
.scroll-cue span{display:block;width:1px;height:42px;background:linear-gradient(var(--gold),transparent);animation:cue 2.4s ease-in-out infinite}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}

/* ---------- marquee ---------- */
.marquee{overflow:hidden;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);padding:18px 0;background:var(--bg)}
.marquee-track{display:flex;align-items:center;gap:34px;width:max-content;animation:slide 42s linear infinite;font-family:var(--serif);font-size:1.05rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.marquee-track i{font-style:normal;color:var(--gold);font-size:.5rem}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- colecciones ---------- */
.cats{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:clamp(160px,17vw,230px);gap:10px}
.cat{position:relative;display:block;overflow:hidden;background:var(--photo);isolation:isolate}
.cat img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.cat::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,4,3,.72));transition:opacity .4s;z-index:1}
.cat:hover img{transform:scale(1.05)}
.cat-label{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#fff}
.cat-label b{font-family:var(--serif);font-size:clamp(1.15rem,1.8vw,1.6rem);font-weight:500;letter-spacing:.01em}
.cat-label small{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.cat:nth-child(1){grid-column:span 2;grid-row:span 2}
.cat:nth-child(6),.cat:nth-child(7){grid-column:span 2}
.cat .cat-arrow{position:absolute;top:14px;right:16px;z-index:2;color:#fff;opacity:0;transform:translate(-4px,4px);transition:opacity .35s,transform .35s}
.cat:hover .cat-arrow{opacity:1;transform:none}

/* ---------- rail ---------- */
.rail-section{padding-left:0;padding-right:0;max-width:none}
.rail-section .section-head{padding:0 6vw}
.rail-nav{display:flex;gap:8px;justify-self:end}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 6vw 18px;scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rcard{flex:0 0 clamp(210px,23vw,280px);scroll-snap-align:start}
.rcard .r-img{position:relative;background:var(--photo);overflow:hidden;aspect-ratio:1/1}
.rcard .r-img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.rcard:hover .r-img img{transform:scale(1.045)}
.rcard .r-add{position:absolute;right:10px;bottom:10px;width:40px;height:40px;border-radius:50%;background:rgba(10,8,6,.82);color:var(--gold-2);border:1px solid var(--line);font-size:1.1rem;display:grid;place-items:center;opacity:0;transform:translateY(6px);transition:opacity .3s,transform .3s,background .3s}
.rcard:hover .r-add,.rcard:focus-within .r-add{opacity:1;transform:none}
.rcard .r-add:hover{background:var(--gold);color:#12100b}
.rcard h3{font-family:var(--serif);font-size:1.22rem;font-weight:500;margin-top:13px;line-height:1.15}
.rcard .r-meta{display:flex;justify-content:space-between;gap:10px;margin-top:6px;font-size:.72rem;color:var(--muted)}
.rcard .r-meta b{font-weight:400;color:var(--ink)}

/* ---------- editorial ---------- */
.editorial{display:grid;grid-template-columns:1.05fr .95fr;align-items:stretch;background:var(--bg-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.editorial-img{position:relative;margin:0;overflow:hidden;min-height:520px}
.editorial-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.02)}
.editorial-img figcaption{position:absolute;left:24px;bottom:20px;font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.editorial-copy{padding:clamp(40px,7vw,96px);display:flex;flex-direction:column;justify-content:center}
.editorial-copy h2{font-size:clamp(1.9rem,3.4vw,3.3rem);line-height:1.06;margin:18px 0 24px}
.editorial-copy p{color:var(--muted);max-width:440px;margin-bottom:14px}
.editorial-copy .small{color:var(--dim)}
.editorial-copy .text-link{margin-top:18px;align-self:flex-start}

/* ---------- catálogo ---------- */
.catalog-head{align-items:end}
.filters{padding:18px 0 26px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);margin-bottom:34px}
.chips{display:flex;flex-wrap:wrap;gap:6px 24px;margin-bottom:22px}
.chip{position:relative;padding:6px 0;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.chip small{font-size:.58rem;color:var(--dim);margin-left:4px;letter-spacing:.05em}
.chip:hover{color:var(--ink)}
.chip[aria-pressed=true]{color:var(--gold-2);border-bottom-color:var(--gold)}
.filter-tools{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:22px;align-items:end}
.search-field{display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:9px}
.search-field svg{width:16px;height:16px;fill:none;stroke:var(--gold);stroke-width:1.5;flex:0 0 auto}
.search-field input{width:100%;min-height:34px;border:0;background:none;outline:0;font-size:.9rem}
.search-field input::placeholder{color:var(--dim)}
.select-field{display:flex;flex-direction:column;gap:2px;min-width:150px}
.select-field span{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.select-field select{border:0;border-bottom:1px solid var(--line);background:transparent;padding:7px 0;font-size:.82rem;color:var(--ink);outline:0;cursor:pointer;color-scheme:dark}
.select-field option{background:#14110d;color:var(--ink)}
.filter-empty{margin-top:20px;color:var(--muted);font-size:.85rem}
.filter-empty .text-link{margin-left:8px}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(30px,4vw,54px) clamp(12px,1.6vw,22px)}
.p-card{min-width:0}
.p-img{position:relative;background:var(--photo);overflow:hidden;aspect-ratio:1/1}
.p-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .6s}
.p-card:hover .p-img img{transform:scale(1.045)}
.p-open{position:absolute;inset:0;width:100%;height:100%;z-index:1}
.p-add{position:absolute;right:10px;bottom:10px;z-index:2;width:42px;height:42px;border-radius:50%;background:rgba(9,8,6,.85);border:1px solid var(--line);color:var(--gold-2);font-size:1.15rem;display:grid;place-items:center;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s,background .3s,color .3s}
.p-card:hover .p-add,.p-card:focus-within .p-add{opacity:1;transform:none}
.p-add:hover{background:var(--gold);color:#12100b}
.p-meta{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font-size:.55rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.p-name{font-family:var(--serif);font-size:clamp(1.02rem,1.4vw,1.28rem);font-weight:500;line-height:1.2;margin-top:6px;min-height:2.4em}
.p-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.p-price{font-size:.82rem;color:var(--gold-2);letter-spacing:.04em}
.p-btn{border-bottom:1px solid var(--line);padding:4px 0;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:color .25s,border-color .25s}
.p-btn:hover{color:var(--gold-2);border-color:var(--gold)}
.more-wrap{display:flex;justify-content:center;margin-top:54px}

/* ---------- pasos ---------- */
.steps{padding:clamp(70px,9vw,120px) 6vw;border-top:1px solid var(--line-soft);background:var(--bg-2)}
.steps-head{max-width:1560px;margin:0 auto clamp(34px,4vw,56px);display:flex;flex-direction:column;gap:12px}
.steps-head h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.02}
.steps-grid{max-width:1560px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,60px)}
.steps-grid article{border-top:1px solid var(--line);padding-top:22px}
.steps-grid span{font-family:var(--serif);font-size:1.6rem;color:var(--gold)}
.steps-grid h3{font-family:var(--serif);font-size:1.7rem;font-weight:500;margin:8px 0 10px}
.steps-grid p{color:var(--muted);font-size:.9rem}

/* ---------- asesoría ---------- */
.lead{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:center;padding:clamp(70px,9vw,130px) 6vw;max-width:1560px;margin:0 auto;border-top:1px solid var(--line-soft)}
.lead-copy h2{font-size:clamp(2.3rem,4.4vw,4rem);line-height:.98;margin:16px 0 22px}
.lead-copy p{color:var(--muted);max-width:420px;margin-bottom:12px}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;border:1px solid var(--line);padding:clamp(22px,3.4vw,38px);background:linear-gradient(160deg,rgba(201,164,92,.05),transparent 55%)}
.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field:nth-of-type(3){grid-column:1/-1}
.field label{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}
.field label span{text-transform:none;letter-spacing:.04em}
.field input{border:0;border-bottom:1px solid var(--line);background:transparent;min-height:38px;padding:6px 0;outline:0;font-size:.95rem}
.field input:focus{border-color:var(--gold)}
.check{grid-column:1/-1;display:flex;align-items:flex-start;gap:10px;font-size:.72rem;line-height:1.6;color:var(--muted);cursor:pointer}
.check input{appearance:none;width:16px;height:16px;border:1px solid var(--line);background:transparent;flex:0 0 auto;margin-top:2px;display:grid;place-items:center;cursor:pointer}
.check input:checked{background:var(--gold);border-color:var(--gold)}
.check input:checked::after{content:'✓';color:#12100b;font-size:11px;line-height:1}
.lead-form .btn{grid-column:1/-1;justify-self:start}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.form-msg{grid-column:1/-1;font-size:.8rem;color:var(--gold-2);min-height:1.2em}
.form-msg.bad{color:#f0a3a3}
.form-msg.ok{color:#a8e0b8}

/* ---------- footer ---------- */
.foot{padding:clamp(50px,7vw,90px) 6vw 28px;border-top:1px solid var(--line);background:#050403}
.foot-top{display:grid;grid-template-columns:auto 1fr 1.2fr;gap:clamp(24px,5vw,70px);align-items:start;max-width:1560px;margin:0 auto}
.foot-logo img{width:120px;height:auto;mix-blend-mode:screen;opacity:.95}
.foot-line{font-family:var(--serif);font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.2;color:var(--ink)}
.foot-line span{color:var(--gold);font-size:.7em;letter-spacing:.06em}
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.foot-cols b{display:block;font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:12px}
.foot-cols a,.foot-cols button{display:block;margin-bottom:8px;color:var(--muted);font-size:.82rem;transition:color .25s}
.foot-cols a:hover,.foot-cols button:hover{color:var(--ink)}
.foot-bottom{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:1560px;margin:44px auto 0;padding-top:18px;border-top:1px solid var(--line-soft);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}

/* ---------- carrito ---------- */
.cart{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#0b0907;border-left:1px solid var(--line);z-index:110;display:flex;flex-direction:column;transform:translateX(102%);transition:transform .5s var(--ease);visibility:hidden}
.cart.open{transform:none;visibility:visible}
.cart-top{display:flex;align-items:center;justify-content:space-between;padding:24px 24px 18px;border-bottom:1px solid var(--line-soft)}
.cart-top h2{font-size:1.9rem;line-height:1;margin-top:6px}
.cart-items{flex:1;overflow-y:auto;padding:0 24px}
.cart-empty{padding:60px 0;text-align:center;color:var(--muted);font-size:.9rem}
.cart-empty a{color:var(--gold-2);border-bottom:1px solid var(--line);padding-bottom:3px}
.ci{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line-soft)}
.ci-img{background:var(--photo);aspect-ratio:1/1;overflow:hidden}
.ci-img img{width:100%;height:100%;object-fit:cover}
.ci-name{font-family:var(--serif);font-size:1.08rem;line-height:1.2}
.ci-meta{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:4px}
.ci-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:9px}
.qty{display:flex;align-items:center;gap:0;border:1px solid var(--line)}
.qty button{width:30px;height:30px;color:var(--gold-2);font-size:1rem}
.qty span{min-width:26px;text-align:center;font-size:.78rem}
.ci-price{font-size:.8rem;color:var(--gold-2)}
.ci-del{font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);border-bottom:1px solid transparent}
.ci-del:hover{color:#f0a3a3;border-color:#f0a3a3}
.cart-foot{padding:20px 24px 24px;border-top:1px solid var(--line);background:#090806}
.cart-total{display:flex;justify-content:space-between;align-items:baseline;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.cart-total strong{font-family:var(--serif);font-size:1.65rem;font-weight:500;letter-spacing:0;color:var(--ink)}
.cart-note{font-size:.68rem;color:var(--dim);margin:10px 0 16px;line-height:1.6}
.cart-foot .btn{width:100%}
.cart-clear{display:block;margin:14px auto 0;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.cart-clear:hover{color:var(--ink)}
.scrim{position:fixed;inset:0;background:rgba(3,2,1,.62);backdrop-filter:blur(3px);z-index:105;opacity:0;transition:opacity .4s}
.scrim.on{opacity:1}

/* ---------- modal producto ---------- */
.product{width:min(980px,94vw);max-height:92svh;padding:0;border:1px solid var(--line);background:var(--bg-2);color:var(--ink);overflow:auto}
.product::backdrop{background:rgba(3,2,1,.72);backdrop-filter:blur(6px)}
.product-x{position:absolute;right:10px;top:10px;z-index:3;background:rgba(9,8,6,.6);border-radius:50%}
.product-body{display:grid;grid-template-columns:1.05fr .95fr}
.pd-img{background:var(--photo);min-height:420px}
.pd-img img{width:100%;height:100%;object-fit:cover;max-height:78svh}
.pd-info{padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center}
.pd-info .eyebrow{color:var(--gold)}
.pd-info h2{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.04;margin:12px 0 8px}
.pd-ref{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.pd-price{font-family:var(--serif);font-size:1.9rem;color:var(--gold-2);margin:18px 0}
.pd-desc{font-size:.88rem;color:var(--muted);line-height:1.7}
.pd-actions{display:flex;gap:12px;align-items:center;margin-top:24px;flex-wrap:wrap}
.pd-actions .qty{border-color:var(--line)}
.pd-actions .btn{flex:1;min-width:170px}
.pd-note{font-size:.68rem;color:var(--dim);margin-top:14px;line-height:1.6}
.pd-wa{display:inline-block;margin-top:14px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:4px}

/* ---------- política ---------- */
.policy{width:min(620px,92vw);padding:clamp(28px,5vw,48px);border:1px solid var(--line);background:var(--bg-2);color:var(--ink)}
.policy::backdrop{background:rgba(3,2,1,.72);backdrop-filter:blur(6px)}
.policy-x{position:absolute;right:8px;top:8px}
.policy h2{font-size:2rem;line-height:1.05;margin:10px 0 18px}
.policy p{font-size:.86rem;color:var(--muted);margin-bottom:14px}
.policy a{color:var(--gold-2);border-bottom:1px solid var(--line)}

/* ---------- WhatsApp flotante ---------- */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:90;width:54px;height:54px;border-radius:50%;background:linear-gradient(140deg,var(--gold-2),var(--gold));display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(0,0,0,.7),0 0 0 1px rgba(18,16,11,.15);transition:transform .3s,box-shadow .3s}
.wa-float svg{width:27px;height:27px;fill:#14110b}
.wa-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 18px 36px -12px rgba(201,164,92,.5)}
@media (max-width:620px){.wa-float{right:14px;bottom:14px;width:50px;height:50px}}

/* ---------- toast ---------- */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,18px);z-index:130;background:var(--paper);color:#13100b;padding:13px 22px;font-size:.78rem;letter-spacing:.04em;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;max-width:90vw;text-align:center}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .grid{grid-template-columns:repeat(3,1fr)}
  .cats{grid-auto-rows:clamp(150px,20vw,210px)}
}
@media (max-width:900px){
  :root{--head:66px}
  .top-nav{display:none}
  .menu-btn{display:flex}
  .top-actions{margin-left:auto}
  .section-head{grid-template-columns:1fr;gap:16px}
  .section-note{justify-self:start;max-width:520px}
  .hero-wrap{grid-template-columns:1fr;gap:24px;max-width:640px}
  .hero-copy{max-width:none}
  .hero-logo{width:min(52vw,320px);justify-self:start;margin:4px 0 0}
  .cats{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}
  .cat:nth-child(1){grid-column:span 2;grid-row:span 2}
  .cat:nth-child(6),.cat:nth-child(7){grid-column:span 1}
  .editorial{grid-template-columns:1fr}
  .editorial-img{min-height:360px;max-height:56vh}
  .lead{grid-template-columns:1fr}
  .steps-grid{grid-template-columns:1fr;gap:26px}
  .grid{grid-template-columns:repeat(2,1fr)}
  .foot-top{grid-template-columns:1fr;gap:30px}
  .foot-cols{grid-template-columns:repeat(3,1fr)}
  .pd-img{min-height:300px}
}
@media (max-width:620px){
  body{font-size:15px}
  .top{padding:0 16px;gap:10px}
  .top-brand img{height:36px}
  .top.solid .top-brand img{height:30px}
  .cart-btn{padding:9px 10px}
  .cart-btn span:first-child{display:none}
  .hero{padding:calc(var(--head) + 28px) 20px 86px;min-height:100svh}
  .hero-logo{width:min(60vw,250px);margin:10px 0 0;justify-self:start}
  .hero h1{font-size:clamp(2.2rem,10vw,3.1rem)}
  .hero-lead{font-size:.92rem}
  .hero-cta{flex-direction:column;width:100%;max-width:320px}
  .hero-cta .btn{width:100%}
  .marquee{padding:14px 0}
  .marquee-track{font-size:.85rem;gap:24px}
  .section{padding:64px 20px}
  .section-head h2{font-size:2.3rem}
  .cats{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:8px;scrollbar-width:none;margin:0 -20px;padding-left:20px;padding-right:20px}
  .cats::-webkit-scrollbar{display:none}
  .cat{flex:0 0 74vw;height:300px;scroll-snap-align:start}
  .cat:nth-child(1){height:340px}
  .cat-label b{font-size:1.4rem}
  .rail{padding-left:20px;padding-right:20px}
  .rail-section .section-head{padding:0 20px}
  .editorial-img{min-height:300px}
  .editorial-copy{padding:36px 20px 46px}
  .editorial-copy h2{font-size:2rem}
  .filters{padding-top:8px}
  .chips{gap:2px 16px;margin-bottom:16px}
  .chip{font-size:.6rem}
  .filter-tools{grid-template-columns:1fr 1fr;gap:14px}
  .search-field{grid-column:1/-1}
  .grid{gap:26px 11px}
  .p-name{font-size:1rem;min-height:2.6em}
  .p-meta{font-size:.5rem;letter-spacing:.06em;flex-direction:column;gap:2px}
  .p-row{flex-direction:column;align-items:flex-start;gap:4px}
  .p-add{width:36px;height:36px;opacity:1;transform:none}
  .p-btn{font-size:.55rem}
  .lead-form{grid-template-columns:1fr;padding:22px}
  .field:nth-of-type(3),.check,.lead-form .btn{grid-column:auto}
  .lead-form .btn{justify-self:stretch}
  .foot{padding:44px 20px 22px}
  .foot-logo img{width:96px}
  .foot-cols{grid-template-columns:1fr 1fr;gap:18px}
  .foot-bottom{margin-top:30px}
  .product-body{grid-template-columns:1fr}
  .pd-img{max-height:44svh;min-height:0}
  .pd-img img{max-height:44svh}
  .pd-info{padding:24px 20px 28px}
  .cart{width:100%;border-left:0}
  .cart-top,.cart-items,.cart-foot{padding-left:18px;padding-right:18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
  .hero-logo img{animation:none}
}


/* ============================================================================
   VERSIÓN MÓVIL (22/10/2026) — el dueño la vio «fea» en Android e iPhone.
   Solo aplica en pantallas angostas: el escritorio NO cambia.
   Orden pedido: LOGO primero, luego los textos, todo centrado y con aire.
   ========================================================================= */
@media (max-width:820px){
  /* --- Portada: logo arriba, textos debajo, todo centrado --- */
  .hero{min-height:auto;padding:calc(var(--head) + 26px) 20px 64px;display:block}
  .hero-wrap{display:flex;flex-direction:column;align-items:center;gap:22px;max-width:560px;margin:0 auto;text-align:center}
  .hero-logo{order:-1;width:auto;max-width:min(62vw,250px);justify-self:center;margin:0 auto;position:relative}
  .hero-logo img{width:100%;max-width:min(62vw,250px);margin:0 auto}
  .hero-logo img{position:relative;z-index:1}

  .hero h1 br{display:none}
  .scroll-cue{display:none}
  .hero-copy{max-width:none;display:flex;flex-direction:column;align-items:center;gap:0}
  .hero .eyebrow,.hero-eyebrow{justify-content:center;text-align:center}
  .hero h1{font-size:clamp(2.05rem,8.6vw,2.9rem);line-height:1.06;margin:14px 0 14px;text-wrap:balance}
  .hero-lead{max-width:36ch;margin:0 auto;font-size:.96rem;line-height:1.7;text-align:center}
  .hero-cta{justify-content:center;width:100%;max-width:340px;margin:26px auto 0;flex-direction:column;gap:10px}
  .hero-cta .btn{width:100%;justify-content:center;padding:16px 22px}

  /* --- Cabecera más liviana y con aire para el pulgar --- */
  .top{padding:0 16px;gap:12px;height:var(--head)}
  .top-brand img{height:34px}
  .top.solid .top-brand img{height:30px}
  .top-actions{gap:8px}
  .cart-btn{padding:10px 12px;border-radius:999px}

  /* --- Secciones: mismo diseño, mejor ritmo vertical --- */
  .section{padding:56px 20px}
  .section-head{gap:14px}
  .section-head h2{font-size:clamp(1.85rem,7.4vw,2.4rem);line-height:1.08;text-wrap:balance}
  .section-note{font-size:.86rem;line-height:1.65}

  /* --- Carrusel de colecciones: tarjetas que se sienten bien al dedo --- */
  .cats{margin:0 -20px;padding:0 20px 10px;gap:12px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .cat{flex:0 0 78vw;height:290px;scroll-snap-align:center;border-radius:16px}
  .cat:nth-child(1){height:330px}
  .cat-label{padding:16px}
  .cat-label b{font-size:1.35rem}

  /* --- Productos: dos columnas legibles, sin apretar el precio --- */
  .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}
  .p-name{font-size:.95rem;line-height:1.3;min-height:2.6em}
  .p-price{font-size:.95rem}
  .p-add{width:40px;height:40px;opacity:1;transform:none;border-radius:999px}
  .p-btn{font-size:.58rem;letter-spacing:.08em}

  /* --- Formulario de asesoría: campos cómodos de tocar --- */
  .lead-form{padding:22px 18px;border-radius:16px}
  .lead-form input,.lead-form textarea,.lead-form select{font-size:16px;padding:14px 14px}

  /* --- Pie y botones flotantes con margen seguro --- */
  .foot{padding:44px 20px calc(22px + env(safe-area-inset-bottom,0px))}
  .wa-float{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:52px;height:52px}
  .cart{max-width:100%}
  .cart-foot{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}
}

/* Teléfonos pequeños: un poco menos de todo, sin apretar */
@media (max-width:400px){
  .hero{padding-top:calc(var(--head) + 18px)}
  .hero-logo,.hero-logo img{max-width:min(58vw,210px)}
  .hero h1{font-size:clamp(1.85rem,8.2vw,2.3rem)}
  .hero-lead{font-size:.92rem}
  .section{padding:48px 16px}
  .grid{gap:20px 10px}
  .p-name{font-size:.9rem}
  .p-meta{font-size:.48rem}
  .cat{flex-basis:84vw;height:270px}
}

/* ---------- Botón de menú reconocible (22/10/2026): «Menú» + tres líneas ---------- */
.menu-btn{display:none;align-items:center;gap:9px;height:40px;padding:0 14px;border-radius:999px;
  border:1px solid rgba(201,164,92,.45);background:rgba(201,164,92,.10);color:var(--ink);
  font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s}
.menu-btn:hover{background:rgba(201,164,92,.2);border-color:var(--gold)}
.menu-btn:active{transform:scale(.97)}
.menu-btn-lines{display:flex;flex-direction:column;gap:4px;width:18px}
.menu-btn-lines i{display:block;height:2px;width:100%;background:currentColor;border-radius:2px;transition:transform .3s,opacity .2s}
.menu-btn[aria-expanded=true] .menu-btn-lines i:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-btn[aria-expanded=true] .menu-btn-lines i:nth-child(2){opacity:0}
.menu-btn[aria-expanded=true] .menu-btn-lines i:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.menu-top{display:none;align-items:center;justify-content:space-between;position:absolute;top:0;left:0;right:0;
  padding:16px 20px;border-bottom:1px solid rgba(201,164,92,.18)}
.menu-brand{font-family:var(--serif);font-size:1.05rem;letter-spacing:.34em;color:var(--gold)}
.menu-close{width:40px;height:40px;border-radius:50%;border:1px solid rgba(201,164,92,.4);background:transparent;
  color:var(--ink);font-size:.95rem;cursor:pointer}
@media (max-width:900px){
  /* Cabecera minimalista: logo · Menú · Carrito · Buscador. Sin círculos ni cajas. */
  .top-actions{display:flex;order:2;margin-left:auto;gap:4px}
  .top-brand img{height:34px}
  .menu-btn-txt{font-size:.66rem;letter-spacing:.12em}
  .menu-btn{order:1;border:0;background:transparent;padding:0 8px;height:40px;border-radius:0;color:var(--ink)}
  .menu-btn:hover{background:transparent;border-color:transparent}
  .cart-btn{order:2;border:0;background:transparent;padding:0 8px;height:40px;gap:6px;color:var(--ink);
    font-size:.68rem;letter-spacing:.14em}
  .cart-btn:hover{background:transparent;border-color:transparent}
  .icon-btn#search-open{order:3;width:40px;height:40px;opacity:1}
  #search-open svg{width:20px;height:20px}
  .cart-txt{display:none}
  .cart-ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
  .cart-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
    background:var(--gold);color:#13100b;font-size:.6rem;font-weight:700;letter-spacing:0}
  .menu{justify-content:flex-start;padding:84px 24px 28px;overflow-y:auto}
  .menu-top{display:flex}
  .menu nav{gap:2px}
  .menu nav a{font-size:clamp(1.7rem,7.4vw,2.4rem);padding:14px 0;border-bottom:1px solid rgba(255,255,255,.06)}
  .menu nav a span{width:26px}
  .menu-foot{margin-top:26px;font-size:.64rem}
  .menu-btn{display:inline-flex}
}
@media (max-width:400px){
  .menu-btn{padding:0 11px;gap:7px;font-size:.66rem}
  .menu-btn-txt{display:none}
}

/* ============================================================================
   TÍTULO DE PORTADA en el celular: palabras separadas + destello dorado que lo
   enmarca (pedido del dueño, 22/10/2026). Solo móvil; el escritorio no cambia.
   ============================================================================ */
@media (max-width:820px){
  .hero h1{position:relative;display:inline-block;padding:16px 18px;margin:14px auto 10px}
  .hero h1 .h1-break{display:block;height:0}
  /* rayito de oro que recorre el marco */
  .hero h1::before{content:'';position:absolute;inset:0;border-radius:18px;padding:1.5px;pointer-events:none;
    background:linear-gradient(115deg,rgba(201,164,92,0) 20%,rgba(239,214,158,.95) 42%,rgba(201,164,92,.35) 55%,rgba(201,164,92,0) 78%);
    background-size:280% 280%;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
    animation:oroMarco 5.5s linear infinite;opacity:.95}
  /* halo suave detrás del texto */
  .hero h1::after{content:'';position:absolute;inset:-10% -6%;border-radius:24px;z-index:-1;pointer-events:none;
    background:radial-gradient(60% 70% at 50% 50%,rgba(201,164,92,.16),rgba(201,164,92,.05) 60%,transparent 80%);
    animation:oroHalo 6s ease-in-out infinite}
  .hero h1 em{display:inline-block}
}
@keyframes oroMarco{
  0%{background-position:0% 50%}
  100%{background-position:280% 50%}
}
@keyframes oroHalo{
  0%,100%{opacity:.55;transform:scale(.985)}
  50%{opacity:1;transform:scale(1.015)}
}
@media (prefers-reduced-motion:reduce){
  .hero h1::before,.hero h1::after{animation:none}
}

/* ============================================================================
   «Una joya no se elige por su tamaño, se elige por lo que evoca»
   Animación de entrada por renglón + brillo de oro que recorre la frase final.
   Pedido del dueño, 22/10/2026. No cambia el texto ni el resto del bloque.
   ============================================================================ */
.h2-evoca{position:relative}
.h2-evoca .ev-l{display:block;overflow:hidden}
.h2-evoca .ev-l>*, .h2-evoca .ev-l{will-change:transform,opacity}
.js .h2-evoca .ev-l{opacity:0;transform:translateY(28px) rotate(.6deg);
  transition:opacity 1s cubic-bezier(.22,.8,.24,1),transform 1s cubic-bezier(.22,.8,.24,1)}
.js .h2-evoca.in .ev-l{opacity:1;transform:none}
.js .h2-evoca.in .ev-l:nth-child(1){transition-delay:.05s}
.js .h2-evoca.in .ev-l:nth-child(2){transition-delay:.18s}
.js .h2-evoca.in .ev-l:nth-child(3){transition-delay:.34s}
/* la frase final: oro con brillo que pasa de vez en cuando */
.h2-evoca .ev-gold em{background:linear-gradient(100deg,#c9a45c 0%,#c9a45c 38%,#f6e7bf 48%,#fff6dc 52%,#f0d9a4 57%,#c9a45c 68%,#c9a45c 100%);
  background-size:260% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;animation:none}
.js .h2-evoca.in .ev-gold em{animation:evBrillo 6.5s ease-in-out .8s infinite}
@keyframes evBrillo{
  0%,55%{background-position:100% 0}
  78%{background-position:0% 0}
  100%{background-position:0% 0}
}
/* subrayado dorado que crece bajo la frase final */
.h2-evoca .ev-gold{position:relative;padding-bottom:10px}
.h2-evoca .ev-gold::after{content:'';position:absolute;left:0;bottom:2px;height:1px;width:0;
  background:linear-gradient(90deg,rgba(201,164,92,0),#c9a164,rgba(201,164,92,0));
  transition:width 1.4s cubic-bezier(.22,.8,.24,1) .7s}
.js .h2-evoca.in .ev-gold::after{width:min(100%,340px)}
@media (prefers-reduced-motion:reduce){
  .js .h2-evoca .ev-l{opacity:1;transform:none;transition:none}
  .js .h2-evoca.in .ev-gold em{animation:none}
  .h2-evoca .ev-gold::after{transition:none;width:min(100%,340px)}
}

/* ============================================================================
   ORO EN MOVIMIENTO — escritorio y móvil (pedido del dueño, 22/10/2026)
   Dos textos: el título de la portada y «Una joya no se elige…».
   Marco con un destello que recorre el borde + resplandor + brillo en las letras.
   ============================================================================ */
body .hero h1{position:relative;display:inline-block;padding:14px 20px 16px;isolation:isolate}
body .hero h1::before{
  content:'';position:absolute;inset:-2px;border-radius:20px;padding:1.6px;pointer-events:none;z-index:2;
  background:linear-gradient(115deg,rgba(201,164,92,0) 18%,rgba(246,231,191,.98) 40%,rgba(255,246,220,1) 47%,rgba(201,164,92,.45) 56%,rgba(201,164,92,0) 80%);
  background-size:300% 300%;background-position:120% 50%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:oroBarrido 7s linear infinite;
}
body .hero h1::after{
  content:'';position:absolute;inset:-18% -10%;border-radius:28px;z-index:-1;pointer-events:none;
  background:radial-gradient(58% 62% at 50% 55%,rgba(201,164,92,.20),rgba(201,164,92,.06) 58%,transparent 80%);
  animation:oroRespira 7s ease-in-out infinite;
}
body .hero h1 em{background:linear-gradient(100deg,#c9a45c 0%,#e7cd93 34%,#fff6dc 47%,#f0d9a4 58%,#c9a45c 78%,#c9a45c 100%);
  background-size:260% 100%;background-position:110% 0;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;animation:oroLetras 9s ease-in-out 1.2s infinite}

/* El titular editorial: mismo marco, más sutil, y un halo detrás */
body .h2-evoca{position:relative;padding:18px 0 6px;isolation:isolate}
body .h2-evoca::before{
  content:'';position:absolute;inset:-10px -16px;border-radius:18px;padding:1.3px;pointer-events:none;z-index:0;
  background:linear-gradient(115deg,rgba(201,164,92,0) 22%,rgba(246,231,191,.9) 44%,rgba(201,164,92,.35) 56%,rgba(201,164,92,0) 78%);
  background-size:300% 300%;background-position:120% 50%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;
  animation:oroBarrido 9s linear infinite 1.4s;
}
body .h2-evoca::after{
  content:'';position:absolute;inset:-8% -6%;z-index:-1;pointer-events:none;border-radius:22px;
  background:radial-gradient(50% 60% at 40% 60%,rgba(201,164,92,.14),transparent 75%);
  animation:oroRespira 9s ease-in-out infinite;
}

@keyframes oroBarrido{
  0%{background-position:120% 50%}
  100%{background-position:-40% 50%}
}
@keyframes oroRespira{
  0%,100%{opacity:.45;transform:scale(.99)}
  50%{opacity:.95;transform:scale(1.01)}
}
@keyframes oroLetras{
  0%,52%{background-position:110% 0}
  76%{background-position:-10% 0}
  100%{background-position:-10% 0}
}

/* En el celular el marco va pegado al texto y con menos aire, para no comer pantalla */
@media (max-width:820px){
  body .hero h1{padding:16px 18px}
  body .hero h1::before{inset:0}
  body .hero h1::after{inset:-10% -6%}
  body .h2-evoca{padding:14px 0 4px}
  body .h2-evoca::before{inset:-4px -6px}
}
@media (prefers-reduced-motion:reduce){
  body .hero h1::before,body .hero h1::after,body .hero h1 em,
  body .h2-evoca::before,body .h2-evoca::after{animation:none!important;background-position:50% 50%}
  body .hero h1 em{-webkit-text-fill-color:currentColor;color:var(--gold-2)}
}

/* ============================================================================
   BRILLO SOBRE LAS LETRAS del título de portada (pedido del dueño, 22/10/2026):
   cuando termina el barrido del marco, un destello blanco-oro pasa por el texto.
   ============================================================================ */
body .hero h1{
  background-image:linear-gradient(100deg,#f5efe3 0%,#f5efe3 38%,#fff3cf 45%,#fffdf6 49%,#ffe9b0 52%,#fff8ea 56%,#f5efe3 64%,#f5efe3 100%);
  background-size:320% 100%;background-position:130% 0;background-repeat:repeat;
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;
  animation:h1Brillo 11s ease-in-out .9s infinite;
}
body .hero h1 em{background-repeat:repeat;background-size:320% 100%;animation:h1BrilloOro 11s ease-in-out .9s infinite}
@keyframes h1Brillo{
  0%,56%{background-position:130% 0}
  72%{background-position:-25% 0}
  100%{background-position:-25% 0}
}
@keyframes h1BrilloOro{
  0%,56%{background-position:130% 0}
  72%{background-position:-25% 0}
  100%{background-position:-25% 0}
}
@media (prefers-reduced-motion:reduce){
  body .hero h1{-webkit-text-fill-color:currentColor;color:var(--ink);background:none;animation:none}
  body .hero h1 em{animation:none}
}

/* ============================================================================
   PEPITAS DE ORO Y LÍNEA DE LUZ en el título de portada (22/10/2026)
   Pedido: que «se sienta» el oro brillando, con destellos y pepitas, sin pesar.
   Solo decorativo: no cambia el texto ni el tamaño.
   ============================================================================ */
.h1-oro{position:absolute;inset:0;pointer-events:none;z-index:3;overflow:visible}
.h1-oro i{position:absolute;display:block;width:5px;height:5px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%,#fffdf3 0%,#ffe9b8 35%,#c9a45c 70%,rgba(201,164,92,0) 100%);
  box-shadow:0 0 7px 1.5px rgba(231,207,153,.45);
  opacity:0;transform:scale(.4);animation:pepita 7.5s ease-in-out infinite}
/* reparto: arriba, costados y esquinas (porcentajes del propio título) */
.h1-oro i:nth-child(1){top:-6px;left:12%;animation-delay:.6s}
.h1-oro i:nth-child(2){top:18%;right:-7px;width:4px;height:4px;animation-delay:1.9s}
.h1-oro i:nth-child(3){bottom:6%;left:-6px;width:6px;height:6px;animation-delay:3.1s}
.h1-oro i:nth-child(4){top:44%;left:32%;width:3px;height:3px;animation-delay:2.4s}
.h1-oro i:nth-child(5){bottom:-5px;right:22%;width:4px;height:4px;animation-delay:4.2s}
.h1-oro i:nth-child(6){top:8%;right:34%;width:3px;height:3px;animation-delay:5.3s}
.h1-oro i:nth-child(7){bottom:34%;right:-4px;width:3px;height:3px;animation-delay:6.1s;border-radius:1px;transform:rotate(45deg) scale(.4)}
@keyframes pepita{
  0%,72%,100%{opacity:0;transform:scale(.35)}
  78%{opacity:1;transform:scale(1.15)}
  84%{opacity:.55;transform:scale(.9)}
  90%{opacity:1;transform:scale(1.05)}
}
/* 7ª pepita: destello en forma de rombo */
.h1-oro i:nth-child(7){border-radius:1px}

@media (max-width:820px){
  .h1-oro i{width:4px;height:4px;box-shadow:0 0 6px 1px rgba(231,207,153,.4)}
  .h1-oro i:nth-child(4),.h1-oro i:nth-child(6),.h1-oro i:nth-child(7){display:none}
}
@media (prefers-reduced-motion:reduce){
  .h1-oro i{animation:none;opacity:.75;transform:none}
}

/* Portada en NEGRO PURO (pedido del dueño, 22/10/2026): sin fotos ni adornos de fondo,
   para que el negro del logo se funda con el de la página. Un platinado muy sutil arriba. */
.hero{background:#000}
.hero-bg{background:radial-gradient(120% 85% at 50% -10%,#080808 0%,#020202 45%,#000 72%)}

/* ============================================================================
   NEGRO PURO + PORTADA Y COLECCIONES MÁS ARRIBA (pedido del dueño, 22/10/2026)
   El negro es el mismo del logo (se camufla). Sin luces de fondo.
   ============================================================================ */
.hero{background:#000}
.hero-bg{background:#000}
.hero .glow{display:none}            /* nada que aclare el negro */
.hero .speck{opacity:.28}            /* los destellos quedan, muy tenues */

@media (min-width:901px){
  .hero-wrap{transform:translateY(-5vh)}   /* todo el bloque de la portada sube */
  .hero{padding-top:calc(var(--head) + 4px);padding-bottom:70px}
}

/* «Siete familias»: menos aire arriba y encabezado más pegado a la rejilla */
#colecciones{padding-top:clamp(44px,5.5vw,78px)}
#colecciones .section-head{margin-bottom:clamp(20px,3vw,38px)}

/* El logo se funde con el fondo negro: sin halo, sin sombra, sin bordes (22/10/2026) */
.hero-logo,.hero-logo::before,.hero-logo::after{background:none!important;box-shadow:none!important}
.hero-logo img{filter:none!important;mix-blend-mode:screen;isolation:auto}
.hero-logo::before,.hero-logo::after{content:none!important;display:none!important}

/* ============================================================================
   POLVO DE ORO sobre el negro (22/10/2026) — partículas diminutas que flotan y
   destellan muy despacio. Decorativo y liviano: solo transform y opacity.
   ============================================================================ */
.polvo-oro{position:absolute;inset:0;display:block;pointer-events:none;z-index:0;overflow:hidden}
.polvo-oro i{position:absolute;display:block;width:2px;height:2px;border-radius:50%;
  background:radial-gradient(circle,#fffdf3 0%,#ffe9b8 40%,#c9a45c 75%,rgba(201,164,92,0) 100%);
  box-shadow:0 0 6px 1px rgba(231,207,153,.35);opacity:0;
  animation:polvoFlota 18s linear infinite, polvoBrilla 5.5s ease-in-out infinite}
/* reparto disperso y tamaños distintos */
.polvo-oro i:nth-child(1){left:6%;top:64%;animation-duration:22s,6s;animation-delay:-2s,0s}
.polvo-oro i:nth-child(2){left:14%;top:38%;width:3px;height:3px;animation-duration:26s,7s;animation-delay:-6s,1s}
.polvo-oro i:nth-child(3){left:22%;top:78%;animation-duration:20s,5s;animation-delay:-11s,.4s}
.polvo-oro i:nth-child(4){left:31%;top:22%;width:1.5px;height:1.5px;animation-duration:28s,6.5s;animation-delay:-4s,2s}
.polvo-oro i:nth-child(5){left:38%;top:58%;animation-duration:24s,5.5s;animation-delay:-15s,1.4s}
.polvo-oro i:nth-child(6){left:46%;top:86%;width:2.5px;height:2.5px;animation-duration:30s,7.5s;animation-delay:-8s,.8s}
.polvo-oro i:nth-child(7){left:54%;top:30%;animation-duration:21s,6.2s;animation-delay:-3s,2.6s}
.polvo-oro i:nth-child(8){left:62%;top:70%;animation-duration:27s,5.8s;animation-delay:-12s,1.1s}
.polvo-oro i:nth-child(9){left:69%;top:44%;width:3px;height:3px;animation-duration:23s,7.2s;animation-delay:-7s,3s}
.polvo-oro i:nth-child(10){left:76%;top:18%;animation-duration:25s,6s;animation-delay:-16s,.2s}
.polvo-oro i:nth-child(11){left:83%;top:62%;width:1.5px;height:1.5px;animation-duration:29s,6.8s;animation-delay:-5s,1.8s}
.polvo-oro i:nth-child(12){left:90%;top:34%;animation-duration:22s,5.4s;animation-delay:-9s,2.2s}
.polvo-oro i:nth-child(13){left:96%;top:74%;animation-duration:26s,7s;animation-delay:-13s,.6s}
.polvo-oro i:nth-child(14){left:50%;top:12%;width:2px;height:2px;animation-duration:31s,6.4s;animation-delay:-18s,1.6s}
.polvo-oro i:nth-child(15){left:4%;top:20%;animation-duration:24s,5.2s;animation-delay:-10s,2.8s}
.polvo-oro i:nth-child(16){left:72%;top:88%;width:2px;height:2px;animation-duration:28s,6.6s;animation-delay:-14s,.9s}
@keyframes polvoFlota{
  0%{transform:translate3d(0,12px,0) scale(.85)}
  50%{transform:translate3d(10px,-26px,0) scale(1.05)}
  100%{transform:translate3d(-6px,-58px,0) scale(.9)}
}
@keyframes polvoBrilla{
  0%,100%{opacity:0}
  18%{opacity:.85}
  46%{opacity:.18}
  70%{opacity:.7}
  88%{opacity:.05}
}
@media (max-width:820px){
  .polvo-oro i{box-shadow:0 0 5px 1px rgba(231,207,153,.3)}
  .polvo-oro i:nth-child(4),.polvo-oro i:nth-child(9),.polvo-oro i:nth-child(14),.polvo-oro i:nth-child(16){display:none}
}
@media (prefers-reduced-motion:reduce){
  .polvo-oro i{animation:none;opacity:.35}
}

/* ============================================================================
   POLVO DE HADAS DORADO en «Siete familias» (22/10/2026)
   Partículas que caen lento, se mecen y destellan, con forma de pepita o estrella.
   Decorativo: no tapa el texto ni cambia el tamaño de nada.
   ============================================================================ */
.section-head{position:relative}
.section-head>div,.section-head>p{position:relative;z-index:1}
.polvo-hadas{position:absolute;inset:-18% -4% -12%;display:block;pointer-events:none;overflow:hidden;z-index:0}
.polvo-hadas i{position:absolute;top:-12%;display:block;width:3px;height:3px;border-radius:50%;
  background:radial-gradient(circle,#fffdf3 0%,#ffe9b8 42%,#c9a45c 78%,rgba(201,164,92,0) 100%);
  box-shadow:0 0 7px 1.5px rgba(231,207,153,.4);opacity:0;
  animation:hadaCae 12s linear infinite, hadaBrilla 4.5s ease-in-out infinite}
/* algunas como pepitas en rombo */
.polvo-hadas i:nth-child(3n){border-radius:1px;transform:rotate(22deg)}
.polvo-hadas i:nth-child(1){left:4%;animation-duration:14s,4.8s;animation-delay:-1s,.3s}
.polvo-hadas i:nth-child(2){left:12%;width:2px;height:2px;animation-duration:11s,4s;animation-delay:-4s,1.1s}
.polvo-hadas i:nth-child(3){left:19%;width:4px;height:4px;animation-duration:16s,5.2s;animation-delay:-7s,.6s}
.polvo-hadas i:nth-child(4){left:26%;animation-duration:12.5s,4.2s;animation-delay:-2.5s,1.8s}
.polvo-hadas i:nth-child(5){left:34%;width:2px;height:2px;animation-duration:13.5s,4.6s;animation-delay:-9s,.9s}
.polvo-hadas i:nth-child(6){left:41%;animation-duration:15s,5s;animation-delay:-5.5s,2.2s}
.polvo-hadas i:nth-child(7){left:48%;width:4px;height:4px;animation-duration:17s,5.4s;animation-delay:-11s,.2s}
.polvo-hadas i:nth-child(8){left:56%;animation-duration:12s,4.4s;animation-delay:-3s,1.5s}
.polvo-hadas i:nth-child(9){left:63%;width:2px;height:2px;animation-duration:14.5s,4.9s;animation-delay:-8s,.7s}
.polvo-hadas i:nth-child(10){left:71%;animation-duration:13s,4.1s;animation-delay:-6s,2.5s}
.polvo-hadas i:nth-child(11){left:78%;width:3.5px;height:3.5px;animation-duration:16.5s,5.6s;animation-delay:-12s,1.3s}
.polvo-hadas i:nth-child(12){left:85%;animation-duration:11.5s,4.3s;animation-delay:-2s,.5s}
.polvo-hadas i:nth-child(13){left:91%;width:2px;height:2px;animation-duration:15.5s,5.1s;animation-delay:-10s,2s}
.polvo-hadas i:nth-child(14){left:97%;animation-duration:13.8s,4.7s;animation-delay:-4.5s,1.7s}
@keyframes hadaCae{
  0%{transform:translate3d(0,-40px,0) rotate(0deg)}
  35%{transform:translate3d(14px,60px,0) rotate(120deg)}
  70%{transform:translate3d(-10px,150px,0) rotate(240deg)}
  100%{transform:translate3d(8px,250px,0) rotate(360deg)}
}
@keyframes hadaBrilla{
  0%,100%{opacity:0}
  25%{opacity:.9}
  55%{opacity:.25}
  80%{opacity:.75}
}
@media (max-width:820px){
  .polvo-hadas{inset:-12% -6% -8%}
  .polvo-hadas i:nth-child(n+11){display:none}
  .polvo-hadas i{animation-duration:13s,4.5s}
}
@media (prefers-reduced-motion:reduce){
  .polvo-hadas i{animation:none;opacity:.3;top:30%}
}

/* ============================================================================
   LÍNEA DE POLVO DE ORO bajo los títulos (22/10/2026)
   Pasa rápido de izquierda a derecha, como arena dorada. En «Piezas que enamoran»
   al llegar al final dibuja un corazón con textura de arena de oro.
   ============================================================================ */
.hero h2,.section-head h2{position:relative}
.linea-polvo{position:absolute;left:0;right:0;bottom:-16px;height:12px;display:block;pointer-events:none;overflow:visible}
.linea-polvo>i{position:absolute;top:50%;left:-32%;width:30%;height:3px;transform:translateY(-50%);border-radius:99px;
  background:
    radial-gradient(circle at 12% 50%,rgba(255,253,243,.95) 0 1.4px,transparent 2px),
    radial-gradient(circle at 34% 40%,rgba(255,240,200,.9) 0 1.1px,transparent 1.7px),
    radial-gradient(circle at 58% 60%,rgba(231,207,153,.9) 0 1.3px,transparent 2px),
    radial-gradient(circle at 82% 45%,rgba(201,164,92,.9) 0 1px,transparent 1.6px),
    linear-gradient(90deg,rgba(201,164,92,0),rgba(255,246,220,.85) 35%,#fff6dc 50%,rgba(231,207,153,.85) 65%,rgba(201,164,92,0));
  background-size:14px 4px,11px 4px,13px 4px,9px 4px,100% 100%;
  filter:drop-shadow(0 0 6px rgba(231,207,153,.65));opacity:0;
  animation:polvoPasa 8.5s cubic-bezier(.25,.7,.2,1) infinite}
@keyframes polvoPasa{
  0%{left:-32%;opacity:0}
  4%{opacity:1}
  14%{left:102%;opacity:1}
  18%{left:102%;opacity:0}
  100%{left:102%;opacity:0}
}
/* el corazón: se dibuja con arena dorada justo cuando la línea termina */
.linea-corazon .corazon-arena{position:absolute;right:-8px;bottom:100%;margin-bottom:-16px;width:clamp(96px,9vw,136px);height:auto;opacity:0;
  filter:drop-shadow(0 0 8px rgba(231,207,153,.55));
  animation:corazonAparece 8.5s ease-out infinite}
.linea-corazon .corazon-arena path{stroke-dasharray:290;stroke-dashoffset:290;
  animation:corazonDibuja 8.5s ease-in-out infinite}
@keyframes corazonAparece{
  0%,14%{opacity:0;transform:scale(.7)}
  20%{opacity:1;transform:scale(1.06)}
  26%{opacity:1;transform:scale(1)}
  48%{opacity:1;transform:scale(1)}
  60%,100%{opacity:0;transform:scale(1.02)}
}
@keyframes corazonDibuja{
  0%,14%{stroke-dashoffset:290}
  30%{stroke-dashoffset:0}
  55%{stroke-dashoffset:0}
  70%,100%{stroke-dashoffset:290}
}
@media (max-width:820px){
  .linea-polvo{bottom:-12px;height:10px}
  .linea-corazon .corazon-arena{width:clamp(64px,18vw,88px);right:-4px;margin-bottom:-10px}
}
@media (prefers-reduced-motion:reduce){
  .linea-polvo>i{animation:none;opacity:.5;left:0;width:100%}
  .linea-corazon .corazon-arena{animation:none;opacity:.9}
  .linea-corazon .corazon-arena path{animation:none;stroke-dashoffset:0}
}

/* ============================================================================
   ACABADO SATINADO DE ORO en «Siete familias» (22/10/2026)
   Una franja de luz suave cruza el titular como raso dorado, sin cambiar el color.
   ============================================================================ */
.h2-satin{position:relative;isolation:isolate}
.h2-satin::after{content:'';position:absolute;inset:-6% -10%;z-index:2;pointer-events:none;border-radius:12px;
  background:linear-gradient(104deg,
    rgba(255,246,220,0) 30%,
    rgba(255,246,220,.18) 42%,
    rgba(255,253,243,.55) 48%,
    rgba(255,255,255,.75) 50.5%,
    rgba(255,246,220,.5) 53%,
    rgba(231,207,153,.16) 60%,
    rgba(255,246,220,0) 72%);
  background-size:260% 100%;background-position:130% 0;background-repeat:no-repeat;
  mix-blend-mode:soft-light;filter:blur(.4px);
  animation:satinOro 7.5s cubic-bezier(.3,.6,.2,1) infinite}
@keyframes satinOro{
  0%,32%{background-position:130% 0;opacity:0}
  38%{opacity:1}
  64%{background-position:-30% 0;opacity:1}
  72%,100%{background-position:-30% 0;opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .h2-satin::after{animation:none;opacity:0}
}

/* ============================================================================
   CORAZÓN FLECHADO en «Piezas que enamoran» (22/10/2026)
   Orden pedido: 1) se forma el corazón · 2) llega la flecha de polvo de oro
   desde la izquierda · 3) lo flecha · 4) salen chispas de oro. Luego se desvanece.
   ============================================================================ */
.corazon-flechado{position:absolute;right:-8px;bottom:100%;margin-bottom:-16px;
  width:clamp(96px,9vw,136px);aspect-ratio:1/1;display:block;pointer-events:none;z-index:3;overflow:visible}
.corazon-flechado .corazon-arena{position:absolute;inset:0;width:100%;height:100%;opacity:0;
  filter:drop-shadow(0 0 10px rgba(231,207,153,.55));animation:cfCorazon 9.5s ease-out infinite}
.corazon-flechado .corazon-arena path{stroke-dasharray:290;stroke-dashoffset:290;animation:cfDibuja 9.5s ease-in-out infinite}

/* la flecha: es la línea de polvo que viaja y se clava */
.cf-flecha{position:absolute;top:50%;right:56%;width:min(46vw,520px);height:2px;display:block;transform-origin:right center;
  background:linear-gradient(90deg,rgba(201,164,92,0),rgba(255,246,220,.5) 25%,#fff6dc 60%,#e7cf99 88%,#fffdf3 100%);
  box-shadow:0 0 7px rgba(255,246,220,.55);border-radius:99px;opacity:0;
  animation:cfFlecha 9.5s cubic-bezier(.2,.75,.15,1) infinite}
.cf-flecha::after{content:'';position:absolute;right:-9px;top:50%;transform:translateY(-50%);
  border-left:11px solid #fff6dc;border-top:6px solid transparent;border-bottom:6px solid transparent;
  filter:drop-shadow(0 0 5px rgba(255,246,220,.7))}

/* chispas que salen del corazón al flecharse */
.cf-chispas{position:absolute;inset:0;display:block}
.cf-chispas i{position:absolute;left:50%;top:50%;width:4px;height:4px;border-radius:50%;opacity:0;
  background:radial-gradient(circle,#fffdf3,#ffe9b8 45%,rgba(201,164,92,0) 75%);
  box-shadow:0 0 6px 1px rgba(255,246,220,.6);animation:cfChispa 9.5s ease-out infinite}
.cf-chispas i:nth-child(1){--dx:-34px;--dy:-30px;animation-delay:0s}
.cf-chispas i:nth-child(2){--dx:30px;--dy:-34px}
.cf-chispas i:nth-child(3){--dx:-40px;--dy:8px}
.cf-chispas i:nth-child(4){--dx:42px;--dy:4px;width:3px;height:3px}
.cf-chispas i:nth-child(5){--dx:-18px;--dy:38px}
.cf-chispas i:nth-child(6){--dx:22px;--dy:36px;width:3px;height:3px}
.cf-chispas i:nth-child(7){--dx:0;--dy:-44px;width:5px;height:5px}
.cf-chispas i:nth-child(8){--dx:-8px;--dy:20px;width:3px;height:3px}

@keyframes cfCorazon{
  0%,2%{opacity:0;transform:scale(.82)}
  10%{opacity:1;transform:scale(1.04)}
  16%{opacity:1;transform:scale(1)}
  34%{opacity:1;transform:scale(1)}
  34.5%{transform:scale(1.09)}   /* el golpe de la flecha */
  38%{opacity:1;transform:scale(1)}
  68%{opacity:1;transform:scale(1)}
  78%,100%{opacity:0;transform:scale(1.02)}
}
@keyframes cfDibuja{
  0%,2%{stroke-dashoffset:290}
  12%{stroke-dashoffset:0}
  70%{stroke-dashoffset:0}
  80%,100%{stroke-dashoffset:290}
}
@keyframes cfFlecha{
  0%,14%{opacity:0;transform:translateX(-105%) rotate(-6deg)}
  18%{opacity:1}
  30%{opacity:1;transform:translateX(0) rotate(-6deg)}
  34%{opacity:1;transform:translateX(6%) rotate(-6deg)}
  68%{opacity:1;transform:translateX(0) rotate(-6deg)}
  76%,100%{opacity:0;transform:translateX(0) rotate(-6deg)}
}
@keyframes cfChispa{
  0%,32%{opacity:0;transform:translate(-50%,-50%) scale(.4)}
  34%{opacity:1}
  42%{opacity:.95;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1.15)}
  58%{opacity:0;transform:translate(calc(-50% + var(--dx)*1.35),calc(-50% + var(--dy)*1.35)) scale(.8)}
  100%{opacity:0}
}
/* quitar la línea vieja de este titular (ahora la flecha hace ese papel) */
.linea-corazon{display:none}
@media (max-width:820px){
  .corazon-flechado{width:clamp(64px,18vw,88px);right:-4px;margin-bottom:-10px}
  .cf-flecha{width:min(52vw,300px);right:58%}
}
@media (prefers-reduced-motion:reduce){
  .corazon-flechado .corazon-arena{animation:none;opacity:.95}
  .corazon-flechado .corazon-arena path{animation:none;stroke-dashoffset:0}
  .cf-flecha{animation:none;opacity:.9;transform:rotate(-6deg)}
  .cf-chispas i{animation:none;opacity:0}
}

/* ============================================================================
   SATINADO DE ORO en el título de la portada (22/10/2026)
   Pasa una franja suave, como raso, sobre las letras: no cambia el color ni el tamaño.
   ============================================================================ */
.h1-satin{position:absolute;inset:-8% -6%;display:block;pointer-events:none;z-index:4;border-radius:16px;
  background:linear-gradient(102deg,
    rgba(255,246,220,0) 26%,
    rgba(255,246,220,.16) 38%,
    rgba(255,253,243,.52) 46%,
    rgba(255,255,255,.78) 50%,
    rgba(255,246,220,.42) 55%,
    rgba(231,207,153,.14) 62%,
    rgba(255,246,220,0) 74%);
  background-size:280% 100%;background-repeat:no-repeat;background-position:135% 0;
  mix-blend-mode:soft-light;filter:blur(.5px);
  animation:h1Satin 9.5s cubic-bezier(.32,.6,.2,1) 2.4s infinite}
@keyframes h1Satin{
  0%,26%{background-position:135% 0;opacity:0}
  32%{opacity:1}
  62%{background-position:-35% 0;opacity:1}
  70%,100%{background-position:-35% 0;opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .h1-satin{animation:none;opacity:0}
}


/* ============================================================================
   ANIMACIONES DE LOS TEXTOS TAMBIÉN EN EL CELULAR (pedido del dueño, 22/10/2026:
   «la animación de la versión web, que también se vea igual en la versión móvil»).
   Se decoran los DOS titulares con los adornos que solo estaban en escritorio:
     · «Piezas que enamoran» → corazón flechado + chispas + línea de polvo + brillo.
     · «Siete familias»       → polvo de hadas (más partículas), satinado y línea de polvo.
   Todo va en pseudo-elementos y adornos decorativos (no se toca el texto ni el HTML),
   las partículas se generan aquí mismo (sin depender de <i> que no existan) y las
   medidas se reducen para que quepan en el ancho del teléfono.
   ============================================================================ */
@media (max-width:820px){
  /* ---------- «Piezas que enamoran» ---------- */
  .section-head h2{position:relative;display:inline-block;padding:6px 10px;line-height:1.12}
  .section-head h2 .corazon-flechado{
    width:clamp(46px,13vw,64px);right:-2px;bottom:100%;margin-bottom:-6px}
  .corazon-flechado .cf-flecha{width:min(40vw,190px);right:54%;height:2px}
  .cf-chispas i{width:3px;height:3px;box-shadow:0 0 5px 1px rgba(255,246,220,.55)}
  .cf-chispas i:nth-child(1){--dx:-20px;--dy:-18px}
  .cf-chispas i:nth-child(2){--dx:18px;--dy:-20px}
  .cf-chispas i:nth-child(3){--dx:-24px;--dy:6px}
  .cf-chispas i:nth-child(4){--dx:26px;--dy:3px}
  .cf-chispas i:nth-child(5){--dx:-12px;--dy:22px}
  .cf-chispas i:nth-child(6){--dx:14px;--dy:20px}
  .cf-chispas i:nth-child(7){--dx:0;--dy:-24px}
  /* línea de polvo de oro que pasa bajo el titular (la que ya tenía la portada) */
  .linea-corazon .corazon-arena,.linea-corazon{display:none}
  /* brillo dorado que se pasea por las letras, sin borrarlas (fondo recortado al texto) */
  .section-head h2 em{position:relative;display:inline-block}
  .section-head h2 em::after{content:'';position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(105deg,rgba(255,255,255,0) 38%,rgba(255,246,220,.85) 48%,rgba(255,255,255,0) 60%);
    background-size:260% 100%;background-repeat:no-repeat;background-position:140% 0;
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
    /* el degradado recortado solo deja ver el brillo: el texto de abajo se ve igual */
    mix-blend-mode:screen;animation:brilloTexto 7s cubic-bezier(.3,.6,.2,1) infinite}
  /* ---------- «Siete familias» ---------- */
  .section-head:has(.h2-satin)::before{content:'';position:absolute;inset:-18% -6% -12%;pointer-events:none;z-index:0;
    background:
      radial-gradient(circle 2px at 8% 22%,rgba(255,253,243,.95),transparent 60%),
      radial-gradient(circle 1.6px at 21% 68%,rgba(255,240,200,.9),transparent 60%),
      radial-gradient(circle 2.4px at 34% 30%,rgba(231,207,153,.9),transparent 60%),
      radial-gradient(circle 1.5px at 46% 78%,rgba(255,253,243,.85),transparent 60%),
      radial-gradient(circle 2px at 58% 18%,rgba(255,246,220,.9),transparent 60%),
      radial-gradient(circle 1.4px at 69% 62%,rgba(231,207,153,.85),transparent 60%),
      radial-gradient(circle 2.6px at 79% 34%,rgba(255,253,243,.95),transparent 60%),
      radial-gradient(circle 1.6px at 90% 72%,rgba(255,240,200,.9),transparent 60%),
      radial-gradient(circle 1.8px at 6% 56%,rgba(231,207,153,.8),transparent 60%),
      radial-gradient(circle 1.5px at 26% 12%,rgba(255,253,243,.8),transparent 60%),
      radial-gradient(circle 2px at 52% 52%,rgba(255,246,220,.7),transparent 60%),
      radial-gradient(circle 1.7px at 86% 14%,rgba(231,207,153,.85),transparent 60%);
    animation:polvoBrilla 4.5s ease-in-out infinite}
  /* el satinado ya cruza el titular: en el teléfono va un poco más marcado para que se note */
  .h2-satin::after{inset:-8% -8%;background-size:240% 100%;
    background:linear-gradient(104deg,rgba(255,246,220,0) 28%,rgba(255,253,243,.6) 46%,rgba(255,255,255,.8) 50.5%,rgba(255,246,220,.5) 56%,rgba(255,246,220,0) 74%)}
}
@keyframes brilloTexto{
  0%,30%{background-position:140% 0;opacity:0}
  38%{opacity:1}
  62%{background-position:-40% 0;opacity:1}
  72%,100%{background-position:-40% 0;opacity:0}
}
@keyframes polvoBrilla{
  0%,100%{opacity:.35}
  40%{opacity:.95}
  70%{opacity:.5}
}
@media (prefers-reduced-motion:reduce){
  .section-head h2 em::after{animation:none;opacity:.25;background-position:50% 0}
  .section-head:has(.h2-satin)::before{animation:none;opacity:.5}
}
