/* Recovery Shop · estilos específicos de telefonia.html.
   Tipografía, tokens, cabecera, pie, botones y contenedores comunes
   se normalizan después desde recovery-global.css. */

:root{
      --rs-green:#52ff2f;
      --rs-green-dark:#1fa83b;
      --rs-black:#0b0f0b;
      --rs-ink:#111611;
      --rs-muted:#61705d;
      --rs-soft:#f5f7f2;
      --rs-line:rgba(17,22,17,.10);
      --rs-shadow:0 18px 55px rgba(16,22,16,.12);
      --rs-max:1180px;
      --rs-font:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;padding:0;background:#fff;color:var(--rs-ink);font-family:var(--rs-font)}
    a{color:inherit}
    img{max-width:100%;height:auto;display:block}

    .rs-phone-page{overflow:hidden;background:#fff}
    .rs-container{width:min(var(--rs-max),calc(100% - 34px));margin-inline:auto}
    .rs-section{padding:clamp(54px,7vw,86px) 0}
    .rs-section-soft{background:var(--rs-soft)}
    .rs-section-dark{
      color:#fff;
      background:
        radial-gradient(circle at 18% 0%,rgba(82,255,47,.16),transparent 30%),
        linear-gradient(135deg,#0b0f0b,#171f16);
    }

    .rs-kicker{
      margin:0 0 9px;
      color:var(--rs-green-dark);
      font-size:13px;
      font-weight:950;
      letter-spacing:.10em;
      text-transform:uppercase;
    }

    .rs-heading{max-width:760px;margin-bottom:28px}
    .rs-heading h2{
      margin:0;
      font-size:clamp(30px,4.2vw,52px);
      line-height:1.04;
      letter-spacing:-.055em;
      text-wrap:balance;
    }
    .rs-heading p{
      margin:14px 0 0;
      color:var(--rs-muted);
      font-size:17px;
      line-height:1.58;
    }

    button.rs-btn{font-family:inherit;cursor:pointer}
    .rs-btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:9px;
      min-height:48px;
      padding:13px 18px;
      border-radius:999px;
      border:1px solid transparent;
      font-weight:950;
      text-decoration:none;
      line-height:1;
      transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
      white-space:nowrap;
    }
    .rs-btn:hover{transform:translateY(-2px)}
    .rs-btn:focus-visible{
      outline:3px solid rgba(31,168,59,.28);
      outline-offset:3px;
    }
    .rs-btn-whatsapp{
      gap:10px;
      font-weight:1000;
    }
    .rs-btn-whatsapp img{
      width:20px;
      height:20px;
      object-fit:contain;
      flex:0 0 auto;
      display:block;
    }
    .rs-btn-primary{
      color:#061006;
      background:linear-gradient(135deg,var(--rs-green),#d4ff4d);
      box-shadow:0 16px 36px rgba(82,255,47,.22);
    }
    .rs-btn-outline{
      color:#fff;
      background:rgba(255,255,255,.08);
      border-color:rgba(255,255,255,.18);
    }
    .rs-btn-dark{
      color:#fff;
      background:#111611;
      border-color:#111611;
    }

    /* HERO */
    .rs-hero{
      position:relative;
      min-height:520px;
      display:grid;
      align-items:center;
      color:#fff;
      background:
        radial-gradient(circle at 78% 18%,rgba(82,255,47,.18),transparent 28%),
        linear-gradient(135deg,#070a07 0%,#111811 58%,#071007 100%);
      overflow:hidden;
      border-bottom:1px solid rgba(82,255,47,.16);
    }
    .rs-hero::before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),
        linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px);
      background-size:58px 58px;
      mask-image:linear-gradient(180deg,rgba(0,0,0,.75),transparent 88%);
      pointer-events:none;
    }
    .rs-hero::after{
      content:"";
      position:absolute;
      right:-210px;
      bottom:-260px;
      width:560px;
      height:560px;
      border-radius:50%;
      background:rgba(82,255,47,.10);
      filter:blur(8px);
      pointer-events:none;
    }
    .rs-hero-inner{
      position:relative;
      z-index:1;
      padding:96px 0 88px;
      text-align:center;
    }
    .rs-hero-simple{
      max-width:760px;
      margin:0 auto;
    }
    .rs-hero-label{
      display:inline-flex;
      align-items:center;
      gap:10px;
      margin-bottom:18px;
      padding:9px 12px;
      border-radius:999px;
      color:#dfffda;
      background:rgba(82,255,47,.10);
      border:1px solid rgba(82,255,47,.28);
      font-size:13px;
      font-weight:950;
    }
    .rs-hero-label span{
      display:grid;
      place-items:center;
      width:24px;
      height:24px;
      border-radius:50%;
      color:#061006;
      background:var(--rs-green);
      font-weight:1000;
    }
    .rs-hero h1{
      margin:0;
      font-size:clamp(44px,6.4vw,80px);
      line-height:.93;
      letter-spacing:-.075em;
      text-wrap:balance;
    }
    .rs-hero h1 mark{color:var(--rs-green);background:transparent}
    .rs-hero-lead{
      max-width:620px;
      margin:20px auto 0;
      color:#dce5d8;
      font-size:clamp(16px,2vw,20px);
      line-height:1.55;
    }
    .rs-hero-actions{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:12px;
      margin-top:28px;
    }

    /* FEATURES */
    .rs-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
    .rs-card{
      min-height:100%;
      padding:24px;
      border-radius:28px;
      background:#fff;
      border:1px solid rgba(17,22,17,.09);
      box-shadow:0 16px 42px rgba(10,16,10,.07);
    }
    .rs-card-icon{
      display:grid;
      place-items:center;
      width:58px;
      height:58px;
      margin-bottom:18px;
      border-radius:20px;
      background:linear-gradient(135deg,var(--rs-green),#d4ff4d);
      color:#061006;
      font-size:20px;
      font-weight:1000;
      box-shadow:0 14px 30px rgba(82,255,47,.18);
    }
    .rs-card h3{
      margin:0 0 10px;
      font-size:22px;
      line-height:1.06;
      letter-spacing:-.05em;
    }
    .rs-card p{
      margin:0;
      color:#5f6b59;
      line-height:1.56;
      font-size:15px;
    }

    /* OPERATORS */
    .rs-operators-wrap{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:28px;
      align-items:stretch;
    }
    .rs-operators-copy h2{
      margin:0;
      font-size:clamp(34px,4.8vw,58px);
      line-height:1.03;
      letter-spacing:-.06em;
      text-wrap:balance;
    }
    .rs-operators-copy p{
      margin:16px 0 0;
      color:var(--rs-muted);
      font-size:17px;
      line-height:1.58;
      max-width:620px;
    }
    .rs-operators-list{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:14px;
    }
    .rs-operator{
      display:grid;
      place-items:center;
      min-height:110px;
      padding:18px;
      border-radius:24px;
      background:#fff;
      border:1px solid rgba(17,22,17,.08);
      box-shadow:0 14px 30px rgba(10,16,10,.06);
      font-size:24px;
      font-weight:1000;
      letter-spacing:-.03em;
    }

    /* PROCESS */
    .rs-process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .rs-process-card{
      padding:24px;
      border-radius:28px;
      background:#fff;
      border:1px solid rgba(17,22,17,.09);
      box-shadow:0 16px 42px rgba(10,16,10,.07);
    }
    .rs-step{
      display:grid;
      place-items:center;
      width:48px;
      height:48px;
      margin-bottom:18px;
      border-radius:16px;
      background:#111611;
      color:var(--rs-green);
      font-size:15px;
      font-weight:1000;
    }
    .rs-process-card h3{
      margin:0 0 10px;
      font-size:24px;
      line-height:1.06;
      letter-spacing:-.05em;
    }
    .rs-process-card p{
      margin:0;
      color:#5f6b59;
      line-height:1.56;
      font-size:15px;
    }

    /* VALUE BLOCK */
    .rs-value{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:28px;
      align-items:stretch;
    }
    .rs-panel{
      display:flex;
      flex-direction:column;
      padding:28px;
      border-radius:30px;
      background:#fff;
      border:1px solid var(--rs-line);
      box-shadow:var(--rs-shadow);
    }
    .rs-panel.dark{
      color:#fff;
      background:
        radial-gradient(circle at 82% 18%, rgba(82,255,47,.18), transparent 30%),
        linear-gradient(135deg,#111611,#263124);
      border-color:rgba(255,255,255,.10);
    }
    .rs-panel h2{
      margin:0 0 16px;
      font-size:clamp(28px,4vw,46px);
      line-height:1.04;
      letter-spacing:-.055em;
    }
    .rs-panel p{margin:0;color:#5f6b59;line-height:1.58}
    .rs-panel.dark p{color:#dce5d8}
    .rs-list{display:grid;gap:10px;margin:22px 0 0;padding:0;list-style:none}
    .rs-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:#364031;
      font-size:15px;
      font-weight:780;
      line-height:1.45;
    }
    .rs-list li::before{
      content:"✓";
      color:#168a22;
      font-weight:1000;
      flex:0 0 auto;
    }
    .rs-panel.dark .rs-list li{color:#eef4ea}
    .rs-panel.dark .rs-list li::before{color:var(--rs-green)}

    /* CTA */
    .rs-cta{
      display:grid;
      grid-template-columns:1.05fr .95fr;
      gap:28px;
      align-items:center;
    }
    .rs-cta h2{
      margin:0;
      font-size:clamp(34px,4.8vw,58px);
      line-height:1.03;
      letter-spacing:-.06em;
      text-wrap:balance;
    }
    .rs-cta p{
      margin:16px 0 0;
      color:#c9d3c5;
      font-size:17px;
      line-height:1.58;
      max-width:610px;
    }
    .rs-cta-box{
      padding:24px;
      border-radius:28px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.11);
    }
    .rs-cta-box h3{
      margin:0 0 10px;
      font-size:28px;
      line-height:1.05;
      letter-spacing:-.05em;
    }
    .rs-cta-box p{margin:0;color:#dce5d8;font-size:15px;line-height:1.55}
    .rs-cta-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

    /* FAQ */
    .rs-faq{display:grid;gap:12px;max-width:900px}
    .rs-faq details{
      border-radius:20px;
      background:#fff;
      border:1px solid rgba(17,22,17,.09);
      box-shadow:0 12px 30px rgba(10,16,10,.045);
      overflow:hidden;
    }
    .rs-faq summary{cursor:pointer;padding:20px 22px;font-weight:950;letter-spacing:-.02em}
    .rs-faq p{margin:0;padding:0 22px 22px;color:#5f6b59;line-height:1.55}

    @media (max-width:1100px){
      .rs-card-grid{grid-template-columns:repeat(2,1fr)}
      .rs-process-grid{grid-template-columns:1fr}
      .rs-operators-wrap,.rs-value,.rs-cta{grid-template-columns:1fr}
      .rs-hero{min-height:auto}
      .rs-hero-inner{padding:76px 0}
    }

    @media (max-width:760px){
      .rs-container{width:min(100% - 24px,var(--rs-max))}
      .rs-section{padding:58px 0}
      .rs-hero-inner{padding:50px 0 62px}
      .rs-hero h1{font-size:clamp(36px,11vw,46px);letter-spacing:-.065em}
      .rs-hero-lead{font-size:16px;line-height:1.55}
      .rs-hero-actions,.rs-cta-actions{display:grid;grid-template-columns:1fr}
      .rs-btn{width:100%}
      .rs-card-grid,.rs-operators-list{grid-template-columns:1fr}
      .rs-panel,.rs-cta-box{padding:20px;border-radius:24px}
      .rs-operator{min-height:90px;font-size:22px}
    }

    @media (max-width:420px){
      .rs-container{width:min(100% - 20px,var(--rs-max))}
      .rs-hero-inner{padding-top:42px}
    }
