:root{
  --onix:#0B0A08; --carbon:#14120E; --carbon-2:#1C1914; --linea:#2C271E; --linea-2:#3A3328;
  --oro:#C9A24B; --oro-claro:#EAD49B; --oro-hondo:#8E6B25; --marfil:#F4EBD6; --marfil-2:#D9CEB6; --gris:#9A9183;
  --dama:#C2185B; --dama-claro:#F06C9B; --dama-velo:rgba(194,24,91,.12);
  --ok:#6FA36B; --warn:#D9A441; --err:#D9534F;
  --serif:'Cormorant Garamond','Cormorant',Georgia,serif; --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
  --r:2px; --ease:cubic-bezier(.2,.7,.1,1);
  --oro-grad:linear-gradient(115deg,#8E6B25 0%,#C9A24B 28%,#F1DDA0 48%,#C9A24B 66%,#8E6B25 100%);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--onix);color:var(--marfil);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:1px solid var(--oro);outline-offset:3px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:min(1240px,100% - 48px);margin-inline:auto}
@media (max-width:600px){.wrap{width:calc(100% - 36px)}}

.kicker{font-family:var(--sans);font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--oro);font-weight:400;display:inline-flex;align-items:center;gap:.9em;margin:0}
.kicker::before{content:"";width:28px;height:1px;background:currentColor;opacity:.7}
.kicker.dama{color:var(--dama-claro)}
.display{font-family:var(--serif);font-weight:500;line-height:1.02;letter-spacing:-.01em;margin:0}
.display em{font-style:italic;font-weight:400}
.h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.1rem,4.6vw,3.6rem);line-height:1.04;margin:.35em 0 .3em}
.h2 em{font-style:italic;font-weight:400;color:var(--oro-claro)}
.lead{color:var(--marfil-2);font-size:1.05rem;max-width:56ch}
.oro-text{background:var(--oro-grad);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 7s var(--ease) infinite}
@keyframes shimmer{0%,100%{background-position:100% 0}50%{background-position:0 0}}

.btn{--bg:transparent;display:inline-flex;align-items:center;justify-content:center;gap:.7em;min-height:48px;padding:.8em 1.6em;border:1px solid var(--oro);background:var(--bg);color:var(--marfil);text-decoration:none;font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:400;cursor:pointer;border-radius:var(--r);position:relative;overflow:hidden;transition:color .3s,background .3s,border-color .3s}
.btn::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,240,200,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .9s var(--ease)}
.btn:hover::after{transform:translateX(120%)}
.btn-oro{--bg:var(--oro);color:#17130B;border-color:var(--oro);font-weight:500}
.btn-oro:hover{--bg:var(--oro-claro)}
.btn-ghost:hover{background:rgba(201,162,75,.1)}
.btn-dama{border-color:var(--dama);--bg:var(--dama);color:#fff}
.btn-sm{min-height:38px;padding:.5em 1.1em;font-size:.7rem}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btn svg{width:18px;height:18px;flex:none}
.link{color:var(--oro);text-decoration:none;border-bottom:1px solid rgba(201,162,75,.4);padding-bottom:2px;letter-spacing:.14em;text-transform:uppercase;font-size:.74rem}
.link:hover{border-color:var(--oro)}

.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.oro-text{animation:none}*{scroll-behavior:auto}}

.rf-glyph{width:56px;height:56px;color:var(--oro)}
.rf-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);background:var(--carbon-2);border:1px solid var(--oro);color:var(--marfil);padding:.85em 1.4em;font-size:.88rem;opacity:0;pointer-events:none;transition:.35s var(--ease);z-index:200;max-width:calc(100% - 32px)}
.rf-toast.is-on{opacity:1;transform:translate(-50%,0)}

.demo-strip{background:var(--oro);color:#17130B;text-align:center;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;padding:.45em 1em;font-weight:500}
.demo-pill{display:inline-block;border:1px solid var(--linea-2);color:var(--gris);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;padding:.2em .7em}

.field{display:flex;flex-direction:column;gap:.4em;min-width:0}
.field>span{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.field input,.field select,.field textarea{background:var(--carbon);border:1px solid var(--linea-2);border-radius:var(--r);padding:.8em .9em;color:var(--marfil);min-height:46px;width:100%}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--oro);outline:none}
.field.err input,.field.err select,.field.err textarea{border-color:var(--err)}
.field small{color:var(--gris);font-size:.78rem}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:640px){.grid-2,.grid-3{grid-template-columns:1fr}}

.chip{display:inline-flex;align-items:center;gap:.5em;border:1px solid var(--linea-2);background:transparent;color:var(--marfil-2);padding:.55em 1em;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:999px;white-space:nowrap;transition:.25s}
.chip:hover{border-color:var(--oro);color:var(--marfil)}
.chip.is-on{background:var(--oro);border-color:var(--oro);color:#17130B}
.chip.dama.is-on{background:var(--dama);border-color:var(--dama);color:#fff}

.tag{display:inline-block;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:.3em .7em;border:1px solid rgba(201,162,75,.5);color:var(--oro-claro);background:rgba(11,10,8,.6)}
.tag.dama{border-color:var(--dama-claro);color:#FFD3E2;background:rgba(194,24,91,.25)}
.tag.unica{border-color:var(--marfil);color:var(--marfil)}

/* Custom jewelry (shared) */
.cj{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,5vw,72px);align-items:start}
.cj-steps{list-style:none;margin:28px 0 0;padding:0;counter-reset:s}
.cj-steps li{counter-increment:s;display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;border-top:1px solid var(--linea)}
.cj-steps li:last-child{border-bottom:1px solid var(--linea)}
.cj-steps li::before{content:counter(s,decimal-leading-zero);font-family:var(--serif);font-size:1.9rem;color:var(--oro);line-height:1}
.cj-steps h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:0}
.cj-steps p{margin:.2em 0 0;color:var(--marfil-2);font-size:.95rem}
.cj-form{background:var(--carbon);border:1px solid var(--linea);padding:clamp(20px,3vw,36px);display:grid;gap:16px;position:relative}
.cj-form::before{content:"";position:absolute;inset:-1px;border:1px solid transparent;background:linear-gradient(140deg,rgba(201,162,75,.6),transparent 40%,transparent 60%,rgba(201,162,75,.4)) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.cj-form h3{font-family:var(--serif);font-weight:500;font-size:1.7rem;margin:0}
.cj-file{display:flex;align-items:center;gap:12px;border:1px dashed var(--linea-2);padding:12px;cursor:pointer}
.cj-file input{position:absolute;opacity:0;width:1px;height:1px}
.cj-file img{width:56px;height:56px;object-fit:cover}
.cj-file span{font-size:.85rem;color:var(--marfil-2)}
@media (max-width:860px){.cj{grid-template-columns:1fr}}
