:root{--bg:#0a0807;--bg2:#120e0b;--ink:#f3e9d6;--gold:#d8b068;--gold2:#f1d89e;--mut:#b3a995;--line:rgba(216,176,104,.22);--on:#1a1204;--hd:'Bodoni Moda',Georgia,serif;--bd:Inter,system-ui,sans-serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--bd);overflow-x:hidden;font-synthesis:none}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;background:var(--gold);color:var(--on);padding:10px 14px;z-index:99;border-radius:8px}.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--gold2);outline-offset:3px}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;background:linear-gradient(135deg,var(--gold2),var(--gold));color:var(--on);font:600 16px/1 var(--bd);text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform .2s,box-shadow .2s,background .2s;box-shadow:0 10px 30px -10px rgba(216,176,104,.6)}
.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(216,176,104,.75)}
.btn.big{min-height:56px;padding:0 32px;font-size:17px}
.btn.sm{min-height:44px;padding:0 18px;font-size:15px}
.btn.ghost{background:transparent;color:var(--ink);border-color:rgba(243,233,214,.4);box-shadow:none}.btn.ghost:hover{background:rgba(243,233,214,.08);border-color:var(--gold2)}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;transition:background .3s}
.nav.sc{background:rgba(10,8,7,.82);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:500 22px/1 var(--hd);letter-spacing:.14em;text-transform:uppercase}
.mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;color:var(--gold2);font:500 17px/1 var(--hd);letter-spacing:0}
.links{display:flex;align-items:center;gap:28px}.links a:not(.btn){text-decoration:none;font-size:15px;color:var(--mut);transition:color .2s}.links a:not(.btn):hover{color:var(--gold2)}
.burger{display:none}

/* hero */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 60% 55% at 50% 42%,#2a1f13 0%,#120d09 55%,var(--bg) 100%)}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.1s .15s;touch-action:pan-y;z-index:2}
body.ready .hero canvas{opacity:1}
.giant{position:absolute;left:0;right:0;top:20%;text-align:center;font:500 clamp(120px,19vw,320px)/.9 var(--hd);letter-spacing:.02em;white-space:nowrap;will-change:transform;pointer-events:none;user-select:none}
.giant span{display:inline}
.giant.back{z-index:1;color:transparent;background:linear-gradient(180deg,#f1d89e 0%,#b88a43 55%,#6b4a1f 100%);-webkit-background-clip:text;background-clip:text;opacity:.9}
.giant.front{z-index:3;color:transparent;-webkit-text-stroke:1.5px rgba(243,233,214,.55);-webkit-mask-image:linear-gradient(180deg,transparent 56%,#000 62%);mask-image:linear-gradient(180deg,transparent 56%,#000 62%)}
.copy{position:absolute;z-index:5;left:max(28px,4vw);bottom:max(40px,6vh);max-width:430px}
.eyebrow{font:600 13px/1 var(--bd);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.copy h1{font:500 clamp(30px,3.2vw,46px)/1.08 var(--hd);margin:14px 0 14px}.copy h1 em,.cta h2 em{font-style:italic;color:var(--gold2)}
.lead{color:var(--mut);font-size:16.5px;max-width:390px}
.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:24px}

.panel{position:absolute;z-index:5;right:max(28px,4vw);bottom:max(40px,6vh);width:min(390px,38vw);padding:20px;border-radius:22px;background:rgba(18,14,11,.72);backdrop-filter:blur(14px);border:1px solid var(--line);box-shadow:0 30px 60px -30px #000}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:999px;background:rgba(243,233,214,.07)}
.seg button{min-height:42px;border:0;border-radius:999px;background:transparent;color:var(--mut);font:500 15px/1 var(--bd);cursor:pointer;transition:background .2s,color .2s}
.seg button[aria-pressed=true]{background:var(--ink);color:#1a1204;font-weight:600}
.row{display:grid;grid-template-columns:54px 1fr;align-items:center;gap:10px;margin-top:14px}
.lab{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px 0 8px;border-radius:999px;border:1px solid rgba(243,233,214,.22);background:transparent;color:var(--ink);font:500 14.5px/1 var(--bd);cursor:pointer;transition:border-color .2s,background .2s}
.chips button:hover{border-color:var(--gold2)}.chips button[aria-pressed=true]{border-color:var(--gold2);background:rgba(241,216,158,.14)}
.sw{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 32% 28%,#fff9,transparent 45%),var(--c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.sum{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.sum b{display:block;font:500 20px/1.2 var(--hd)}.sum small{color:var(--mut);font-size:14px}.sum .pr{text-align:right}.sum .pr b{color:var(--gold2);font-size:26px}
.hint{position:absolute;z-index:4;left:50%;top:calc(100% - 28px);transform:translate(-50%,-100%);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);opacity:.85;white-space:nowrap}
.hint-m{display:none}

/* secciones */
.sec{padding:110px 0}.dark2{background:var(--bg2)}
.sec h2{font:500 clamp(30px,4vw,54px)/1.1 var(--hd);margin:14px 0 40px;max-width:18ch}
.band-s{padding:56px 0;background:var(--bg2);border-block:1px solid var(--line)}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}
.trio b{font:500 15px/1 var(--hd);color:var(--gold);letter-spacing:.2em}.trio h3{font:500 24px/1.2 var(--hd);margin:12px 0 8px}.trio p{color:var(--mut);font-size:16px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:linear-gradient(180deg,#17120e,#100c09);border:1px solid var(--line);border-radius:20px;overflow:hidden;transition:transform .3s,border-color .3s}.card:hover{transform:translateY(-6px);border-color:var(--gold)}
.ph{aspect-ratio:1/1;background:radial-gradient(circle at 50% 40%,#2c2014,#0f0b08 72%);display:grid;place-items:center}
.ph img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s}.ph img.ok{opacity:1}
.ct{padding:22px}.ct h3{font:500 24px/1.2 var(--hd)}.ct p{color:var(--mut);font-size:16px;margin:8px 0 18px}
.pf{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.pf b{font:600 17px/1 var(--bd);color:var(--gold2)}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.step{border-top:1px solid var(--line);padding-top:6px}
.step button{width:100%;display:flex;align-items:center;gap:14px;min-height:56px;background:none;border:0;color:var(--ink);text-align:left;cursor:default;font:500 26px/1.1 var(--hd)}
.step button b{font:500 14px/1 var(--hd);color:var(--gold);letter-spacing:.2em}.step button i{display:none;margin-left:auto;font:400 28px/1 var(--bd);color:var(--gold2);font-style:normal}
.ans p{color:var(--mut);font-size:16px;padding:6px 0 14px}
.cta{text-align:center;background:radial-gradient(ellipse 60% 80% at 50% 100%,#2b1f12,var(--bg))}.cta h2{max-width:none;margin-inline:auto}.cta p{color:var(--mut);max-width:520px;margin:0 auto}.fine{margin-top:26px!important;font-size:14px}
.foot{border-top:1px solid var(--line);padding:26px 0;color:var(--mut);font-size:14px}.foot .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.foot a{color:var(--gold2)}
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}.rv.in{opacity:1;transform:none}
.nogl .copy,.nogl .panel{z-index:5}

/* móvil: composición propia */
@media (max-width:900px){
  body{font-size:16px}
  .nav{padding:12px 16px}.nav.sc,.menu-open .nav{background:rgba(10,8,7,.92)}
  .burger{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:500 15px/1 var(--bd);cursor:pointer}
  .burger i{width:16px;height:2px;background:var(--gold2);box-shadow:0 5px 0 var(--gold2);margin-bottom:5px}
  .links{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:8px;background:rgba(10,8,7,.97);opacity:0;visibility:hidden;transition:opacity .25s;padding:80px 24px}
  .links.open{opacity:1;visibility:visible}.links a:not(.btn){font:500 30px/1.5 var(--hd);color:var(--ink)}.links .btn{margin-top:20px;width:100%;max-width:320px}
  .nav{z-index:40}.burger{position:relative;z-index:41}
  .hero{min-height:720px}
  .giant{top:12%;font-size:29vw;line-height:.86}.giant span{display:block}
  .giant.front{-webkit-mask-image:linear-gradient(180deg,transparent 52%,#000 58%);mask-image:linear-gradient(180deg,transparent 52%,#000 58%);-webkit-text-stroke-width:1px}
  .copy{left:16px;right:16px;bottom:auto;top:calc(100% - 86px);display:none}
  .panel{left:12px;right:12px;bottom:12px;width:auto;padding:14px;border-radius:20px}
  .row{grid-template-columns:1fr;gap:6px;margin-top:10px}.lab{font-size:12px}
  .chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chips button{flex:0 0 auto}
  .sum{margin-top:12px;padding-top:12px}.sum b{font-size:18px}.sum .pr b{font-size:22px}
  .hint-d{display:none}.hint-m{display:inline}.hint{top:78px;transform:translate(-50%,0)}
  .sec{padding:76px 0}.wrap{padding:0 18px}
  .trio,.cards{grid-template-columns:1fr;gap:26px}.trio{gap:30px}
  .steps{grid-template-columns:1fr;gap:0}.step{border-top:1px solid var(--line);padding:0}.step button{cursor:pointer;font-size:24px;min-height:64px}.step button i{display:block}
  .ans{max-height:0;overflow:hidden;transition:max-height .35s}.step.open .ans{max-height:200px}.step.open button i{transform:rotate(45deg)}
  .foot .wrap{flex-direction:column}
}
/* en móvil el titular y las CTA van en una barra corta sobre el panel */
@media (max-width:900px){
  .copy{display:block;top:auto;bottom:calc(var(--panel-h,252px) + 24px);left:16px;right:16px}
  .copy h1{font-size:25px;margin:8px 0 0}.copy .eyebrow,.copy .lead,.copy .ghost{display:none}.copy .cta-row{margin-top:14px}.copy .btn.big{width:100%;min-height:52px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.rv{opacity:1;transform:none}}
