    :root{
      --bg: #F7F3EF;
      --paper: #FFFFFF;
      --ink: #1F1F1F;
      --muted: rgba(31,31,31,.68);

      --accent: #C6A46A;
      --accent2: #E7D6BE;
      --line: rgba(198,164,106,.22);

      --shadow: 0 18px 55px rgba(0,0,0,.10);
      --shadow2: 0 12px 34px rgba(0,0,0,.08);

      --r: 22px;
      --r2: 18px;
      --max: 1120px;
    }

    *{ box-sizing: border-box; }
    html,body{ height: 100%; }
    body{
      margin: 0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
      color: var(--ink);
      background:
        radial-gradient(900px 550px at 15% -10%, rgba(198,164,106,.18), transparent 55%),
        radial-gradient(900px 550px at 85% 10%, rgba(231,214,190,.35), transparent 55%),
        var(--bg);
      overflow-x: hidden;
    }

    a{ color: inherit; text-decoration: none; }
    img{ max-width: 100%; display:block; }
    button{ font: inherit; }

    .wrap{
      width: min(var(--max), 92vw);
      margin: 0 auto;
    }

    /* Topbar */
    .topbar{
      position: sticky;
      top: 0;
      z-index: 80;
      background: rgba(247,243,239,.82);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(198,164,106,.16);
    }

    .nav{
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 14px;
      padding: 14px 0;
    }

    .brand{
      display:flex;
      align-items:center;
      gap: 10px;
      min-width: 220px;
    }

    /* (Opcional) Logo antiguo (no usado ahora) */
    .logo{
      width: 40px; height: 40px;
      border-radius: 14px;
      background:
        radial-gradient(14px 14px at 28% 30%, rgba(255,255,255,.55), transparent 60%),
        linear-gradient(135deg, var(--accent), #B89254);
      box-shadow: var(--shadow2);
      position: relative;
      overflow: hidden;
    }
    .logo:after{
      content:"";
      position:absolute;
      inset:-45%;
      background: linear-gradient(60deg, transparent 35%, rgba(255,255,255,.55) 50%, transparent 65%);
      transform: rotate(15deg) translateX(-40%);
      animation: sheen 6s linear infinite;
    }
    @keyframes sheen{
      0%{ transform: rotate(15deg) translateX(-40%); opacity: 0; }
      10%{ opacity: .75; }
      55%{ transform: rotate(15deg) translateX(40%); opacity: .35; }
      100%{ transform: rotate(15deg) translateX(40%); opacity: 0; }
    }

    .brand strong{
      display:block;
      font-weight: 850;
      letter-spacing: -.25px;
      line-height: 1.0;
    }
    .brand span{
      display:block;
      color: var(--muted);
      font-size: 12.5px;
      margin-top: 3px;
    }

    .links{
      display:flex;
      gap: 6px;
      flex-wrap: wrap;
      justify-content:center;
    }
    .links a{
      padding: 9px 10px;
      border-radius: 999px;
      color: var(--muted);
      border: 1px solid transparent;
      transition: background .2s ease, border-color .2s ease, color .2s ease;
      font-size: 14px;
    }
    .links a:hover{
      background: rgba(198,164,106,.10);
      border-color: rgba(198,164,106,.20);
      color: var(--ink);
    }

    .actions{
      display:flex;
      gap: 10px;
      align-items:center;
      justify-content:flex-end;
      min-width: 240px;
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap: 10px;
      border-radius: 14px;
      padding: 10px 14px;
      border: 1px solid rgba(198,164,106,.22);
      background: rgba(255,255,255,.75);
      box-shadow: var(--shadow2);
      cursor:pointer;
      transition: transform .15s ease, filter .2s ease, background .2s ease;
      white-space: nowrap;
    }
    .btn:hover{ transform: translateY(-1px); filter: brightness(1.02); }
    .btn:active{ transform: translateY(0); }

    .btn-primary{
      background: linear-gradient(135deg, var(--accent), #B89254);
      color: #fff;
      border-color: rgba(198,164,106,.55);
      box-shadow: 0 18px 50px rgba(198,164,106,.20), var(--shadow2);
      font-weight: 800;
    }

    /* Botón estilo “glass” para footer sobre fondo dorado */
    .btnGlass{
      border-color: rgba(255,255,255,.32) !important;
      background: rgba(255,255,255,.14) !important;
      color:#fff !important;
    }

    /* Generic */
    .card{
      border-radius: var(--r);
      background: rgba(255,255,255,.86);
      border: 1px solid rgba(198,164,106,.18);
      box-shadow: var(--shadow);
      overflow: hidden;
    }

    .pill{
      display:inline-flex;
      align-items:center;
      gap: 10px;
      padding: 8px 12px;
      border-radius: 999px;
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(255,255,255,.72);
      color: var(--muted);
      font-size: 13px;
    }
    .dot{
      width: 9px; height: 9px; border-radius: 999px;
      background: var(--accent);
      box-shadow: 0 0 0 6px rgba(198,164,106,.15);
    }

    section{ padding: 34px 0; }

    .sectionTitle{
      display:flex;
      align-items:flex-end;
      justify-content: space-between;
      gap: 12px;
      margin-bottom: 16px;
    }
    .sectionTitle h2{
      margin: 0;
      font-size: 22px;
      letter-spacing: -.2px;
    }
    .sectionTitle p{
      margin: 0;
      color: var(--muted);
      max-width: 74ch;
      line-height: 1.55;
      font-size: 14.5px;
    }

    /* Hero */
    main.hero{ padding: 26px 0 28px; }
    .heroGrid{
      display:grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 20px;
      align-items: stretch;
    }
    .heroLeft{ padding: 26px 22px 22px; }
    h1{
      margin: 14px 0 10px;
      font-size: clamp(34px, 4.2vw, 56px);
      line-height: 1.04;
      letter-spacing: -0.8px;
    }
    .sub{
      margin: 0 0 14px;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.7;
      max-width: 60ch;
    }
    .heroCTA{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 16px;
    }
    .stats{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-top: 18px;
    }
    .stat{
      padding: 10px 12px;
      border-radius: 16px;
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(198,164,106,.06);
      color: var(--muted);
      font-size: 13px;
    }
    .stat b{ color: var(--ink); font-weight: 850; }

    .heroPhoto{
      height: 100%;
      min-height: 410px;
      position: relative;
      background: #eae2d7;
    }
    .heroPhoto img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
      filter: saturate(1.02) contrast(1.02);
    }
    .badge{
      position:absolute;
      left: 14px;
      bottom: 14px;
      right: 14px;
      display:flex;
      gap: 10px;
      align-items:flex-start;
      background: rgba(255,255,255,.90);
      border: 1px solid rgba(198,164,106,.18);
      border-radius: 16px;
      padding: 12px 12px;
      box-shadow: var(--shadow2);
      color: var(--muted);
      font-size: 13.5px;
      line-height: 1.45;
    }
    .check{
      width: 28px;
      height: 28px;
      border-radius: 12px;
      display:grid;
      place-items:center;
      background: rgba(198,164,106,.14);
      border: 1px solid rgba(198,164,106,.20);
      color: #6f5632;
      flex: 0 0 auto;
      margin-top: 1px;
    }

    /* About */
    .aboutGrid{
      display:grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 18px;
      align-items: stretch;
    }
    .aboutPhoto{
      border-radius: var(--r);
      overflow:hidden;
      border: 1px solid rgba(198,164,106,.18);
      box-shadow: var(--shadow);
      background: #eee;
      min-height: 340px;
    }
    .aboutPhoto img{
      width:100%;
      height:100%;
      object-fit: cover;
    }
    .aboutText{
      padding: 22px;
    }
    .aboutText h3{
      margin: 0 0 10px;
      font-size: 18px;
      letter-spacing: -.2px;
    }
    .aboutText p{
      margin: 0 0 14px;
      color: var(--muted);
      line-height: 1.7;
      font-size: 15px;
    }
    .listLine{
      padding: 12px;
      border-radius: 16px;
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(198,164,106,.06);
      color: var(--muted);
      font-size: 14px;
      line-height: 1.55;
    }
    .listLine b{ color: var(--ink); }

    /* Services tabs */
    .tabs{
      display:flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 14px;
    }
    .tab{
      padding: 10px 12px;
      border-radius: 999px;
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(255,255,255,.75);
      color: var(--muted);
      cursor: pointer;
      transition: background .2s ease, border-color .2s ease, transform .15s ease;
      font-weight: 800;
      font-size: 13.5px;
    }
    .tab:hover{ transform: translateY(-1px); }
    .tab.active{
      background: linear-gradient(135deg, var(--accent), #B89254);
      color: #fff;
      border-color: rgba(198,164,106,.55);
      box-shadow: 0 16px 40px rgba(198,164,106,.20);
    }
    .catGrid{
      display:grid;
      grid-template-columns: 1fr 1fr;
      gap: 18px;
      align-items: stretch;
    }
    .catCard{ padding: 18px; }
    .catCard h3{
      margin: 0 0 10px;
      font-size: 18px;
      letter-spacing: -.2px;
    }
    .bullets{
      margin: 0;
      padding-left: 18px;
      color: var(--muted);
      line-height: 1.85;
      font-size: 15px;
    }
    .hint{
      margin-top: 12px;
      padding: 12px;
      border-radius: 16px;
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(198,164,106,.06);
      color: rgba(31,31,31,.75);
      line-height: 1.55;
      font-size: 14px;
    }
    .hint b{ color: var(--ink); }

    .catImg{
      border-radius: var(--r);
      overflow:hidden;
      border: 1px solid rgba(198,164,106,.18);
      box-shadow: var(--shadow);
      background: #eee;
      min-height: 340px;
    }
    .catImg img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }

    /* Products CTA */
    .cta{ padding-top: 8px; }
    .ctaCard{
      display:grid;
      grid-template-columns: 1.05fr .95fr;
      gap: 16px;
      align-items: stretch;
      padding: 18px;
    }
    .ctaText{ padding: 10px 8px 10px 10px; }
    .ctaText h3{
      margin: 10px 0 10px;
      font-size: 22px;
      letter-spacing: -.3px;
    }
    .ctaText p{
      margin: 0 0 14px;
      color: var(--muted);
      line-height: 1.7;
      font-size: 15px;
      max-width: 70ch;
    }
    .ctaMini{
      padding: 12px;
      border-radius: 16px;
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(198,164,106,.06);
      color: var(--muted);
      line-height: 1.6;
      font-size: 14px;
    }
    .ctaImg{
      border-radius: var(--r);
      overflow:hidden;
      border: 1px solid rgba(198,164,106,.18);
      box-shadow: var(--shadow);
      min-height: 320px;
      background: #eee;
    }
    .ctaImg img{
      width:100%;
      height:100%;
      object-fit: cover;
    }

    /* Contact */
    footer{ padding: 10px 0 34px; }
    .contactBar{
      border-radius: var(--r);
      border: 1px solid rgba(198,164,106,.20);
      background: linear-gradient(135deg, var(--accent), #B89254);
      color: #fff;
      box-shadow: 0 20px 70px rgba(198,164,106,.22);
      padding: 16px;
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 14px;
      flex-wrap: wrap;
    }
    .contactItem{
      display:flex;
      gap: 10px;
      align-items:center;
      color: rgba(255,255,255,.92);
      font-weight: 800;
    }
    .icon{
      width: 42px; height: 42px;
      border-radius: 16px;
      background: rgba(255,255,255,.14);
      display:grid;
      place-items:center;
      border: 1px solid rgba(255,255,255,.22);
    }
    .fine{
      margin-top: 14px;
      color: rgba(31,31,31,.55);
      font-size: 13px;
      line-height: 1.5;
      display:flex;
      justify-content: space-between;
      gap: 12px;
      flex-wrap: wrap;
      border-top: 1px solid rgba(198,164,106,.18);
      padding-top: 14px;
    }

    /* Reveal */
    .reveal{
      opacity: 0;
      transform: translateY(10px);
      transition: opacity .55s ease, transform .55s ease;
    }
    .reveal.on{
      opacity: 1;
      transform: translateY(0);
    }

    /* Responsive */
    @media (max-width: 980px){
      .links{ display:none; }
      .heroGrid{ grid-template-columns: 1fr; }
      .heroPhoto{ min-height: 320px; }
      .aboutGrid{ grid-template-columns: 1fr; }
      .catGrid{ grid-template-columns: 1fr; }
      .ctaCard{ grid-template-columns: 1fr; }
      .actions{ min-width: unset; }
      .pricesGrid{ grid-template-columns: 1fr; }
    }

    /* Imágenes/Logo */
    .logoImg{
      width: 44px;
      height: 44px;
      border-radius: 999px;
      object-fit: cover;
      background: rgba(255,255,255,.85);
      border: 1px solid rgba(198,164,106,.22);
      box-shadow: var(--shadow2);
    }

    /* Precios */
    .pricesGrid{
      display:grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 16px;
      align-items: stretch;
    }
    .priceCard{ padding: 18px; }
    .priceCard h3{
      margin: 0 0 12px;
      font-size: 18px;
      letter-spacing: -.2px;
    }
    .priceRow{
      display:flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 12px;
      padding: 10px 0;
      border-bottom: 1px dashed rgba(198,164,106,.22);
      color: var(--muted);
      font-size: 14.5px;
    }
    .priceRow b{
      color: var(--ink);
      font-weight: 900;
      white-space: nowrap;
    }
    .noteBox{
      margin-top: 12px;
      padding: 12px;
      border-radius: 16px;
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(198,164,106,.06);
      color: rgba(31,31,31,.75);
      line-height: 1.55;
      font-size: 14px;
    }
    .priceBtn{
      width: 100%;
      margin-top: 14px;
    }
    .flyerBox{
      margin-top: 16px;
      display:flex;
      align-items:center;
      justify-content: space-between;
      gap: 12px;
      padding: 14px;
      border-radius: var(--r);
      border: 1px solid rgba(198,164,106,.18);
      background: rgba(255,255,255,.70);
      box-shadow: var(--shadow2);
    }

    /* ===== FIX FOOTER EN MOVIL ===== */
    @media (max-width: 520px){
      .contactBar{
        flex-direction: column;
        align-items: stretch;
        text-align: left;
      }
      .contactItem{
        width: 100%;
        justify-content: flex-start;
      }
      /* Botonera: que no quede en fila apretada */
      .contactItem.gap10{
        flex-direction: column;
        align-items: stretch;
      }
      .contactItem.gap10 .btn{
        width: 100%;
        justify-content: center;
      }
      .actions{ min-width: unset; }
      .flyerBox{ flex-direction: column; align-items: stretch; }
      .flyerBox .btn{ width: 100%; }
    }

    /* ===== PRECIOS: FIX VISUAL EN MÓVIL ===== */
@media (max-width: 640px){

  .pricesGrid{
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .priceCard{
    padding: 20px 18px;
  }

  .priceCard h3{
    font-size: 20px;
    margin-bottom: 14px;
    text-align: left;
  }

  .priceRow{
    font-size: 15px;
    padding: 12px 0;
  }

  .priceRow span{
    max-width: 70%;
    line-height: 1.4;
  }

  .priceRow b{
    font-size: 16px;
  }

  .noteBox{
    font-size: 14px;
    margin-top: 14px;
  }

  .priceBtn{
    margin-top: 18px;
    padding: 14px;
    font-size: 15px;
  }
}
