/* ============================================================
   NEXVORA — Secciones de contenido (problemas, soluciones,
   calculadora, sectores, recursos, cierre)
   ============================================================ */

:root{
  --stone-2:    #2B2722;
  --stone-edge: #3A342B;
}

/* ---------- base de las secciones ---------- */
.nx{ border-bottom:1px solid var(--line); }
.nx-alt{ background:rgba(11,10,9,.62); }
.nx h2, .nx h3{ line-height:1.15; text-wrap:balance; }
.nx .eyebrow{ margin-bottom:16px; }
.nx .lead{ color:var(--silver); font-size:17px; max-width:62ch; }
.nx p{ margin:0; }
.nx-head h2,
.pains-head h2, .sol-head h2, .calc-head h2, .seg-head h2, .res-head h2{
  font-size:clamp(27px,3.6vw,40px); margin-bottom:16px;
}

/* ---------- problemas ---------- */
.pains-head{ max-width:64ch; margin-bottom:46px; }
.pain-list{ display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px; }
.pain{
  display:flex; gap:16px; padding:24px; border-radius:14px;
  background:linear-gradient(160deg,var(--stone-2) 0%,var(--panel) 70%);
  border:1px solid var(--stone-edge);
}
.pain i{
  flex:none; width:34px; height:34px; border-radius:9px; display:grid; place-items:center;
  background:rgba(217,168,32,.1); border:1px solid var(--line);
}
.pain i svg{ width:17px; height:17px; color:var(--gold); }
.pain p{ font-size:15px; color:var(--silver); line-height:1.6; }
.pain b{ color:var(--white); font-weight:600; }

/* ---------- soluciones ---------- */
.sol-head{ max-width:66ch; margin-bottom:52px; }
.sol-list{ display:flex; flex-direction:column; gap:22px; }
.sol{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:34px; align-items:start;
  padding:34px; border-radius:18px;
  background:linear-gradient(160deg,var(--stone-2) 0%,var(--panel) 68%);
  border:1px solid var(--stone-edge);
  transition:border-color .3s var(--ease);
}
.sol:hover{ border-color:var(--gold-deep); }
.sol-ico{
  width:42px; height:42px; border-radius:11px; display:grid; place-items:center; margin-bottom:18px;
  background:rgba(217,168,32,.1); border:1px solid var(--line);
}
.sol-ico svg{ width:20px; height:20px; color:var(--gold); }
.sol h3{ font-size:20px; margin-bottom:8px; }
.sol .sol-sub{ font-size:15px; color:var(--gold-light); margin-bottom:20px; font-weight:500; }
.sol ul{ margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:12px; }
.sol li{ display:flex; gap:12px; font-size:14.5px; color:var(--silver); line-height:1.6; }
.sol li svg{ width:16px; height:16px; color:var(--gold); flex:none; margin-top:4px; }
.sol-cta{ align-self:center; }

/* ---------- calculadora ---------- */
.calc-wrap{ position:relative; overflow:hidden; }
.calc-head{ text-align:center; max-width:60ch; margin:0 auto 46px; }
.calc-head p{ color:var(--silver); }
@property --ang{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
.calc{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:1px;
  padding:1px; border-radius:22px; overflow:hidden;
  background:var(--line);
  background:conic-gradient(from var(--ang),
    rgba(217,168,32,.14) 0deg, var(--gold) 70deg, #FFF3C4 110deg, var(--gold-deep) 160deg,
    rgba(217,168,32,.14) 230deg, var(--gold) 300deg, rgba(217,168,32,.14) 360deg);
  animation:spin-border 14s linear infinite;
  box-shadow:0 40px 90px -50px rgba(217,168,32,.35);
}
@keyframes spin-border{ to{ --ang:360deg; } }
.calc-inputs{
  background:linear-gradient(165deg,var(--stone-2) 0%,var(--panel) 60%,var(--carbon-soft) 100%);
  padding:34px;
}
.calc-bill{
  background:linear-gradient(200deg,#151310 0%,var(--carbon-deep) 70%);
  padding:34px; display:flex; flex-direction:column;
}
.calc .seg{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.calc .seg button{
  font-family:var(--font-sans); padding:9px 15px; border-radius:999px; font-size:13px; font-weight:600;
  background:transparent; border:1px solid var(--panel-edge); color:var(--silver);
  cursor:pointer; transition:border-color .2s, color .2s, background .2s;
}
.calc .seg button:hover{ border-color:var(--gold-deep); color:var(--white); }
.calc .seg button[aria-pressed="true"]{ background:rgba(217,168,32,.12); border-color:var(--gold); color:var(--gold-light); }
.calc .field{ margin-bottom:26px; }
.calc .field:last-of-type{ margin-bottom:0; }
.calc .field-top{ display:flex; align-items:baseline; justify-content:space-between; gap:14px; margin-bottom:11px; }
.calc .field label{ font-size:14px; font-weight:600; color:var(--white); }
.calc .field output{
  font-family:var(--font-serif); font-size:23px; color:var(--gold-light);
  font-variant-numeric:tabular-nums; line-height:1;
}
.calc .hint{ display:block; font-size:12.5px; color:var(--silver-dim); margin-top:9px; line-height:1.5; }
.calc input[type=range]{
  -webkit-appearance:none; appearance:none; width:100%; height:4px; border-radius:99px;
  background:linear-gradient(90deg,var(--gold) var(--pct,50%),var(--panel-edge) var(--pct,50%));
  cursor:pointer;
}
.calc input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none; appearance:none; width:20px; height:20px; border-radius:50%;
  background:var(--gold-grad); border:3px solid var(--panel); cursor:pointer;
  box-shadow:0 3px 10px rgba(0,0,0,.5);
}
.calc input[type=range]::-moz-range-thumb{
  width:20px; height:20px; border-radius:50%; background:var(--gold-light);
  border:3px solid var(--panel); cursor:pointer;
}
.calc .bill-label{
  font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--silver-dim); padding-bottom:16px; border-bottom:1px solid var(--line); margin-bottom:8px;
}
.calc .bill-rows{ flex:1; display:flex; flex-direction:column; }
.calc .row{ display:flex; align-items:baseline; gap:10px; padding:15px 0; border-bottom:1px dashed rgba(248,246,241,.08); }
.calc .row .rl{ font-size:14.5px; color:var(--silver); flex:none; max-width:60%; }
.calc .row .rd{ flex:1; border-bottom:1px dotted var(--silver-dim); opacity:.45; transform:translateY(-4px); }
.calc .row .rv{ font-size:16px; font-weight:600; color:var(--white); font-variant-numeric:tabular-nums; flex:none; }
.calc .row.neg .rv{ color:#E0796B; }
.calc .row.pos .rv{ color:var(--gold-light); }
.calc .bill-total{ padding-top:26px; margin-top:8px; border-top:1px solid var(--gold-deep); }
.calc .bill-total .tl{
  font-size:11.5px; font-weight:700; letter-spacing:.2em; text-transform:uppercase;
  color:var(--gold); margin-bottom:10px;
}
.calc .bill-total .tv{
  font-family:var(--font-serif); font-size:clamp(40px,6vw,58px); line-height:1;
  color:var(--white); font-variant-numeric:tabular-nums; margin-bottom:10px;
}
.calc .bill-total .tn{ font-size:13px; color:var(--silver); line-height:1.55; }
.calc .bill-actions{ margin-top:26px; display:flex; flex-direction:column; gap:14px; }
.calc .bill-actions .btn{ width:100%; white-space:normal; text-align:center; }
.calc details.method{ margin-top:22px; border-top:1px solid var(--line-soft); padding-top:18px; }
.calc details.method summary{
  cursor:pointer; font-size:13px; font-weight:600; color:var(--gold);
  list-style:none; display:flex; align-items:center; gap:8px;
}
.calc details.method summary::-webkit-details-marker{ display:none; }
.calc details.method summary svg{ width:13px; height:13px; transition:transform .25s; }
.calc details.method[open] summary svg{ transform:rotate(180deg); }
.calc .method-body{ margin-top:14px; font-size:13px; color:var(--silver); line-height:1.75; }
.calc .method-body ul{ margin:0; padding-left:18px; }
.calc .method-body li{ margin-bottom:7px; }
.calc .method-body code{
  font-family:ui-monospace,'SF Mono',Menlo,monospace; font-size:12px;
  color:var(--gold-light); background:rgba(217,168,32,.08); padding:2px 6px; border-radius:5px;
}
.calc .disclaimer{
  margin-top:26px; padding:16px 18px; border-radius:12px;
  background:rgba(248,246,241,.03); border:1px solid var(--line-soft);
  font-size:12.5px; color:var(--silver-dim); line-height:1.65;
}

/* ---------- sectores ---------- */
.seg-head{ max-width:60ch; margin-bottom:46px; }
.seg-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(262px,1fr)); gap:18px; }
.seg-card{
  padding:28px 24px; border-radius:16px;
  background:linear-gradient(160deg,var(--stone-2) 0%,var(--panel) 70%);
  border:1px solid var(--stone-edge); transition:border-color .28s, transform .28s var(--ease);
}
.seg-card:hover{ border-color:var(--gold-deep); transform:translateY(-3px); }
.seg-card svg{ width:26px; height:26px; color:var(--gold); margin-bottom:16px; }
.seg-card h3{ font-size:16.5px; margin-bottom:9px; }
.seg-card p{ font-size:14px; color:var(--silver); line-height:1.6; }

/* ---------- CTA intermedio ---------- */
.midcta{ padding-block:78px; position:relative; overflow:hidden; }
.midcta-in{
  display:flex; flex-wrap:wrap; gap:28px; align-items:center; justify-content:space-between;
  padding:40px; border-radius:20px;
  background:linear-gradient(140deg,var(--stone-2) 0%,var(--panel) 60%,var(--carbon-soft) 100%);
  border:1px solid var(--stone-edge);
}
.midcta-in h2{ font-size:clamp(23px,2.9vw,31px); max-width:22ch; margin-bottom:10px; }
.midcta-in p{ color:var(--silver); font-size:15.5px; max-width:48ch; }

/* ---------- recursos ---------- */
.res-head{ max-width:62ch; margin-bottom:44px; }
.res-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(275px,1fr)); gap:20px; }
.res-card{
  display:flex; flex-direction:column; padding:26px; border-radius:16px;
  background:linear-gradient(160deg,var(--stone-2) 0%,var(--panel) 70%);
  border:1px solid var(--stone-edge); transition:border-color .28s, transform .28s var(--ease);
}
.res-card:hover{ border-color:var(--gold-deep); transform:translateY(-3px); }
.res-kind{
  display:inline-flex; align-items:center; gap:7px; margin-bottom:16px;
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
}
.res-kind svg{ width:14px; height:14px; }
.res-card h3{ font-size:17px; margin-bottom:10px; line-height:1.3; }
.res-card p{ font-size:14px; color:var(--silver); line-height:1.6; flex:1; }
.res-link{
  margin-top:18px; font-size:13.5px; font-weight:600; color:var(--gold-light);
  display:inline-flex; align-items:center; gap:7px;
}
.res-link svg{ width:14px; height:14px; }

/* ---------- cierre ---------- */
.close-cta{ position:relative; overflow:hidden; padding-block:100px; }
.close-cta::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(55% 70% at 50% 100%,rgba(217,168,32,.14) 0%,transparent 70%);
}
.close-in{ position:relative; z-index:1; text-align:center; display:flex; flex-direction:column; align-items:center; }
.close-in h2{ font-size:clamp(28px,4vw,44px); max-width:19ch; margin-bottom:20px; }
.close-in p{ color:var(--silver); max-width:54ch; margin-bottom:32px; font-size:17px; }
.close-in .close-meta{ margin:26px 0 0; font-size:13.5px; color:var(--silver-dim); }
.close-meta a{ color:var(--gold-light); border-bottom:1px solid var(--line); }

/* ---------- celular y tablet ---------- */
@media (max-width:980px){
  .sol{ grid-template-columns:1fr; gap:24px; }
  .sol-cta{ align-self:stretch; }
  .sol-cta .btn{ width:100%; }
  .midcta-in{ flex-direction:column; align-items:flex-start; }
  .calc{ grid-template-columns:1fr; }
}
@media (max-width:620px){
  .pain-list, .seg-grid, .res-grid{ grid-template-columns:1fr; }
  .sol, .midcta-in{ padding:26px 22px; }
  .calc-inputs, .calc-bill{ padding:26px 22px; }
  .calc .row .rl{ max-width:55%; font-size:13.5px; }
  .midcta-in .btn{ width:100%; }
}
@media (prefers-reduced-motion:reduce){
  .calc{ animation:none; }
}
