/* ===== V97 original · bloque-1 ===== */

    :root {
      color-scheme: dark;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --bg: #0d1010;
      --panel: #171b1b;
      --panel-2: #121616;
      --line: #303737;
      --text: #f5f7f6;
      --muted: #c0c8c5;
      --green: #93d500;
      --green-soft: #c8ff3f;
      --danger: #ffb4ab;
      --cop-bg: #24382a;
      --three-d-bg: #17363b;
      --other-bg: #353426;
      --cop-line: #6f9978;
      --three-d-line: #5d929b;
      --other-line: #8b8964;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body { min-height: 100vh; margin: 0; background: var(--bg); color: var(--text); font-size: 17px; }
    a { color: inherit; }
    button, input, select, textarea { font: inherit; }
    .shell { width: min(100%, 980px); margin: 0 auto; }
    .hero {
      min-height: 48vh;
      padding: 44px 24px 36px;
      display: grid;
      align-content: center;
      justify-items: center;
      text-align: center;
      border-bottom: 1px solid var(--line);
    }
    .mark { width: min(78vw, 340px); height: auto; margin-bottom: 0; display: block; filter: drop-shadow(0 10px 24px rgba(0,0,0,.22)); }
    .intro { display: grid; gap: 10px; max-width: 760px; margin: 0 auto 0; color: var(--text); line-height: 1.1; }
    .quick { width: min(100%, 620px); margin: 24px auto 0; padding: 0; display: grid; gap: 10px; list-style: none; }
    .quick li { padding: 14px 16px; border: 1px solid var(--line); border-radius: 10px; background: #151919; color: #f4f7f5; font-weight: 720; font-size: 1.08rem; line-height: 1.48; }
    .quick li:nth-child(1) { background: var(--cop-bg); border-color: var(--cop-line); }
    .quick li:nth-child(2) { background: var(--three-d-bg); border-color: var(--three-d-line); }
    .quick li:nth-child(3) { background: var(--other-bg); border-color: var(--other-line); }
    .quick span { color: var(--green-soft); }
    main { padding: 34px 20px 52px; }
    section + section { margin-top: 48px; }
    h2 { margin: 0 0 18px; font-size: 1.5rem; }
    h3 { margin: 0; font-size: 1.2rem; }
    .section-intro { margin: -4px 0 22px; color: var(--muted); line-height: 1.65; font-size: 1.02rem; }
    .actions { display: grid; gap: 14px; }
    .button {
      min-height: 62px;
      padding: 16px 20px;
      border: 1px solid var(--line);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      font-size: 1.08rem;
      font-weight: 720;
      text-decoration: none;
      cursor: pointer;
      transition: transform .15s ease, border-color .15s ease, background .15s ease;
    }
    .button:hover { border-color: var(--green); }
    .button:active { transform: scale(.985); }
    .button.primary { background: var(--green); border-color: var(--green); color: #111; }
    .button.secondary { background: var(--panel); color: var(--text); }
    .button svg { width: 22px; height: 22px; flex: 0 0 auto; }
    .hero-services { width: 100%; margin-top: 34px; text-align: left; }
    .hero-services h2 { margin: 0 0 16px; text-align: center; }
    .services-groups { display: grid; gap: 20px; align-items: stretch; }
    .service-group { height: 100%; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); display: flex; flex-direction: column; }
    .service-group.cop { background: var(--cop-bg); border-color: var(--cop-line); }
    .service-group.three-d { background: var(--three-d-bg); border-color: var(--three-d-line); }
    .service-group.other { background: var(--other-bg); border-color: var(--other-line); }
    .service-group h3 { margin: 0 0 12px; min-height: 2.6em; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 1.14rem; }
    .service-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; flex: 1; }
    .service-list li { min-height: 48px; padding: 12px 14px; display: flex; align-items: center; border: 1px solid rgba(255,255,255,.08); border-radius: 10px; background: rgba(8, 12, 12, .20); color: #f5f7f6; font-size: 1.02rem; font-weight: 620; line-height: 1.4; }
    .service-list li::before { content: ""; width: 8px; height: 8px; margin-right: 11px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(147, 213, 0, .12); flex: 0 0 auto; }

    .gallery-grid { display: grid; gap: 16px; }
    .gallery-card { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
    .gallery-card img { width: 100%; aspect-ratio: 4 / 3; display: block; object-fit: cover; background: #101414; }
    .gallery-card:nth-child(2) img { object-position: center 48%; }
    .gallery-copy { padding: 17px 18px 19px; }
    .gallery-copy h3 { margin-bottom: 7px; }
    .gallery-copy p { margin: 0; color: var(--muted); line-height: 1.55; }
    .gallery-note { margin: 0 0 18px; padding: 14px 16px; border: 1px solid var(--other-line); border-radius: 10px; background: var(--other-bg); color: #eef0e9; line-height: 1.6; }
    .photo-credit { margin: 14px 0 0; color: #8f9a96; font-size: .82rem; line-height: 1.5; }
    .photo-credit a { color: #b9c3bf; }

    .budget-links { display: grid; gap: 14px; }
    .budget-card { padding: 22px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
    .budget-card:nth-child(1) { background: var(--three-d-bg); border-color: var(--three-d-line); }
    .budget-card:nth-child(2) { background: var(--other-bg); border-color: var(--other-line); }
    .budget-card p { margin: 10px 0 20px; color: var(--muted); line-height: 1.65; font-size: 1.04rem; }
    .form-panel { margin-top: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); overflow: hidden; }
    .form-panel[hidden] { display: none; }
    .form-panel-title { margin: 0; padding: 18px 20px; font-size: 1.15rem; border-bottom: 1px solid var(--line); }
    .form-close { margin: 0 20px 20px; min-height: 48px; width: calc(100% - 40px); }
    #form-3d { background: var(--three-d-bg); border-color: var(--three-d-line); }
    #form-3d .form-panel-title { background: #1e4a50; }
    #form-consumibles .form-panel-title { background: #45432c; }
    #form-promocion { margin-top: 22px; border-color: #756a2a; background: #181911; }
    #form-promocion .form-panel-title { background: linear-gradient(90deg, #4a431c, #292817); }
    #form-promocion .form-wrap { background: rgba(40, 36, 13, .28); }
    #form-3d .form-wrap { background: rgba(6, 12, 13, .34); }
    #form-consumibles .form-wrap { background: rgba(19, 18, 8, .34); }
    summary { padding: 20px 20px; cursor: pointer; font-weight: 750; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 1.1rem; }
    summary::-webkit-details-marker { display: none; }
    summary::after { content: "+"; color: var(--green); font-size: 1.4rem; line-height: 1; }
    details[open] summary::after { content: "−"; }
    .form-wrap { padding: 0 20px 24px; border-top: 1px solid var(--line); }
    .form-note { margin: 20px 0; color: var(--muted); line-height: 1.7; font-size: 1.04rem; }
    .form-grid { display: grid; gap: 18px; }
    .field { display: grid; gap: 9px; }
    .field label, .fieldset-title { font-weight: 680; font-size: 1rem; }
    .required { color: var(--green-soft); }
    input, select, textarea {
      width: 100%;
      border: 1px solid #465050;
      border-radius: 10px;
      background: #0f1313;
      color: var(--text);
      padding: 14px 15px;
      outline: none;
    }
    input:focus, select:focus, textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(147, 213, 0, .12); }
    textarea { min-height: 130px; resize: vertical; }
    input[type="file"] { padding: 12px; }
    .help { margin: 0; color: var(--muted); font-size: .96rem; line-height: 1.6; }
    fieldset { margin: 0; padding: 0; border: 0; }
    .choice-grid { display: grid; gap: 12px; margin-top: 10px; }
    .choice { display: flex; gap: 12px; align-items: flex-start; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: #111515; }
    .choice input { width: auto; margin-top: 3px; accent-color: var(--green); }
    .choice label { font-weight: 500; line-height: 1.45; font-size: .98rem; }
    .consent { margin-top: 4px; }
    .submit-row { display: grid; gap: 10px; margin-top: 4px; }
    .submit { border: 0; }
    .legal { margin: 0; color: var(--muted); font-size: .96rem; line-height: 1.6; }
    .privacy-summary { margin-top: 4px; padding: 16px 17px; border: 1px solid #4b6d62; border-radius: 12px; background: linear-gradient(145deg,#13231e,#101916); }
    .privacy-summary h3 { margin: 0 0 9px; color: #dfff9c; font-size: 1rem; }
    .privacy-summary > summary { padding: 0; color: #dfff9c; font-size: 1rem; font-weight: 800; }
    .privacy-summary > summary::after { color: var(--green-soft); }
    .privacy-summary-content { margin-top: 12px; padding-top: 11px; border-top: 1px solid rgba(75,109,98,.55); }
    .privacy-summary p { margin: 5px 0; color: #d6dfda; font-size: .88rem; line-height: 1.48; }
    .privacy-summary strong { color: #f3f7f5; }
    .privacy-summary a { color: var(--green-soft); font-weight: 800; }
    .privacy-summary-note { margin-top: 9px !important; color: #bfcac4 !important; font-size: .82rem !important; }

    .delivery-banner { margin: 0 0 34px; padding: 18px 20px; border: 1px solid var(--green); border-radius: 12px; background: rgba(147, 213, 0, .09); line-height: 1.6; text-align: center; }
    .delivery-banner strong { color: var(--green-soft); }
    .faq-list { display: grid; gap: 12px; }
    .faq-list details { border: 1px solid var(--line); border-radius: 10px; background: var(--panel); overflow: hidden; }
    .faq-list summary { padding: 17px 18px; font-size: 1.02rem; }
    .faq-answer { padding: 0 18px 18px; color: var(--muted); line-height: 1.65; }
    .promo-note { margin: 18px 0 0; padding: 16px 18px; border-radius: 10px; background: var(--other-bg); border: 1px solid var(--other-line); color: #edf0e8; line-height: 1.6; }
    .notice { margin: 40px 0 0; padding: 18px 20px; border: 1px solid var(--green); border-radius: 16px; background: linear-gradient(180deg, rgba(10, 16, 15, .98), rgba(9, 13, 13, .98)); color: #d8dfdc; line-height: 1.72; font-size: 1.05rem; box-shadow: inset 0 0 0 1px rgba(147,213,0,.08); }
    .accessible-notice { display: grid; gap: 0; }
    .accessible-banner { display: flex; align-items: center; gap: 14px; }
    .accessible-icon { width: 56px; height: 56px; border-radius: 12px; display: grid; place-items: center; background: rgba(147,213,0,.08); border: 1px solid rgba(147,213,0,.35); color: #111; flex: 0 0 auto; overflow: hidden; }
    .accessible-icon img { width: 42px; height: 42px; object-fit: contain; display: block; filter: brightness(0) invert(1); }
    .accessible-copy { display: grid; gap: 2px; }
    .accessible-line { margin: 0; color: #edf2ef; font-weight: 620; line-height: 1.35; }
    .accessible-line.highlight { color: var(--green-soft); font-weight: 760; }
    .accessible-line.highlight-2 { color: #4cff59; font-weight: 790; }
    .legal-area { margin-top: 38px; padding-top: 28px; border-top: 1px solid var(--line); }
    .legal-area h2 { font-size: 1.35rem; }
    .legal-panel { margin-top: 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); overflow: hidden; }
    .legal-panel summary { padding: 17px 18px; font-size: 1.02rem; }
    .legal-content { padding: 4px 18px 20px; color: var(--muted); line-height: 1.65; font-size: .98rem; }
    .legal-content h3 { margin: 18px 0 6px; color: var(--text); font-size: 1.03rem; }
    .legal-content p { margin: 8px 0; }
    .legal-content ul { margin: 8px 0 8px 20px; padding: 0; }
    .legal-content a { color: var(--green-soft); }
    .footer-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 16px; margin-top: 10px; }
    .footer-links a { color: #aeb8b4; text-decoration: underline; text-underline-offset: 3px; }
    .success { display: none; margin: 16px 0 0; padding: 15px; border: 1px solid var(--green); border-radius: 10px; color: var(--text); background: rgba(147, 213, 0, .08); font-size: .98rem; line-height: 1.5; }
    .success.error { border-color: #e9a441; background: rgba(233,164,65,.10); color: #ffe0aa; }
    .honeypot { position: absolute !important; left: -9999px !important; }
    button:disabled { opacity: .7; cursor: wait; }
    footer { padding: 0 20px 34px; color: #7f8a86; text-align: center; font-size: .92rem; }

    @media (min-width: 560px) {
      .actions, .hero-actions { grid-template-columns: 1fr 1fr; }
      .button.contact { grid-column: 1 / -1; }
      .services-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .budget-links { grid-template-columns: 1fr 1fr; }
      .form-grid.two { grid-template-columns: 1fr 1fr; }
      .form-grid.two .full { grid-column: 1 / -1; }
      .choice-grid.two { grid-template-columns: 1fr 1fr; }
    }

    @media (min-width: 860px) {
      .services-groups { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }

    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button { transition: none; } }
  
    dialog.legal-dialog { width: min(92vw, 760px); max-height: 84vh; padding: 0; border: 1px solid var(--line); border-radius: 14px; background: var(--panel-2); color: var(--text); }
    dialog.legal-dialog::backdrop { background: rgba(0,0,0,.78); }
    .legal-dialog-head { position: sticky; top: 0; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 18px; background: var(--panel); border-bottom: 1px solid var(--line); }
    .legal-dialog-head h2 { margin: 0; font-size: 1.25rem; }
    .legal-dialog-close { min-height: 42px; padding: 8px 14px; border-radius: 8px; border: 1px solid var(--line); background: var(--bg); color: var(--text); cursor: pointer; }
    .legal-dialog-body { padding: 4px 20px 24px; overflow: auto; }
    .legal-section[hidden] { display: none; }
    .budget-card .button { width: 100%; border: 0; }
    @media (min-width: 560px) { .budget-links { grid-template-columns: 1fr 1fr; } }

    .hero { position: relative; overflow: hidden; min-height: auto; padding-top: 30px; background: radial-gradient(circle at 50% 18%, rgba(147,213,0,.13), transparent 38%), linear-gradient(180deg, #101515 0%, var(--bg) 76%); }
    .hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, transparent, rgba(147,213,0,.035), transparent); }
    .hero > * { position: relative; z-index: 1; }
    .intro { display: grid; gap: 4px; width: fit-content; max-width: 760px; margin: -4px auto 0; padding: 14px 22px 16px; border: 1px solid rgba(147,213,0,.34); border-radius: 22px; background: linear-gradient(180deg, rgba(255,255,255,.045), rgba(147,213,0,.07)); color: var(--text); line-height: 1.12; box-shadow: 0 12px 30px rgba(0,0,0,.18); }
        .hero-title { display:block; font-size: clamp(2.05rem, 6.4vw, 3.3rem); font-weight: 840; line-height: 1.02; letter-spacing: -0.02em; text-shadow: 0 10px 24px rgba(0,0,0,.22); }
    .hero-title + .hero-title { margin-top: 0; }
    .hero-title-top { color: #ffffff; }
    .hero-title-bottom { color: var(--green-soft); }
    .hero-lead { max-width: 690px; margin: 16px auto 0; color: #d6dcda; font-size: 1.08rem; line-height: 1.6; font-weight: 520; }
        .hero-delivery { width: fit-content; max-width: 100%; margin: 24px auto 0; padding: 10px 15px; border: 1px solid rgba(147,213,0,.6); border-radius: 999px; background: rgba(147,213,0,.09); color: #ffffff; font-weight: 720; line-height: 1.45; }

    @media (max-width: 559px) {
      .accessible-banner { align-items: flex-start; }
      .accessible-icon { width: 52px; height: 52px; }
      .accessible-icon img { width: 36px; height: 36px; }
      .intro { width: min(100%, 360px); padding: 12px 18px 14px; }
    }

    .process-grid { display: grid; gap: 12px; }
    .process-step { padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
    .process-step span { width: 34px; height: 34px; margin-bottom: 13px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: #111; font-weight: 820; }
    .process-step h3 { margin-bottom: 7px; }
    .process-step p { margin: 0; color: var(--muted); line-height: 1.58; }
    @media (min-width: 560px) { .process-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

    /* Promoción de lanzamiento */
    .promo-strip { margin: 0 0 34px; padding: 18px 20px; border: 1px solid #f0c400; border-radius: 14px; background: linear-gradient(90deg, #ffd31a, #ffdf54); color: #111; text-align: center; box-shadow: 0 14px 30px rgba(0,0,0,.18); }
    .promo-strip strong { display:block; font-size: clamp(1.35rem, 4vw, 2rem); line-height: 1.05; }
    .promo-strip span { display:block; margin-top:6px; font-weight:720; }

    /* Promociones activas */
    .offers-section { scroll-margin-top: 20px; }
    .offers-grid { display: grid; gap: 14px; }
    .offer-card { min-width: 0; padding: 20px; display: flex; flex-direction: column; gap: 12px; border: 1px solid #625b25; border-radius: 14px; background: linear-gradient(155deg, #2e2d20, #171a17 72%); box-shadow: 0 14px 30px rgba(0,0,0,.18); }
    .offer-card.featured { border-color: rgba(147,213,0,.62); background: linear-gradient(155deg, rgba(147,213,0,.16), #171d18 72%); }
    .offer-kicker { margin: 0; color: #ffe36a; font-size: .79rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
    .offer-card h3 { font-size: 1.15rem; line-height: 1.3; }
    .offer-description { flex: 1; margin: 0; color: #cbd3d0; line-height: 1.58; }
    .offer-price { display: flex; align-items: baseline; gap: 8px; color: #fff; }
    .offer-price strong { font-size: 2rem; line-height: 1; letter-spacing: -.04em; }
    .offer-price span { color: #cbd3d0; font-size: .88rem; }
    .offer-condition { margin: 0; color: #c4ceca; font-size: 1rem; line-height: 1.6; }
    .offer-card .button { min-height: 50px; margin-top: 2px; padding: 12px 14px; font-size: .98rem; }
    .offer-card.wide { grid-column: 1 / -1; }
    .service-product-photo { width: min(100%, 620px); aspect-ratio: 4 / 3; object-fit: cover; display: block; align-self: center; border: 1px solid rgba(255,255,255,.16); border-radius: 13px; background: #0d1210; box-shadow: 0 14px 30px rgba(0,0,0,.25); }
    .product-photo-gallery { width: min(100%, 620px); align-self: center; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .product-photo-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: #0d1210; }
    .service-feature .service-product-photo { width: 100%; aspect-ratio: 4 / 3; margin: 2px 0 6px; }
    @media (max-width: 620px) { .service-product-photo { width: 100%; } }
    /* V96 · logos de filamento con mejor resolución y mejor encaje visual */
    .filament-brand-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:10px 0 18px; }
    .filament-brand-photo { margin:0; padding:18px 16px 14px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:#ffffff; display:grid; justify-items:center; align-items:center; gap:10px; min-height:176px; box-shadow:0 10px 22px rgba(0,0,0,.16); }
    .filament-brand-photo img { display:block; object-fit:contain; background:transparent; }
    .filament-brand-photo.brand-bambu img { width:min(100%, 360px); height:116px; }
    .filament-brand-photo.brand-smartfil img { width:min(100%, 270px); height:132px; }
    .filament-brand-photo figcaption { margin-top:2px; text-align:center; font-size:.94rem; font-weight:780; color:var(--muted); }
    .home-filament-showcase { width:100%; aspect-ratio:4 / 3; display:grid; place-items:center; padding:12px; box-sizing:border-box; background:#ffffff; overflow:hidden; }
    .home-filament-showcase img { width:min(96%, 470px); max-width:none; height:144px; object-fit:contain; display:block; }
    @media (max-width:620px) {
      .filament-brand-photos { grid-template-columns:1fr; gap:12px; }
      .filament-brand-photo { min-height:150px; padding:14px 12px 12px; }
      .filament-brand-photo.brand-bambu img { width:min(100%, 290px); height:98px; }
      .filament-brand-photo.brand-smartfil img { width:min(100%, 230px); height:114px; }
      .home-product-card .home-filament-showcase { height:100%; min-height:120px; aspect-ratio:auto; padding:10px; }
      .home-product-card .home-filament-showcase img { width:90%; height:104px; }
    }
    .offer-pricing-columns { display: grid; gap: 14px; }
    .offer-pricing-block { min-width: 0; padding: 14px; border: 1px solid rgba(255,255,255,.11); border-radius: 11px; background: rgba(0,0,0,.14); }
    .offer-pricing-block h4 { margin: 0 0 10px; color: var(--green-soft); font-size: 1rem; line-height: 1.35; }
    .offer-pricing-table { width: 100%; border-collapse: collapse; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; overflow: hidden; }
    .offer-pricing-table th, .offer-pricing-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.10); text-align: left; line-height: 1.35; }
    .offer-pricing-table tr:last-child th, .offer-pricing-table tr:last-child td { border-bottom: 0; }
    .offer-pricing-table th { color: #f4f6f5; font-weight: 680; }
    .offer-pricing-table td { width: 128px; color: #ffe36a; font-weight: 820; white-space: nowrap; text-align: right; }
    .offer-price-note { margin: -3px 0 0; color: #e0e7e4; font-size: 1rem; line-height: 1.6; }
    .offers-note { margin: 16px 0 0; padding: 14px 16px; border: 1px solid rgba(255,211,26,.38); border-radius: 10px; background: rgba(255,211,26,.06); color: #e8e4c9; line-height: 1.55; }
    @media (min-width: 620px) {
      .offers-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .offer-pricing-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

    /* Calculadora de copistería */
    .calculator-section { scroll-margin-top: 20px; }
    .calculator-intro { margin-bottom: 18px; }
    .calculator-shell { width: 100%; min-width: 0; overflow: hidden; border: 1px solid var(--cop-line); border-radius: 18px; background: linear-gradient(180deg, #203729, #101714); box-shadow: 0 22px 55px rgba(0,0,0,.25); }
    .calculator-head { padding: 22px; border-bottom: 1px solid rgba(147,213,0,.24); background: linear-gradient(90deg, rgba(147,213,0,.16), rgba(147,213,0,.04)); }
    .calculator-head h3 { margin-bottom: 7px; font-size: 1.32rem; }
    .calculator-head p { margin: 0; color: #d7dedb; line-height: 1.55; }
    .calculator-badge { display: inline-flex; margin-bottom: 12px; padding: 7px 11px; border: 1px solid rgba(147,213,0,.55); border-radius: 999px; color: var(--green-soft); background: rgba(147,213,0,.08); font-size: .86rem; font-weight: 790; }
    .tariff-pills { display: grid; gap: 10px; margin-top: 17px; }
    .tariff-pill { padding: 13px 14px; border: 1px solid #405349; border-radius: 11px; color: #f2f6f4; line-height: 1.35; box-shadow: inset 0 1px 0 rgba(255,255,255,.035); }
    .tariff-pill strong { display: block; margin-bottom: 3px; font-size: 1.08rem; }
    .tariff-pill span { color: #d4ddd8; font-size: .88rem; }
    .tariff-pill.tariff-1 { background: #0d3b23; border-color: #35a763; box-shadow: inset 0 0 0 1px rgba(53,167,99,.18); }
    .tariff-pill.tariff-1 strong { color: #caffd9; }
    .tariff-pill.tariff-2 { background: #4a3905; border-color: #d0a719; box-shadow: inset 0 0 0 1px rgba(208,167,25,.18); }
    .tariff-pill.tariff-2 strong { color: #fff0a3; }
    .tariff-pill.tariff-3 { background: #063b42; border-color: #18a4b1; box-shadow: inset 0 0 0 1px rgba(24,164,177,.18); }
    .tariff-pill.tariff-3 strong { color: #b9fbff; }
    .tariff-pill.tariff-4 { background: #112e5e; border-color: #4b7fe0; box-shadow: inset 0 0 0 1px rgba(75,127,224,.18); }
    .tariff-pill.tariff-4 strong { color: #c9ddff; }
    .tariff-pill.tariff-5 { background: #552606; border-color: #dc6e20; box-shadow: inset 0 0 0 1px rgba(220,110,32,.18); }
    .tariff-pill.tariff-5 strong { color: #ffd1a6; }
    .tariff-pill.tariff-6 { background: #4d1515; border-color: #d64b4b; box-shadow: inset 0 0 0 1px rgba(214,75,75,.18); }
    .tariff-pill.tariff-6 strong { color: #ffcaca; }
    .tariff-pill.tariff-7 { background: #3d1758; border-color: #a452dc; box-shadow: inset 0 0 0 1px rgba(164,82,220,.18); }
    .tariff-pill.tariff-7 strong { color: #efccff; }
    .tariff-pill.tariff-8 { background: #51142f; border-color: #d05088; box-shadow: inset 0 0 0 1px rgba(208,80,136,.18); }
    .tariff-pill.tariff-8 strong { color: #ffcee2; }
    .bulk-order-panel { margin: 18px 22px 0; padding: 17px 18px; display: grid; gap: 12px; border: 1px solid rgba(255,211,26,.55); border-radius: 13px; background: linear-gradient(135deg, rgba(255,211,26,.11), rgba(147,213,0,.07)); }
    .bulk-order-panel h4 { margin: 0; color: #fff; font-size: 1.08rem; }
    .bulk-order-panel p { margin: 0; color: #dce5e0; line-height: 1.5; }
    .bulk-order-panel .button { justify-self: start; }
    .bulk-order-actions { display: flex; flex-wrap: wrap; gap: 10px; }
    .copisteria-minimum-note { margin: 14px 0 0; padding: 10px 12px; border: 1px solid rgba(147,213,0,.38); border-radius: 9px; background: rgba(147,213,0,.07); color: #eff9e8; font-weight: 800; }
    .calc-first-order-control { padding: 13px 14px; display: flex; align-items: flex-start; gap: 11px; border: 2px solid rgba(147,213,0,.62); border-radius: 11px; background: linear-gradient(135deg,rgba(147,213,0,.13),rgba(147,213,0,.045)); color: #fff; cursor: pointer; }
    .calc-first-order-control input { width: 22px; height: 22px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--green); }
    .calc-first-order-control span { min-width: 0; display: grid; gap: 3px; line-height: 1.3; }
    .calc-first-order-control strong { color: #efffd3; font-size: 1rem; }
    .calc-first-order-control small { color: #d0d9d4; font-size: .82rem; line-height: 1.4; }
    .bulk-order-choice { padding: 13px 14px; display: flex; align-items: flex-start; gap: 11px; border: 1px solid rgba(255,211,26,.34); border-radius: 10px; background: rgba(255,211,26,.055); cursor: pointer; }
    .bulk-order-choice input { margin-top: 4px; accent-color: var(--green); }
    .bulk-order-choice span { display: grid; gap: 3px; }
    .bulk-order-choice strong { color: #fff; }
    .bulk-order-choice small { color: #cbd7d1; line-height: 1.45; }
    .order-check { padding: 10px 12px; border-radius: 9px; background: #17251d; border-left: 4px solid var(--green); }
    .budget-duplicate-warning { margin: 10px 0 0; padding: 9px 11px; border-radius: 9px; background: #4b3310; border: 1px solid #9a6d23; color: #ffe0a4; font-weight: 800; }
    .calculator-layout { min-width: 0; display: grid; }
    .calculator-form { padding: 22px; }
    .calculator-client-form { border-top: 1px solid rgba(147,213,0,.24); }
    .calculator-block + .calculator-block { margin-top: 26px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.10); }
    .calculator-block h4 { margin: 0 0 15px; font-size: 1.08rem; }
    .calculator-fields { display: grid; gap: 16px; }
    .calculator-help { margin: 9px 0 0; color: var(--muted); font-size: .91rem; line-height: 1.5; }
    .selected-files { margin: 10px 0 0; padding: 0; display: grid; gap: 8px; list-style: none; }
    .selected-files:empty { display: none; }
    .selected-file { min-width: 0; padding: 9px 10px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border: 1px solid rgba(147,213,0,.26); border-radius: 9px; background: rgba(147,213,0,.055); }
    .selected-file-name { min-width: 0; overflow-wrap: anywhere; color: #edf2ef; font-size: .88rem; line-height: 1.35; }
    .selected-file-remove { flex: 0 0 auto; padding: 6px 9px; border: 1px solid #55615c; border-radius: 7px; background: #1b2420; color: #fff; font-size: .8rem; cursor: pointer; }
    .selected-file-remove:hover, .selected-file-remove:focus-visible { border-color: var(--green); color: var(--green-soft); }
    .selected-files-summary { padding: 2px 1px; color: var(--green-soft); font-size: .84rem; font-weight: 700; list-style: none; }
    .r2-upload-status { margin-top: 10px; padding: 10px 12px; border: 1px solid rgba(141,255,80,.25); border-radius: 10px; background: rgba(9,22,15,.62); color: #dfe8e3; font-size: .86rem; line-height: 1.45; }
    .r2-upload-status[hidden] { display: none; }
    .r2-upload-status.uploading { border-color: rgba(255,213,74,.48); color: #fff4bf; }
    .r2-upload-status.success { border-color: rgba(141,255,80,.52); color: #d8ffc1; }
    .r2-upload-status.error { border-color: rgba(255,108,87,.58); color: #ffd2ca; background: rgba(51,16,12,.58); }
    .netlify-file-slots { display: none; }
    .submission-title-source { position: absolute !important; left: -10000px !important; top: auto !important; width: 1px !important; height: 1px !important; padding: 0 !important; border: 0 !important; opacity: .01; pointer-events: none; }
    .price-summary { min-width: 0; padding: 22px; border-top: 1px solid rgba(147,213,0,.24); background: #0b100e; }
    .summary-sticky { min-width: 0; display: grid; gap: 14px; }
    .summary-title { min-width: 0; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
    .summary-title h3 { font-size: 1.18rem; }
    .vat-badge { padding: 6px 9px; border-radius: 999px; background: rgba(147,213,0,.13); color: var(--green-soft); font-size: .78rem; font-weight: 800; white-space: nowrap; }
    .quote-lines { border: 1px solid #2d3934; border-radius: 12px; overflow: hidden; }
    .quote-line { min-width: 0; display: flex; justify-content: space-between; gap: 12px; padding: 11px 13px; border-bottom: 1px solid #28322e; color: #dce3e0; line-height: 1.4; }
    .quote-line[hidden] { display: none !important; }
    .quote-line:last-child { border-bottom: 0; }
    .quote-line span { min-width: 0; overflow-wrap: anywhere; }
    .quote-line span:last-child { flex: 0 0 auto; text-align: right; font-weight: 730; white-space: nowrap; }
    .quote-line.discount { color: var(--green-soft); }
    .quote-total { min-width: 0; display: grid; grid-template-columns: 1fr; align-items: end; gap: 7px; padding-top: 2px; }
    .quote-total span { color: var(--muted); }
    .quote-total strong { min-width: 0; max-width: 100%; color: #fff; font-size: clamp(1.9rem, 4vw, 2.55rem); line-height: 1; letter-spacing: -.04em; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
    .price-status { margin: 0; padding: 12px 13px; border: 1px solid #3b4843; border-radius: 10px; background: #151c19; color: #cbd4d0; font-size: .91rem; line-height: 1.5; }
    .price-status.good { border-color: rgba(147,213,0,.55); color: var(--green-soft); background: rgba(147,213,0,.07); }
    .price-status.error { border-color: #d76b58; color: #ffd0c7; background: rgba(215,107,88,.10); }
    .orientative-note { margin: 0; color: #9da9a4; font-size: .86rem; line-height: 1.5; }
    .calc-submit { width: 100%; }
    .compact-choice { padding: 12px 13px; }
    .spiral-recommendation { margin: 10px 0 0; padding: 11px 13px; border-left: 3px solid var(--green); background: rgba(147,213,0,.07); color: #dfe7e3; font-size: .92rem; line-height: 1.5; }
    .spiral-recommendation.error { border-left-color: #e06d59; background: rgba(224,109,89,.10); color: #ffd2ca; font-weight: 720; }
    .price-highlight { color: var(--green-soft); font-weight: 780; }
    .fixed-option { min-height: 52px; padding: 14px 15px; display: flex; align-items: center; border: 1px solid #465050; border-radius: 10px; background: #16201b; color: #fff; font-weight: 700; }

    @media (min-width: 880px) {
      .calculator-layout { grid-template-columns: minmax(0, 1.3fr) minmax(330px, .85fr); align-items: start; }
      .price-summary { position: relative; grid-column: 2; grid-row: 1 / span 2; border-top: 0; border-left: 1px solid rgba(147,213,0,.24); min-height: 100%; }
      .calculator-form { grid-column: 1; }
      .calculator-client-form { grid-row: 2; }
      .summary-sticky { position: sticky; top: 18px; }
      .calculator-fields.two { grid-template-columns: 1fr 1fr; }
      .calculator-fields.two .full { grid-column: 1 / -1; }
      .tariff-pills { grid-template-columns: 1fr 1fr; }
    }

    @media (max-width: 420px) {
      .quote-total strong { font-size: 2.25rem; }
    }

    /* Navegación profesional por secciones */
    .shell { width: min(100%, 1360px); min-height: 100vh; display: flex; flex-direction: column; }
    .site-header { position: sticky; top: 0; z-index: 100; min-height: 72px; padding: 10px 24px; display: flex; align-items: center; border-bottom: 1px solid rgba(147,213,0,.28); background: rgba(13,16,16,.97); box-shadow: 0 12px 30px rgba(0,0,0,.28); backdrop-filter: blur(12px); }
    .skip-link { position: fixed; top: -80px; left: 12px; z-index: 200; padding: 11px 14px; border-radius: 8px; background: var(--green); color: #111; font-weight: 800; }
    .skip-link:focus { top: 10px; }
    .menu-toggle { display: none; min-width: 104px; height: 44px; padding: 0 14px; align-items: center; justify-content: center; gap: 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); color: #fff; cursor: pointer; }
    .menu-toggle-label { font-size: .9rem; font-weight: 820; letter-spacing: .04em; }
    .menu-toggle-lines, .menu-toggle-lines::before, .menu-toggle-lines::after { width: 22px; height: 2px; display: block; background: currentColor; border-radius: 2px; content: ""; }
    .menu-toggle-lines { position: relative; margin: auto; }
    .menu-toggle-lines::before { position: absolute; top: -7px; }
    .menu-toggle-lines::after { position: absolute; top: 7px; }
    .site-nav { width: 100%; min-width: 0; display: flex; align-items: center; justify-content: flex-start; gap: 4px; }
    .site-nav a, .site-nav .nav-budget { min-height: 46px; padding: 11px 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 9px; background: transparent; color: #e7ece9; font: inherit; font-size: .96rem; font-weight: 740; line-height: 1.15; text-decoration: none; white-space: nowrap; cursor: pointer; }
    .site-nav .nav-with-subtitle { min-height: 52px; flex-direction: column; align-items: flex-start; gap: 2px; }
    .nav-subtitle { color: var(--green-soft); font-size: .68rem; font-weight: 720; line-height: 1; }
    .site-nav a:hover, .site-nav a:focus-visible { border-color: #46534d; background: #1a211e; color: var(--green-soft); outline: none; }
    .site-nav a[aria-current="page"] { border-color: rgba(147,213,0,.45); background: rgba(147,213,0,.11); color: var(--green-soft); }
    .site-nav .nav-budget { margin-left: auto; gap: 8px; border-color: #f0c400; background: var(--yellow, #ffd31a); color: #111; }
    .site-nav .nav-budget:hover, .site-nav .nav-budget:focus-visible { border-color: #ffe878; background: #ffe05a; color: #111; outline: none; }
    .nav-budget-count { min-width: 23px; height: 23px; padding: 0 6px; display: grid; place-items: center; border-radius: 999px; background: #101510; color: #fff; font-size: .73rem; font-weight: 850; }
    .app-main { flex: 1; min-height: 66vh; padding: 34px 24px 48px; }
    .app-view { min-width: 0; animation: viewIn .2s ease both; }
    .app-view[hidden] { display: none !important; }
    .app-main > .app-view { margin-top: 0; }
    .view-heading { margin-bottom: 26px; }
    .view-eyebrow { margin: 0 0 9px; color: var(--green-soft); font-size: clamp(.98rem,1.35vw,1.12rem); font-weight: 850; letter-spacing: .065em; line-height: 1.35; text-transform: uppercase; }
    .view-heading h2 { margin-bottom: 11px; font-size: clamp(2.05rem,4vw,3.15rem); line-height: 1.08; text-wrap: balance; }
    .view-heading > p:not(.view-eyebrow) { max-width: 820px; margin: 0; color: var(--muted); font-size: clamp(1.05rem,1.7vw,1.25rem); line-height: 1.58; }
    .offer-card > h3, .service-feature h3, .calculator-head h3, .other-service-card h3, .form-panel-title { font-size: clamp(1.28rem,2vw,1.62rem); line-height: 1.2; }
    @keyframes viewIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

    .home-view { min-height: calc(100vh - 228px); display: grid; align-items: center; }
    .home-layout { display: grid; gap: 24px; align-items: start; }
    .home-brand-panel, .home-promotions-panel { min-width: 0; border: 1px solid var(--line); border-radius: 22px; overflow: hidden; box-shadow: 0 24px 60px rgba(0,0,0,.24); }
    .home-brand-panel { aspect-ratio: 1 / 1; padding: 34px 24px 28px; display: grid; place-items: center; align-content: center; gap: clamp(22px,4vw,40px); text-align: center; background: radial-gradient(circle at 50% 30%, rgba(147,213,0,.22), transparent 44%), linear-gradient(160deg,#19211e,#0f1312); box-shadow: 0 24px 60px rgba(0,0,0,.28), inset 0 0 0 1px rgba(147,213,0,.08); }
    .home-logo { width: min(96%, 680px); height: auto; margin: 0; display: block; filter: drop-shadow(0 16px 34px rgba(0,0,0,.30)); }
    .home-tagline { position: relative; z-index: 1; margin: 0; color: #fff; font-size: clamp(1.9rem, 3.8vw, 3rem); font-weight: 900; line-height: 1.05; letter-spacing: -.035em; text-wrap: balance; text-shadow: 0 8px 24px rgba(0,0,0,.48); }
    .home-brand-meta { position:relative; z-index:1; margin:-8px 0 0; color:#d9e6df; font-size:clamp(.94rem,1.45vw,1.08rem); font-weight:760; letter-spacing:.01em; }
    .home-promotions-panel { padding: 24px; background: radial-gradient(circle at 92% 4%, rgba(147,213,0,.22), transparent 30%), linear-gradient(150deg,#3a3517,#182019 68%); border-color: #9c8829; box-shadow: 0 24px 60px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,211,26,.08); }
    .home-promotions-head { display: flex; align-items: end; justify-content: center; gap: 14px; margin-bottom: 22px; text-align:center; }
    .home-promotions-head h2 { margin: 0; display:inline-flex; align-items:center; justify-content:center; width:auto; max-width:100%; padding: 12px 20px; border: 1px solid rgba(202,255,81,.62); border-radius: 14px; background: linear-gradient(180deg, rgba(13,20,16,.55), rgba(13,20,16,.22)); color: #fff; font-size: 1.82rem; font-weight: 950; text-align:center; box-shadow: 0 10px 28px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,227,106,.08); }
    .home-launch-offer { padding: 17px 18px; border: 1px solid #f0c400; border-radius: 13px; background: linear-gradient(90deg,#ffd31a,#ffe36a); color: #111; }
    .home-launch-offer strong { display: block; font-size: 1.35rem; line-height: 1.12; }
    .home-launch-offer span { display: block; margin-top: 6px; font-size: .91rem; font-weight: 680; line-height: 1.45; }
    .home-offers-list { margin: 0; padding: 0; display: grid; gap: 10px; list-style: none; counter-reset: home-promotions; }
    .home-offers-list li { counter-increment: home-promotions; }
    .home-offer-link, .home-offer-card { padding: 13px 14px; display: grid; grid-template-columns: 34px minmax(0,1fr) 44px; align-items: center; gap: 11px; border: 1px solid rgba(255,255,255,.18); border-radius: 11px; background: linear-gradient(90deg,rgba(147,213,0,.10),rgba(255,211,26,.035)); color: #f7f9f5; text-decoration: none; box-shadow: inset 3px 0 0 rgba(147,213,0,.72); transition: transform .15s ease, border-color .15s ease, background .15s ease; }
    .home-offer-link::before, .home-offer-card::before { content: counter(home-promotions); width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: linear-gradient(145deg,#d9ff5b,#93d500); color: #101410; font-size: .84rem; font-weight: 900; box-shadow: 0 0 0 3px rgba(147,213,0,.11); }
    .home-offer-link::after { content: "›"; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid #caff51; border-radius: 50%; background: linear-gradient(145deg,#d9ff5b,#93d500); color: #101410; font-size: 2rem; font-weight: 900; line-height: 1; box-shadow: 0 7px 18px rgba(0,0,0,.28), 0 0 0 3px rgba(147,213,0,.10); transition: transform .16s ease, box-shadow .16s ease; }
    .home-offers-list li:nth-child(even) > .home-offer-link::after { border-color: #ffe36a; background: linear-gradient(145deg,#ffe878,#ffd31a); }
    .home-offers-list li:nth-child(even) > .home-offer-link { background: linear-gradient(90deg,rgba(255,211,26,.10),rgba(147,213,0,.035)); box-shadow: inset 3px 0 0 rgba(255,211,26,.75); }
    .home-offer-link:hover, .home-offer-card:hover { transform: translateY(-1px); border-color: rgba(255,227,106,.72); background: linear-gradient(90deg,rgba(147,213,0,.16),rgba(255,211,26,.08)); }
    .home-offer-link:hover::after, .home-offer-link:focus-visible::after { transform: translateX(3px) scale(1.04); box-shadow: 0 9px 22px rgba(0,0,0,.34), 0 0 0 4px rgba(255,211,26,.12); }
    .home-offer-link span { font-weight: 740; line-height: 1.35; }
    .home-offer-card { grid-template-columns: 34px minmax(0,1fr); }
    .home-offer-card > span { line-height: 1.35; font-weight: 740; }
    .home-discount-note { grid-column: 2; margin: -2px 0 0; color: #ffe36a; font-size: .82rem; font-weight: 720; line-height: 1.4; }
    .home-offer-actions { grid-column: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .home-offer-action { min-height: 40px; padding: 9px 10px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.20); border-radius: 8px; background: rgba(0,0,0,.24); color: #fff; font-size: .82rem; font-weight: 780; line-height: 1.25; text-align: center; text-decoration: none; }
    .home-offer-action:hover { border-color: var(--green); color: var(--green-soft); }

    .service-overview-grid { display: grid; gap: 14px; margin-bottom: 22px; }
    .service-feature { padding: 19px; border: 1px solid var(--line); border-radius: 13px; background: var(--panel); }
    .service-feature.has-action { display: flex; flex-direction: column; }
    .service-feature h3 { margin-bottom: 8px; color: #fff; }
    .service-feature p { margin: 0; color: var(--muted); line-height: 1.55; }
    .service-feature .offer-pricing-table { margin-top: 14px; }
    .service-feature .offer-price-note { margin-top: 10px; }
    .service-feature .inline-service-action { width: 100%; min-height: 48px; margin-top: auto; padding: 11px 13px; font-size: .95rem; }
    .service-feature .offer-price-note + .inline-service-action, .service-feature > p + .inline-service-action { margin-top: 16px; }
    .conditional-fields[hidden] { display: none !important; }
    .local-only-notice { margin: 0; padding: 13px 14px; border: 1px solid rgba(255,211,26,.45); border-radius: 10px; background: rgba(255,211,26,.08); color: #fff1a6; font-weight: 720; line-height: 1.5; }
    .section-target { scroll-margin-top: 92px; }
    .service-feature.cop { border-color: var(--cop-line); background: var(--cop-bg); }
    .service-feature.three-d { border-color: var(--three-d-line); background: var(--three-d-bg); }
    .service-feature.other { border-color: var(--other-line); background: var(--other-bg); }
    .service-action { max-width: 460px; margin: 0 0 22px; }
    .service-action .button { width: 100%; }
    .filtered-view-actions { margin: -7px 0 24px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
    .filtered-view-actions[hidden] { display: none !important; }
    .filtered-view-actions .button { min-height: 46px; }
    .services-directory { margin: 0 0 26px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
    .services-directory h3 { margin: 0 0 13px; font-size: 1.16rem; }
    .services-directory-links { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 9px; }
    .services-directory-links a { min-height: 48px; padding: 10px 12px; display: flex; align-items: center; justify-content: center; border: 1px solid #46534d; border-radius: 9px; background: #131a17; color: #f4f7f5; font-weight: 780; line-height: 1.3; text-align: center; text-decoration: none; }
    .services-directory-links a:hover, .services-directory-links a:focus-visible { border-color: var(--green); color: var(--green-soft); }
    @media (max-width: 820px) { .services-directory-links { grid-template-columns: 1fr 1fr; } }
    @media (max-width: 430px) { .services-directory-links { grid-template-columns: 1fr; } }
    .service-overview-grid.filtered-single, .offers-grid.filtered-single { grid-template-columns: minmax(0,1fr); }
    .service-overview-grid.filtered-single .service-feature, .offers-grid.filtered-single .offer-card { width: 100%; }
    .offers-grid > .offer-card[hidden], .service-overview-grid > .service-feature[hidden] { display: none !important; }

    /* Mi presupuesto estimado */
    .budget-cart-fab { position: fixed; right: max(18px, env(safe-area-inset-right)); bottom: max(18px, env(safe-area-inset-bottom)); z-index: 180; min-height: 54px; padding: 11px 14px; display: inline-flex; align-items: center; gap: 10px; border: 1px solid #b7ee35; border-radius: 999px; background: linear-gradient(135deg,#a9ef0f,#73b900); color: #101510; box-shadow: 0 16px 42px rgba(0,0,0,.48), 0 0 0 4px rgba(147,213,0,.10); font-weight: 850; cursor: pointer; }
    .budget-cart-fab svg { width: 24px; height: 24px; }
    .budget-cart-badge { min-width: 25px; height: 25px; padding: 0 7px; display: grid; place-items: center; border-radius: 999px; background: #101510; color: #fff; font-size: .78rem; }
    .budget-cart-overlay { position: fixed; inset: 0; z-index: 190; background: rgba(0,0,0,.68); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
    .budget-cart-drawer { position: fixed; top: 50%; left: 50%; right: auto; z-index: 200; width: min(96vw, 1380px); height: 94dvh; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(430px,1fr); grid-template-rows: auto minmax(0,1fr); grid-template-areas: "head head" "body foot"; overflow: hidden; border: 1px solid rgba(147,213,0,.48); border-radius: 18px; background: #0e1311; box-shadow: 0 32px 90px rgba(0,0,0,.62); opacity: 0; transform: translate(-50%,-47%) scale(.985); pointer-events: none; transition: transform .24s ease, opacity .2s ease; }
    body.budget-cart-open { overflow: hidden; }
    body.budget-cart-open .budget-cart-overlay { opacity: 1; pointer-events: auto; }
    body.budget-cart-open .budget-cart-drawer { opacity: 1; transform: translate(-50%,-50%) scale(1); pointer-events: auto; }
    .budget-cart-head { grid-area: head; padding: 13px 18px 12px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #2c3732; background: linear-gradient(90deg,rgba(147,213,0,.14),rgba(147,213,0,.03)); }
    .budget-cart-head .view-eyebrow { margin-bottom: 3px; font-size: .82rem; }
    .budget-cart-head h2 { margin: 0; font-size: 1.35rem; }
    .budget-cart-close { width: 42px; height: 42px; border: 1px solid #46534d; border-radius: 50%; background: #151b18; color: #fff; font-size: 1.35rem; cursor: pointer; }
    .budget-cart-body { grid-area: body; min-width: 0; min-height: 0; padding: 15px 17px 18px; overflow-y: auto; scrollbar-gutter: stable; background: linear-gradient(180deg,#111814,#0d1210); }
    .budget-cart-list-head { margin-bottom: 11px; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
    .budget-cart-list-head h3 { margin: 0; color: #fff; font-size: 1.08rem; }
    .budget-cart-list-head span { color: var(--muted); font-size: .82rem; }
    .budget-cart-empty { margin: 0; padding: 24px 18px; border: 1px dashed #46534d; border-radius: 13px; color: var(--muted); text-align: center; line-height: 1.6; }
    .budget-cart-items { margin: 0; padding: 0; display: grid; gap: 11px; list-style: none; }
    .budget-cart-item { padding: 12px 13px; display: grid; gap: 7px; border: 1px solid #34413b; border-radius: 12px; background: linear-gradient(145deg,#18201c,#111614); }
    .budget-cart-item.is-editable { transition: border-color .16s ease, background .16s ease; }
    .budget-cart-item.is-editable:hover { border-color: rgba(147,213,0,.68); background: linear-gradient(145deg,#1c281f,#121a15); }
    .budget-cart-item-head { display: flex; justify-content: space-between; gap: 12px; }
    .budget-cart-item-edit { min-width: 0; padding: 0; display: grid; justify-items: start; gap: 3px; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
    .budget-cart-item-edit:hover .budget-cart-item-title, .budget-cart-item-edit:focus-visible .budget-cart-item-title { color: var(--green-soft); }
    .budget-cart-item-title { color: #fff; font-weight: 790; line-height: 1.35; }
    .budget-cart-edit-hint { color: #a8c77d; font-size: .76rem; font-weight: 720; }
    .budget-cart-item-price { color: var(--green-soft); font-weight: 850; white-space: nowrap; }
    .budget-cart-item-price.pending { color: #ffe36a; font-size: .82rem; white-space: normal; text-align: right; }
    .budget-cart-item-option { margin: 0; color: #c8d1cd; font-size: .9rem; line-height: 1.5; }
    .budget-cart-copisteria-breakdown { color: #eef7e7; font-weight: 760; }
    .budget-cart-item-controls { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .budget-cart-quantity { display: inline-flex; align-items: center; gap: 7px; color: var(--muted); font-size: .86rem; }
    .budget-cart-quantity input { width: 70px; min-height: 38px; padding: 7px 9px; text-align: center; }
    .budget-cart-remove { padding: 7px 9px; border: 1px solid #5b4744; border-radius: 8px; background: #201714; color: #ffc2b8; cursor: pointer; }
    .budget-cart-foot { grid-area: foot; min-width: 0; min-height: 0; padding: 17px 20px 18px; overflow-y: auto; border-left: 1px solid #2c3732; background: #0b0f0d; }
    .budget-cart-summary-title { margin: 0 0 12px; color: #fff; font-size: 1.25rem; }
    .budget-cart-vat-note { margin: -4px 0 12px; color: #aeb9b4; font-size: .78rem; line-height: 1.4; }
    .budget-first-order-control { padding: 9px 11px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid rgba(147,213,0,.45); border-radius: 10px; background: rgba(147,213,0,.08); color: #fff; cursor: pointer; }
    .budget-first-order-control input { width: 21px; height: 21px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--green); }
    .budget-first-order-control span { min-width: 0; display: grid; gap: 2px; line-height: 1.25; }
    .budget-first-order-control strong { font-size: .94rem; }
    .budget-first-order-control small { color: #bec9c3; font-size: .76rem; line-height: 1.3; }
    .budget-first-order-status { margin: 6px 2px 0; color: #ffe36a; font-size: .78rem; font-weight: 720; line-height: 1.35; }
    .budget-first-order-status[hidden] { display: none !important; }
    .budget-cart-primary-total { margin-top: 12px; padding-top: 10px; display: flex; align-items: baseline; justify-content: space-between; gap: 14px; border-top: 1px solid #34413b; color: #fff; font-size: 1.12rem; }
    .budget-cart-primary-total strong { color: var(--green-soft); font-size: 1.72rem; white-space: nowrap; }
    .budget-cart-breakdown { margin-top: 7px; }
    .budget-cart-totals { margin: 0; padding: 13px 14px; display: grid; gap: 9px; border: 1px solid #303c36; border-radius: 9px; background: #101613; font-size: .96rem; }
    .budget-total-line { display: flex; justify-content: space-between; gap: 14px; color: #c9d2ce; }
    .budget-total-line[hidden] { display: none !important; }
    .budget-total-line strong { color: #fff; }
    .budget-cart-status { margin: 5px 0 0; color: #aeb9b4; font-size: .76rem; line-height: 1.35; }
    .budget-cart-actions { margin-top: 8px; display: grid; gap: 2px; }
    .budget-cart-actions .button { min-height: 45px; width: 100%; }
    .budget-continue { min-height: 32px !important; border: 0; background: transparent; color: #d2dbd7; text-decoration: underline; text-underline-offset: 3px; }
    .budget-continue:hover, .budget-continue:focus-visible { border-color: var(--green); color: var(--green-soft); }
    .budget-cart-clear { margin-top: 1px; border: 0; background: transparent; color: #929e98; font-size: .76rem; text-decoration: underline; cursor: pointer; }
    @media (min-width: 900px) {
      .budget-cart-item { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "itemhead itemhead" "itemoption itemcontrols"; column-gap: 18px; }
      .budget-cart-item-head { grid-area: itemhead; }
      .budget-cart-item-option { grid-area: itemoption; align-self: center; }
      .budget-cart-item-controls { grid-area: itemcontrols; align-self: end; min-width: 210px; }
    }
    @media (max-width: 899px) {
      .budget-cart-drawer { top: 0; left: 0; width: 100%; height: 100dvh; display: block; overflow-y: auto; border: 0; border-radius: 0; opacity: 1; transform: translateY(102%); }
      body.budget-cart-open .budget-cart-drawer { transform: translateY(0); }
      .budget-cart-head { position: sticky; top: 0; z-index: 3; }
      .budget-cart-body { min-height: auto; overflow: visible; }
      .budget-cart-foot { min-height: auto; overflow: visible; border-top: 1px solid #2c3732; border-left: 0; }
    }
    .budget-add-row { display: grid; gap: 9px; margin-top: 10px; }
    .budget-edit-notice { margin-top: 10px; padding: 12px 13px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(147,213,0,.55); border-radius: 10px; background: rgba(147,213,0,.09); color: #efffd1; font-weight: 720; }
    .budget-edit-cancel { padding: 7px 10px; flex: 0 0 auto; border: 1px solid #5b6b63; border-radius: 8px; background: #111714; color: #fff; cursor: pointer; }
    .budget-add-button { width: 100%; min-height: 50px; }
    .budget-add-help { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.5; text-align: center; }
    .budget-toast { position: fixed; left: 50%; bottom: 88px; z-index: 260; width: min(calc(100% - 30px), 510px); padding: 14px 16px; border: 1px solid rgba(147,213,0,.65); border-radius: 13px; background: #172019; color: #fff; box-shadow: 0 18px 48px rgba(0,0,0,.5); text-align: center; font-weight: 720; transform: translate(-50%,20px); opacity: 0; pointer-events: none; transition: opacity .18s ease, transform .18s ease; }
    .budget-toast.show { opacity: 1; transform: translate(-50%,0); pointer-events: auto; }
    .budget-toast-message { display: block; line-height: 1.4; }
    .budget-toast-actions { margin-top: 11px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .budget-toast-actions[hidden] { display: none !important; }
    .budget-toast-actions button { min-height: 40px; padding: 8px 10px; border: 1px solid #526159; border-radius: 8px; background: #0f1512; color: #fff; font: inherit; font-size: .86rem; cursor: pointer; }
    .budget-toast-actions .toast-open-budget { border-color: var(--green); background: var(--green); color: #101410; font-weight: 830; }
    .budget-count-bump { animation: budgetCountBump .34s ease; }
    @keyframes budgetCountBump { 50% { transform: scale(1.25); box-shadow: 0 0 0 5px rgba(255,211,26,.22); } }
    dialog.budget-request-dialog { width: min(94vw, 780px); max-height: 90dvh; padding: 0; border: 1px solid rgba(147,213,0,.5); border-radius: 16px; background: #101513; color: var(--text); overflow: auto; }
    dialog.budget-request-dialog::backdrop { background: rgba(0,0,0,.78); backdrop-filter: blur(3px); }
    .budget-request-head { position: sticky; top: 0; z-index: 2; padding: 17px 20px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border-bottom: 1px solid #34413b; background: #131a17; }
    .budget-request-head h2 { margin: 0; font-size: 1.35rem; }
    .budget-request-close { min-height: 40px; padding: 8px 12px; border: 1px solid #46534d; border-radius: 8px; background: #0d1210; color: #fff; cursor: pointer; }
    .budget-request-body { padding: 20px; }
    .budget-request-summary { margin-bottom: 18px; padding: 14px; display: grid; gap: 8px; border: 1px solid #415048; border-radius: 11px; background: #151c18; }
    .budget-request-summary p { margin: 0; color: #d7dfdb; line-height: 1.5; }
    .budget-request-warning { margin: 0 0 16px; padding: 12px 14px; border: 1px solid rgba(255,211,26,.48); border-radius: 10px; background: rgba(255,211,26,.07); color: #ffeca0; line-height: 1.5; }
    .budget-request-warning[hidden] { display: none; }
    .budget-request-success { padding: 26px 22px; text-align: center; }
    .budget-request-success h3 { margin: 0 0 10px; color: var(--green-soft); font-size: 1.5rem; }
    .budget-request-success p { margin: 0; }
    .budget-request-success-actions { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .budget-request-success-actions .button { width: 100%; }
    .budget-request-dialog form[hidden] { display: none !important; }
    @media (min-width: 1281px) { .budget-cart-fab { display: none; } }
    .other-services-grid { display: grid; gap: 16px; }
    .other-service-card { padding: 24px; border: 1px solid var(--other-line); border-radius: 14px; background: linear-gradient(150deg,#373522,#191b17); }
    .other-service-card h3 { margin-bottom: 9px; }
    .other-service-card p { margin: 0; color: var(--muted); line-height: 1.6; }
    .other-contact { margin-top: 20px; max-width: 440px; }
    .process-section .delivery-banner { margin: 18px 0 0; }
    .accessibility-view .notice { margin-top: 0; }
    .accessibility-explanation { margin-top: 18px; display: grid; gap: 12px; }
    .accessibility-explanation p { margin: 0; color: var(--muted); line-height: 1.65; }
    footer { margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); background: #0a0d0c; }

    @media (min-width: 700px) {
      .home-layout { grid-template-columns: minmax(0,.95fr) minmax(380px,1.05fr); }
      .service-overview-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
      .other-services-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
      .other-services-grid .other-service-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
    }
    @media (max-width: 1280px) {
      .site-header { min-height: 64px; padding: 10px 14px; }
      .menu-toggle { display: inline-flex; }
      .site-nav { position: fixed; top: 64px; left: 12px; right: 12px; width: auto; max-height: calc(100vh - 82px); margin: 0; padding: 12px; display: none; overflow-y: auto; border: 1px solid var(--line); border-radius: 13px; background: #0f1412; box-shadow: 0 24px 60px rgba(0,0,0,.55); }
      .site-nav[data-open="true"] { display: grid; gap: 5px; }
      .site-nav a, .site-nav .nav-budget { width: 100%; justify-content: flex-start; padding: 12px 14px; font-size: .98rem; }
      .site-nav .nav-budget { margin-left: 0; justify-content: center; }
    }
    @media (max-width: 699px) {
      .app-main { padding: 24px 16px 38px; }
      .home-view { min-height: auto; }
      .home-brand-panel { aspect-ratio: auto; min-height: 0; padding: 30px 18px 40px; gap: 24px; }
      .home-logo { width: 100%; margin: 0; }
      .home-tagline { font-size: clamp(1.72rem, 8.3vw, 2.3rem); }
      .home-promotions-panel { padding: 20px 16px; }
      .home-promotions-head { align-items: flex-start; flex-direction: column; }
      .home-offer-actions { grid-template-columns: 1fr; }
      .home-offer-link { grid-template-columns: 34px minmax(0,1fr) 40px; }
      .home-offer-link::after { width: 38px; height: 38px; font-size: 1.85rem; }
      .offer-pricing-table th, .offer-pricing-table td { padding: 9px 10px; }
      .budget-cart-fab { right: 12px; bottom: 12px; min-height: 50px; padding: 9px 12px; }
      .budget-cart-fab-label { display: none; }
      .budget-cart-drawer { width: 100%; border-left: 0; }
      .budget-request-body { padding: 16px; }
      .budget-request-success-actions { grid-template-columns: 1fr; }
      .budget-toast-actions { grid-template-columns: 1fr; }
    }
    @media (prefers-reduced-motion: reduce) { .app-view { animation: none; } }

    .netlify-summary-helper { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* INVENSUR V28 · identidad visual más viva, clara y coherente */
body{
  background:
    radial-gradient(circle at 8% 4%, rgba(54,183,155,.12), transparent 24rem),
    radial-gradient(circle at 92% 18%, rgba(255,191,48,.10), transparent 28rem),
    radial-gradient(circle at 60% 92%, rgba(147,213,0,.08), transparent 30rem),
    #0b0f0e;
}
.site-header{
  background:
    linear-gradient(90deg,rgba(16,43,32,.98),rgba(14,21,19,.98) 34%,rgba(33,28,13,.98) 100%);
  border-bottom-color:#50705f;
  box-shadow:0 12px 34px rgba(0,0,0,.36), inset 0 -1px 0 rgba(255,205,72,.10);
}
.site-header::after{
  content:"";
  position:absolute;
  left:24px; right:24px; bottom:-1px;
  height:2px;
  background:linear-gradient(90deg,#92d500 0 26%,#37ad9e 43% 64%,#e4a82d 82% 100%);
  opacity:.68;
  pointer-events:none;
}
.home-view{
  position:relative;
  isolation:isolate;
}
.home-view::before{
  content:"";
  position:absolute;
  inset:-70px -40px;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(ellipse at 13% 31%,rgba(82,199,151,.17),transparent 31%),
    radial-gradient(ellipse at 79% 18%,rgba(255,190,43,.14),transparent 30%),
    radial-gradient(ellipse at 68% 84%,rgba(146,213,0,.12),transparent 28%);
  filter:blur(10px);
}
.home-brand-panel{
  position:relative;
  isolation:isolate;
  border-color:#466c59;
  background:
    radial-gradient(circle at 28% 18%,rgba(93,222,161,.25),transparent 27%),
    radial-gradient(circle at 78% 76%,rgba(147,213,0,.22),transparent 32%),
    linear-gradient(145deg,#163d31 0%,#12251e 43%,#0c1210 100%);
  box-shadow:
    0 28px 70px rgba(0,0,0,.40),
    0 0 44px rgba(68,185,142,.08),
    inset 0 0 0 1px rgba(145,239,184,.08);
}
.home-brand-panel::before{
  content:"";
  position:absolute;
  width:72%;
  aspect-ratio:1;
  left:-22%;
  top:-24%;
  border-radius:42% 58% 64% 36%;
  background:conic-gradient(from 210deg,rgba(147,213,0,.18),rgba(53,174,157,.05),rgba(238,177,47,.13),rgba(147,213,0,.18));
  filter:blur(22px);
  opacity:.85;
  z-index:-1;
  transform:rotate(-14deg);
}
.home-brand-panel::after{
  content:"";
  position:absolute;
  width:58%;
  aspect-ratio:1;
  right:-20%;
  bottom:-22%;
  border-radius:58% 42% 38% 62%;
  background:radial-gradient(circle at 40% 40%,rgba(242,187,49,.22),rgba(147,213,0,.07) 45%,transparent 68%);
  filter:blur(16px);
  z-index:-1;
}
.home-logo{
  position:relative;
  z-index:1;
  filter:drop-shadow(0 20px 36px rgba(0,0,0,.38)) drop-shadow(0 0 22px rgba(147,213,0,.08));
}
.home-promotions-panel{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-color:#8f7930;
  background:
    radial-gradient(circle at 93% 4%,rgba(255,210,64,.24),transparent 28%),
    radial-gradient(circle at 8% 88%,rgba(44,170,155,.18),transparent 30%),
    linear-gradient(150deg,#403617 0%,#243020 45%,#141b18 100%);
  box-shadow:
    0 28px 70px rgba(0,0,0,.38),
    0 0 38px rgba(239,179,48,.06),
    inset 0 0 0 1px rgba(255,221,103,.08);
}
.home-promotions-panel::after{
  content:"";
  position:absolute;
  width:320px;
  height:320px;
  right:-170px;
  bottom:-190px;
  border:28px solid rgba(59,177,157,.11);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(147,213,0,.045),0 0 0 64px rgba(244,188,49,.035);
  pointer-events:none;
}
.home-promotions-head h2{
  width:auto;
  max-width:100%;
  text-align:center;
  font-size:clamp(2.02rem,3.1vw,2.5rem);
  font-weight:950;
  letter-spacing:.08em;
  text-transform:none;
  line-height:1.05;
  text-shadow:0 10px 24px rgba(0,0,0,.26);
}
.home-offers-list{gap:12px}
.home-offer-link,.home-offer-card{
  min-height:88px;
  grid-template-columns:62px minmax(0,1fr) 66px;
  gap:14px;
  padding:14px 15px;
  border-radius:14px;
  box-shadow:inset 4px 0 0 rgba(147,213,0,.72),0 8px 24px rgba(0,0,0,.12);
}
.home-offer-card{grid-template-columns:62px minmax(0,1fr)}
.home-offer-link::before,.home-offer-card::before{
  width:50px;
  height:50px;
  justify-self:center;
  align-self:center;
  border-radius:16px;
  font-size:1.18rem;
  font-weight:950;
  box-shadow:0 8px 18px rgba(0,0,0,.25),0 0 0 3px rgba(255,255,255,.045);
}
.home-offer-link::after{
  width:56px;
  height:56px;
  justify-self:center;
  align-self:center;
  border-radius:18px;
  font-size:2.6rem;
  line-height:.8;
  transform:none;
}
.home-offer-link:hover::after,.home-offer-link:focus-visible::after{
  transform:translateX(3px) scale(1.05);
}
.home-offers-list li:nth-child(1) .home-offer-link::before{background:linear-gradient(145deg,#c9ff54,#83c600)}
.home-offers-list li:nth-child(2) .home-offer-link::before{background:linear-gradient(145deg,#ffe36f,#d99b11)}
.home-offers-list li:nth-child(3) .home-offer-link::before{background:linear-gradient(145deg,#7ee4cd,#2ba994)}
.home-offers-list li:nth-child(4) .home-offer-link::before{background:linear-gradient(145deg,#ffc760,#d87922)}
.home-offers-list li:nth-child(5) .home-offer-link::before{background:linear-gradient(145deg,#c6ef73,#6da238)}
.home-offers-list li:nth-child(6) .home-offer-link::before{background:linear-gradient(145deg,#78d8d0,#298e88)}
.home-offers-list li:nth-child(7) .home-offer-link::before{background:linear-gradient(145deg,#f0d16a,#a58728)}
.home-offers-list li:nth-child(8) .home-offer-link::before{background:linear-gradient(145deg,#d7ff66,#79bd28)}
.home-offers-list li:nth-child(2) .home-offer-link,
.home-offers-list li:nth-child(5) .home-offer-link,
.home-offers-list li:nth-child(8) .home-offer-link{background:linear-gradient(90deg,rgba(226,165,35,.14),rgba(147,213,0,.035));box-shadow:inset 4px 0 0 #d79d24}
.home-offers-list li:nth-child(3) .home-offer-link,
.home-offers-list li:nth-child(6) .home-offer-link{background:linear-gradient(90deg,rgba(46,174,157,.14),rgba(147,213,0,.035));box-shadow:inset 4px 0 0 #36aa9b}
.home-offer-link span,.home-offer-card>span{font-size:1.16rem;font-weight:820;letter-spacing:-.01em}
.home-offer-copisteria span{display:grid;gap:4px}
.home-offer-copisteria span strong{font-size:1.1em;color:#fff}
.home-offer-copisteria span small{color:#d9e4df;font-size:.72em;font-weight:720;line-height:1.25;letter-spacing:0}
.home-other-services-link{position:relative;z-index:1;min-height:44px;margin-top:12px;padding:10px 13px;display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;border:1px solid rgba(255,255,255,.16);border-radius:11px;background:rgba(7,15,12,.34);color:#d7e2dc;font-size:.86rem;font-weight:700;text-align:center;text-decoration:none}
.home-other-services-link strong{color:#dfff86;font-weight:900}
.home-other-services-link:hover,.home-other-services-link:focus-visible{border-color:#91d733;background:rgba(147,213,0,.08);outline:none}

/* Navegación contextual */
.view-backbar{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin:0 0 22px;
}
.view-back-link{
  min-height:44px;
  padding:9px 13px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:1px solid #51615a;
  border-radius:10px;
  background:#17201c;
  color:#eef4f1;
  font-weight:800;
  text-decoration:none;
}
.view-back-link:hover,.view-back-link:focus-visible{
  border-color:var(--green);
  color:var(--green-soft);
  outline:none;
}

/* Copistería: tres fases visualmente independientes */
.calculator-form{
  display:grid;
  gap:16px;
}
.calculator-block,
.calculator-block + .calculator-block{
  margin:0;
  padding:20px;
  border:1px solid #496156;
  border-radius:15px;
}
.calculator-form>.calculator-block:nth-child(1){
  background:linear-gradient(145deg,#193a26,#10251a);
  border-color:#4f7a5c;
  box-shadow:inset 5px 0 0 #7fc43b;
}
.calculator-form>.calculator-block:nth-child(2){
  background:linear-gradient(145deg,#16383b,#102629);
  border-color:#4d7f80;
  box-shadow:inset 5px 0 0 #36af9e;
}
.calculator-form>.calculator-block:nth-child(3){
  background:linear-gradient(145deg,#413719,#282512);
  border-color:#907b37;
  box-shadow:inset 5px 0 0 #e0a82e;
}
.calculator-block h4{
  margin:0 0 17px;
  font-size:clamp(1.28rem,2vw,1.55rem);
  line-height:1.15;
  color:#fff;
  letter-spacing:-.015em;
}
.calculator-form>.calculator-block:nth-child(1) h4{color:#dfff9a}
.calculator-form>.calculator-block:nth-child(2) h4{color:#9cf4e7}
.calculator-form>.calculator-block:nth-child(3) h4{color:#ffe28c}
.tariff-pill strong{font-size:1.12rem}
.tariff-pill.tariff-standard{background:linear-gradient(145deg,#173723,#11271a)}
.tariff-pill.tariff-volume{background:linear-gradient(145deg,#416d18,#294c0e);border-color:#7cab38}
.tariff-pill.color-rate{background:linear-gradient(145deg,#624f15,#43350f);border-color:#b48c20}

@media(max-width:620px){
  .home-offer-link,.home-offer-card{grid-template-columns:52px minmax(0,1fr) 54px;gap:9px;padding:12px}
  .home-offer-card{grid-template-columns:52px minmax(0,1fr)}
  .home-offer-link::before,.home-offer-card::before{width:43px;height:43px;border-radius:13px;font-size:1rem}
  .home-offer-link::after{width:48px;height:48px;border-radius:14px;font-size:2.25rem}
  .home-offer-link span,.home-offer-card>span{font-size:1.04rem}
  .home-other-services-link{font-size:.81rem;padding:9px 10px}
  .calculator-block,.calculator-block + .calculator-block{padding:17px 15px}
}


/* INVENSUR V29 */
.home-brand-panel{
  align-content:start;
  grid-template-rows:auto auto auto;
}
.home-impact-card{
  width:min(100%, 420px);
  margin-top:6px;
  padding:15px 16px 14px;
  border-radius:16px;
  border:1px solid rgba(255,224,116,.34);
  background:
    linear-gradient(145deg,rgba(250,191,58,.16),rgba(53,173,157,.12)),
    rgba(11,16,14,.72);
  box-shadow:
    0 18px 38px rgba(0,0,0,.25),
    inset 0 0 0 1px rgba(255,255,255,.03);
}
.home-impact-card strong{
  display:block;
  margin-bottom:10px;
  color:#fff2b4;
  font-size:1rem;
  line-height:1.32;
}
.home-impact-points{
  display:grid;
  gap:8px;
}
.home-impact-points span{
  display:flex;
  align-items:center;
  gap:8px;
  color:#eef4f0;
  font-weight:700;
  font-size:.95rem;
}
.home-impact-points span::before{
  content:"•";
  color:#95db28;
  font-size:1.2rem;
  line-height:1;
}
.home-offer-link,.home-offer-card{
  align-items:center;
}
.home-offer-link::after{
  justify-self:end;
  align-self:center;
  margin-right:1px;
}
.home-offer-link::before,.home-offer-card::before{
  justify-self:center;
  align-self:center;
}
.home-offer-link span,.home-offer-card>span{
  align-self:center;
}
@media(max-width:620px){
  .home-impact-card{padding:13px 13px 12px}
  .home-impact-card strong{font-size:.96rem}
  .home-impact-points span{font-size:.9rem}
}


/* INVENSUR V30 · correcciones finales */
.home-brand-panel{
  overflow:hidden;
}
.home-impact-card{
  position:relative;
  z-index:2;
}

/* Flechas: posición matemática, no dependiente del contenido */
.home-offer-link{
  position:relative;
  grid-template-columns:62px minmax(0,1fr) !important;
  padding-right:88px !important;
}
.home-offer-link::after{
  position:absolute !important;
  right:14px !important;
  top:50% !important;
  margin:0 !important;
  transform:translateY(-50%) !important;
}
.home-offer-link:hover::after,
.home-offer-link:focus-visible::after{
  transform:translateY(-50%) translateX(3px) scale(1.05) !important;
}
@media(max-width:620px){
  .home-offer-link{
    grid-template-columns:52px minmax(0,1fr) !important;
    padding-right:70px !important;
  }
  .home-offer-link::after{
    right:11px !important;
  }
}

/* INVENSUR V36 · jerarquía visual de servicios */
.home-offer-link span,.home-offer-card>span{
  font-size:clamp(1.28rem,1.52vw,1.48rem) !important;
  font-weight:860 !important;
  line-height:1.22 !important;
  letter-spacing:-.018em !important;
}
.home-offer-copisteria{
  min-height:104px;
}
.home-offer-copisteria span{
  display:grid;
  gap:3px;
  align-content:center;
}
.home-offer-copisteria span strong{
  color:#fff;
  font-size:1.08em;
  font-weight:950;
  line-height:1.08;
}
.home-copisteria-promo{
  display:block;
  margin-top:2px;
  color:#dfff57;
  font-size:.91em;
  font-weight:950;
  line-height:1.15;
  letter-spacing:.012em;
}
.home-offer-copisteria span small{
  color:#fff3b0;
  font-size:.67em;
  font-weight:800;
  line-height:1.2;
  letter-spacing:0;
}
.home-offer-link::before{
  font-size:1.28rem;
}
@media(max-width:980px){
  .home-offer-link span,.home-offer-card>span{
    font-size:1.22rem !important;
  }
  .home-offer-copisteria{min-height:100px}
}
@media(max-width:620px){
  .home-offer-link span,.home-offer-card>span{
    font-size:1.08rem !important;
    line-height:1.22 !important;
  }
  .home-offer-copisteria{min-height:96px}
  .home-copisteria-promo{font-size:.88em}
  .home-offer-copisteria span small{font-size:.69em}
}


/* INVENSUR V31 */
.home-left-stack{
  min-width:0;
  display:grid;
  gap:18px;
  align-content:start;
}
@media(min-width:861px){
  .home-layout{align-items:stretch}
  .home-left-stack{
    height:100%;
    grid-template-rows:auto 1fr;
  }
  .home-brand-panel{
    aspect-ratio:1/1 !important;
    height:auto !important;
    min-height:0 !important;
    align-content:center !important;
  }
  .home-file-panel{
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
  }
}
.home-file-panel{
  position:relative;
  overflow:hidden;
  padding:20px 21px;
  border:1px solid #497469;
  border-radius:18px;
  background:radial-gradient(circle at 96% 0%,rgba(241,184,47,.16),transparent 30%),linear-gradient(145deg,#173b38,#112421 55%,#151b18);
  box-shadow:0 20px 46px rgba(0,0,0,.28),inset 5px 0 0 #36ad9d;
}
.home-file-panel::after{
  content:"";
  position:absolute;
  width:190px;height:190px;
  right:-105px;bottom:-120px;
  border:20px solid rgba(147,213,0,.08);
  border-radius:50%;
  box-shadow:0 0 0 24px rgba(230,171,43,.04);
  pointer-events:none;
}
.home-file-kicker{
  display:inline-block;margin-bottom:8px;color:#9cf0e5;font-size:.82rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;
}
.home-file-panel h2{max-width:520px;margin:0 0 10px;color:#fff;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.16}
.home-file-panel p{margin:0;color:#d9e4df;line-height:1.55}
.home-file-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
.home-file-tags span{padding:6px 9px;border:1px solid #50675d;border-radius:999px;background:#101a16;color:#e7efeb;font-size:.78rem;font-weight:800}
.home-filament-prices{display:grid;gap:10px;margin:8px 0 14px}
.home-filament-price-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #50675d;border-radius:14px;background:rgba(16,26,22,.72)}
.home-filament-price-item strong{color:#fff;font-size:.98rem;line-height:1.25}
.home-filament-price-item span{color:#ffe25e;font-weight:900;font-size:1.02rem;white-space:nowrap}
.home-filament-note{margin:0;color:#d9e4df;line-height:1.55}
.home-file-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.home-file-actions .button{padding:12px 16px}
.home-offer-filament small{display:block;margin-top:5px;color:#cbd7d2;font-size:.78rem;font-weight:650;line-height:1.35}
@media(min-width:861px){
  .home-offers-list{gap:9px}
  .home-offer-link{min-height:68px;padding:12px 16px}
  .home-offer-copisteria{min-height:91px}
}
@media(max-width:680px){
  .home-promotions-head{margin-bottom:18px}
  .home-promotions-head h2{padding:10px 16px;font-size:clamp(1.62rem,6.2vw,2.02rem);letter-spacing:.05em}
}
.home-impact-card{display:none!important}


.file-requirement-box{
  margin-top:10px;padding:11px 12px;border:1px solid #596b62;border-radius:10px;background:#121a17;
}
.file-requirement-box.required{border-color:#a6722b;background:#2a2111}
.file-requirement-box strong{display:block;margin-bottom:5px;color:#fff}
.file-requirement-box p{margin:0;color:#d3dcd7;font-size:.86rem;line-height:1.48}


/* DEMO PORTADA · 3 productos destacados */
.home-product-showcase{
  margin-top:24px;
  padding:22px;
  border:1px solid rgba(147,213,0,.32);
  border-radius:22px;
  background:linear-gradient(160deg,rgba(23,31,28,.98),rgba(12,16,15,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.22),inset 0 0 0 1px rgba(147,213,0,.05);
}
.home-product-showcase-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.home-product-showcase-head h2{margin:0;color:#fff;font-size:clamp(1.45rem,2.3vw,1.9rem);font-weight:900;}
.home-product-showcase-head p{margin:0;color:#aebbb5;font-size:.92rem;line-height:1.4;text-align:right;}
.home-product-showcase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.home-product-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:#111716;
  color:#fff;
  text-decoration:none;
  box-shadow:0 12px 28px rgba(0,0,0,.24);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.home-product-card:hover,.home-product-card:focus-visible{transform:translateY(-2px);border-color:#b8ef4d;box-shadow:0 16px 34px rgba(0,0,0,.30);outline:none;}
.home-product-card img,.home-product-card video{width:100%;aspect-ratio:4/3;display:block;object-fit:cover;background:#0c1110;}
.home-product-card video{object-fit:contain;}
.home-product-card-copy{padding:13px 14px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.home-product-card-copy strong{font-size:1rem;line-height:1.3;}
.home-product-card-copy span{width:30px;height:30px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:#a8e329;color:#111;font-size:1.35rem;font-weight:900;}
.home-product-card:nth-child(2) .home-product-card-copy span{background:#ffd64a;}
.home-product-card:nth-child(3) .home-product-card-copy span{background:#70dfcf;}
@media(max-width:760px){
  .home-product-showcase{padding:16px;}
  .home-product-showcase-head{display:block;}
  .home-product-showcase-head p{margin-top:5px;text-align:left;}
  .home-product-showcase-grid{grid-template-columns:1fr;}
  .home-product-card{display:grid;grid-template-columns:minmax(120px,42%) 1fr;align-items:stretch;}
  .home-product-card img,.home-product-card video{height:100%;aspect-ratio:auto;min-height:120px;}
  .home-product-card video{object-fit:contain;}
  .home-product-card-copy{align-content:center;}
}


.copisteria-visuals{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin:18px 0 6px}
.copisteria-visual-card{background:rgba(0,0,0,.18);border:1px solid rgba(186,255,0,.18);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:10px}
.copisteria-visual-card img{width:100%;display:block;border-radius:14px;object-fit:cover;box-shadow:0 14px 32px rgba(0,0,0,.25)}
.copisteria-visual-card strong{font-size:1rem;color:#f3f8ef}
.copisteria-visual-card span{font-size:.94rem;color:#d7e5d2;line-height:1.45}
.binding-visual{margin:8px 0 16px;background:rgba(0,0,0,.18);border:1px solid rgba(186,255,0,.18);border-radius:18px;padding:12px}
.binding-visual img{width:100%;display:block;border-radius:12px;object-fit:cover;box-shadow:0 14px 32px rgba(0,0,0,.22)}
.binding-visual p{margin:10px 6px 0;color:#dce9d8;font-size:.94rem;line-height:1.45}
.budget-tax-note{margin:10px 0 0;font-size:.92rem;color:#d9e4d2;line-height:1.45}
@media (max-width:900px){.copisteria-visuals{grid-template-columns:1fr}.copisteria-visual-card{padding:12px}}

.binding-cost-summary{margin-top:2px;padding:14px 16px;border:1px solid rgba(166,255,0,.42);border-radius:14px;background:rgba(126,185,0,.10);display:grid;gap:5px}
.binding-cost-summary .binding-cost-title{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#bce969;font-weight:800}
.binding-cost-summary strong{font-size:1.05rem;color:#f4f8f0}
.binding-cost-summary small{font-size:.92rem;color:#d7e3d2;line-height:1.45}
.binding-cost-summary.is-none{border-color:#35443d;background:rgba(255,255,255,.025)}
.binding-cost-summary.is-error{border-color:#e06d59;background:rgba(224,109,89,.10)}
.quote-line .binding-line-value{font-weight:800;text-align:right;max-width:70%;line-height:1.35}



/* INVENSUR V60 · Copistería agrupada y portada más profesional */
.home-promotions-panel{
  padding:26px 24px;
  border-color:#5a6a63 !important;
  background:
    radial-gradient(circle at 92% 6%,rgba(147,213,0,.10),transparent 26%),
    linear-gradient(180deg,#18211d 0%,#111715 100%) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.03) !important;
}
.home-promotions-head{justify-content:flex-start !important;margin-bottom:18px !important;text-align:left !important;}
.home-promotions-head h2{
  padding:0 !important;
  border:none !important;
  background:none !important;
  box-shadow:none !important;
  color:#ffffff !important;
  font-size:clamp(1.78rem,2.4vw,2.18rem) !important;
  letter-spacing:-.02em !important;
}
.home-offers-list{list-style:none !important;counter-reset:none !important;gap:12px !important;}
.home-offers-list li{counter-increment:none !important;}
.home-offer-link,.home-offer-card{
  position:relative;
  min-height:92px;
  grid-template-columns:minmax(0,1fr) !important;
  gap:0 !important;
  padding:17px 72px 17px 18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)) !important;
  box-shadow:inset 4px 0 0 rgba(147,213,0,.78), 0 10px 24px rgba(0,0,0,.12) !important;
  transform:none !important;
}
.home-offers-list li:nth-child(even)>.home-offer-link{background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.015)) !important;}
.home-offer-link::before,.home-offer-card::before{content:none !important;display:none !important;}
.home-offer-link::after{
  content:"›";
  width:42px !important;
  height:42px !important;
  right:18px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:rgba(255,255,255,.04) !important;
  color:#f5f8f6 !important;
  font-size:1.7rem !important;
  box-shadow:none !important;
}
.home-offer-link:hover,.home-offer-link:focus-visible{border-color:rgba(198,255,103,.34) !important;background:linear-gradient(180deg,rgba(147,213,0,.08),rgba(255,255,255,.03)) !important;}
.home-offer-link:hover::after,.home-offer-link:focus-visible::after{transform:translateY(-50%) translateX(2px) !important;box-shadow:none !important;background:rgba(147,213,0,.12) !important;color:#ffffff !important;}
.home-offer-link span,.home-offer-card>span{display:grid;gap:5px;font-size:inherit !important;}
.home-offer-link span strong,.home-offer-card>span strong{display:block;color:#ffffff;font-size:clamp(1.12rem,1.46vw,1.3rem);font-weight:900;line-height:1.12;letter-spacing:-.015em;}
.home-offer-link span small,.home-offer-card>span small{display:block;color:#d6dfda;font-size:.84rem;font-weight:700;line-height:1.35;letter-spacing:0;}
.home-offer-copisteria{min-height:108px !important;}
.home-copisteria-promo{display:block;margin:1px 0 0;color:#dfff6a;font-size:.82rem;font-weight:900;line-height:1.15;letter-spacing:.025em;text-transform:uppercase;}
.home-offer-copisteria span small{color:#f1efca;font-size:.82rem !important;font-weight:760;}
.home-offers-list li:nth-child(1)>.home-offer-link{box-shadow:inset 4px 0 0 #94d500, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(2)>.home-offer-link{box-shadow:inset 4px 0 0 #4eb4ff, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(3)>.home-offer-link{box-shadow:inset 4px 0 0 #36cbb1, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(4)>.home-offer-link{box-shadow:inset 4px 0 0 #f2b24b, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(5)>.home-offer-link{box-shadow:inset 4px 0 0 #d7d36b, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(6)>.home-offer-link{box-shadow:inset 4px 0 0 #d77bc6, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(7)>.home-offer-link{box-shadow:inset 4px 0 0 #6ad3c9, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(8)>.home-offer-link{box-shadow:inset 4px 0 0 #9aa9a4, 0 10px 24px rgba(0,0,0,.12) !important;}
.home-other-services-link{margin-top:14px !important;border-radius:14px !important;background:rgba(255,255,255,.03) !important;border-color:rgba(255,255,255,.12) !important;}

.copisteria-pricing-note{margin:14px 0 0;color:#dbe6df;font-weight:760;line-height:1.5;}
.copisteria-rate-groups{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:18px;}
.copisteria-rate-group{position:relative;overflow:hidden;padding:20px 21px;border:1px solid #497469;border-radius:18px;box-shadow:0 20px 46px rgba(0,0,0,.20);}
.copisteria-rate-group::after{content:"";position:absolute;width:170px;height:170px;right:-100px;bottom:-110px;border:18px solid rgba(147,213,0,.06);border-radius:50%;pointer-events:none;}
.copisteria-rate-group-bw{background:radial-gradient(circle at 96% 0%,rgba(147,213,0,.14),transparent 30%),linear-gradient(145deg,#173b38,#112421 55%,#151b18);border-color:#497469;box-shadow:0 20px 46px rgba(0,0,0,.28), inset 5px 0 0 #36ad9d;}
.copisteria-rate-group-color{background:radial-gradient(circle at 96% 0%,rgba(241,184,47,.16),transparent 30%),linear-gradient(145deg,#4c3610,#291d0f 55%,#191513);border-color:#876329;box-shadow:0 20px 46px rgba(0,0,0,.28), inset 5px 0 0 #e0a82e;}
.copisteria-rate-kicker{display:inline-block;margin-bottom:8px;color:#9cf0e5;font-size:.82rem;font-weight:900;letter-spacing:.055em;text-transform:uppercase;}
.copisteria-rate-group-color .copisteria-rate-kicker{color:#ffe5a1;}
.copisteria-rate-group h4{margin:0 0 12px;color:#fff;font-size:clamp(1.3rem,2vw,1.65rem);line-height:1.16;}
.copisteria-rate-list{display:grid;gap:10px;}
.copisteria-rate-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #50675d;border-radius:14px;background:rgba(16,26,22,.72);}
.copisteria-rate-group-color .copisteria-rate-row{border-color:#74603e;background:rgba(34,24,15,.72);}
.copisteria-rate-row strong{display:block;color:#fff;font-size:.98rem;line-height:1.22;}
.copisteria-rate-row small{display:block;margin-top:2px;color:#d9e4df;font-size:.82rem;line-height:1.25;}
.copisteria-rate-group-color .copisteria-rate-row small{color:#f1debd;}
.copisteria-rate-row>span{color:#ffe25e;font-weight:900;font-size:1.02rem;white-space:nowrap;}
.copisteria-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;}
.copisteria-info-card{padding:16px 18px;border:1px solid rgba(255,255,255,.10);border-radius:16px;background:rgba(13,19,16,.62);}
.copisteria-info-card h4{margin:0 0 9px;color:#fff;font-size:1.08rem;}
.copisteria-info-card p{margin:0;color:#dce5e0;line-height:1.52;}
.copisteria-info-card p + p{margin-top:10px;}
.copisteria-info-card-highlight{border-color:rgba(147,213,0,.32);background:linear-gradient(145deg,rgba(147,213,0,.10),rgba(14,20,17,.72));}
.bulk-order-panel{margin:18px 22px 0;padding:18px 18px;border-radius:16px;}
.binding-intro{margin:0 0 16px;padding:12px 14px;border:1px solid rgba(186,255,0,.18);border-radius:14px;background:rgba(0,0,0,.18);color:#dce9d8;line-height:1.5;}
.binding-visual{display:none !important;}
.copisteria-visuals{display:none !important;}
.tariff-pills,.copisteria-minimum-note{display:none !important;}
@media(max-width:900px){.copisteria-rate-groups,.copisteria-info-grid{grid-template-columns:1fr;}}
@media(max-width:620px){
  .home-promotions-panel{padding:20px 16px !important;}
  .home-offer-link,.home-offer-card{min-height:86px;padding:14px 60px 14px 14px !important;border-radius:14px !important;}
  .home-offer-link::after{right:14px !important;width:38px !important;height:38px !important;border-radius:11px !important;font-size:1.5rem !important;}
  .home-offer-link span strong,.home-offer-card>span strong{font-size:1.02rem;}
  .home-offer-link span small,.home-offer-card>span small,.home-offer-copisteria span small{font-size:.78rem !important;}
  .home-copisteria-promo{font-size:.76rem;}
  .copisteria-rate-group,.copisteria-info-card{padding:16px 14px;}
  .copisteria-rate-row{padding:11px 12px;gap:12px;}
  .copisteria-rate-row strong{font-size:.93rem;}
  .copisteria-rate-row small{font-size:.78rem;}
  .copisteria-rate-row>span{font-size:.96rem;}
}



/* INVENSUR V61 · Ajuste solicitado: servicios V59 sin números y tarifas simplificadas */
.home-promotions-panel{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  padding:24px !important;
  border-color:#8f7930 !important;
  background:
    radial-gradient(circle at 93% 4%,rgba(255,210,64,.24),transparent 28%),
    radial-gradient(circle at 8% 88%,rgba(44,170,155,.18),transparent 30%),
    linear-gradient(150deg,#403617 0%,#243020 45%,#141b18 100%) !important;
  box-shadow:0 28px 70px rgba(0,0,0,.38),0 0 38px rgba(239,179,48,.06),inset 0 0 0 1px rgba(255,221,103,.08) !important;
}
.home-promotions-head{display:flex !important;align-items:end !important;justify-content:center !important;gap:14px !important;margin-bottom:22px !important;text-align:center !important;}
.home-promotions-head h2{
  width:auto !important;max-width:100% !important;padding:12px 20px !important;
  border:1px solid rgba(202,255,81,.62) !important;border-radius:14px !important;
  background:linear-gradient(180deg,rgba(13,20,16,.55),rgba(13,20,16,.22)) !important;
  color:#fff !important;font-size:clamp(2.02rem,3.1vw,2.5rem) !important;font-weight:950 !important;
  letter-spacing:.08em !important;line-height:1.05 !important;text-align:center !important;
  box-shadow:0 10px 28px rgba(0,0,0,.18),inset 0 0 0 1px rgba(255,227,106,.08) !important;
  text-shadow:0 10px 24px rgba(0,0,0,.26) !important;
}
.home-offers-list{margin:0 !important;padding:0 !important;display:grid !important;gap:12px !important;list-style:none !important;counter-reset:none !important;}
.home-offers-list li{counter-increment:none !important;}
.home-offer-link,.home-offer-card{
  position:relative !important;min-height:88px !important;display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;gap:0 !important;
  padding:14px 82px 14px 18px !important;border:1px solid rgba(255,255,255,.18) !important;border-radius:14px !important;
  background:linear-gradient(90deg,rgba(147,213,0,.10),rgba(255,211,26,.035)) !important;
  color:#f7f9f5 !important;text-decoration:none !important;
  box-shadow:inset 4px 0 0 rgba(147,213,0,.72),0 8px 24px rgba(0,0,0,.12) !important;
  transition:transform .15s ease,border-color .15s ease,background .15s ease !important;
}
.home-offer-link::before,.home-offer-card::before{content:none !important;display:none !important;}
.home-offer-link::after{
  content:"›" !important;position:absolute !important;right:14px !important;top:50% !important;
  width:56px !important;height:56px !important;margin:0 !important;display:grid !important;place-items:center !important;
  border:1px solid #caff51 !important;border-radius:18px !important;background:linear-gradient(145deg,#d9ff5b,#93d500) !important;
  color:#101410 !important;font-size:2.6rem !important;font-weight:900 !important;line-height:.8 !important;
  box-shadow:0 8px 18px rgba(0,0,0,.25),0 0 0 3px rgba(255,255,255,.045) !important;
  transform:translateY(-50%) !important;
}
.home-offers-list li:nth-child(even)>.home-offer-link::after{border-color:#ffe36a !important;background:linear-gradient(145deg,#ffe878,#ffd31a) !important;}
.home-offers-list li:nth-child(2)>.home-offer-link,
.home-offers-list li:nth-child(5)>.home-offer-link,
.home-offers-list li:nth-child(8)>.home-offer-link{background:linear-gradient(90deg,rgba(226,165,35,.14),rgba(147,213,0,.035)) !important;box-shadow:inset 4px 0 0 #d79d24,0 8px 24px rgba(0,0,0,.12) !important;}
.home-offers-list li:nth-child(3)>.home-offer-link,
.home-offers-list li:nth-child(6)>.home-offer-link{background:linear-gradient(90deg,rgba(46,174,157,.14),rgba(147,213,0,.035)) !important;box-shadow:inset 4px 0 0 #36aa9b,0 8px 24px rgba(0,0,0,.12) !important;}
.home-offer-link:hover,.home-offer-card:hover{transform:translateY(-1px) !important;border-color:rgba(255,227,106,.72) !important;}
.home-offer-link:hover::after,.home-offer-link:focus-visible::after{transform:translateY(-50%) translateX(3px) scale(1.05) !important;}
.home-offer-link span,.home-offer-card>span{display:block !important;align-self:center !important;font-size:clamp(1.28rem,1.52vw,1.48rem) !important;font-weight:860 !important;line-height:1.22 !important;letter-spacing:-.018em !important;}
.home-offer-copisteria{min-height:104px !important;}
.home-offer-copisteria span{display:grid !important;gap:3px !important;align-content:center !important;}
.home-offer-copisteria span strong{color:#fff !important;font-size:1.08em !important;font-weight:950 !important;line-height:1.08 !important;}
.home-copisteria-promo{display:block !important;margin-top:2px !important;color:#dfff57 !important;font-size:.91em !important;font-weight:950 !important;line-height:1.15 !important;letter-spacing:.012em !important;text-transform:none !important;}
.home-offer-copisteria span small{display:block !important;color:#fff3b0 !important;font-size:.67em !important;font-weight:800 !important;line-height:1.2 !important;letter-spacing:0 !important;}

.copisteria-pricing-note{margin:12px 0 0 !important;color:#dce6e1 !important;font-weight:800 !important;}
.copisteria-rate-groups{display:grid !important;grid-template-columns:1fr 1fr !important;align-items:stretch !important;gap:18px !important;margin-top:18px !important;}
.copisteria-rate-group{height:100% !important;padding:22px 22px 20px !important;border-radius:18px !important;display:flex !important;flex-direction:column !important;}
.copisteria-rate-heading{min-height:74px !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;}
.copisteria-rate-kicker{margin:0 0 5px !important;font-size:.96rem !important;font-weight:950 !important;letter-spacing:.04em !important;}
.copisteria-rate-group h4{margin:0 !important;color:#fff !important;font-size:clamp(1.52rem,2.2vw,1.85rem) !important;font-weight:950 !important;line-height:1.08 !important;}
.copisteria-mode-list{display:grid !important;gap:13px !important;margin-top:14px !important;flex:1 !important;}
.copisteria-mode-block{padding:14px !important;border:1px solid #50675d !important;border-radius:14px !important;background:rgba(16,26,22,.72) !important;}
.copisteria-rate-group-color .copisteria-mode-block{border-color:#74603e !important;background:rgba(34,24,15,.72) !important;}
.copisteria-mode-block h5{margin:0 0 9px !important;color:#fff !important;font-size:1.05rem !important;font-weight:900 !important;line-height:1.2 !important;}
.copisteria-simple-rate{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:16px !important;padding:8px 2px !important;border-top:1px solid rgba(255,255,255,.08) !important;}
.copisteria-simple-rate:first-of-type{border-top:none !important;padding-top:2px !important;}
.copisteria-simple-rate span{color:#d9e4df !important;font-size:.92rem !important;font-weight:760 !important;}
.copisteria-rate-group-color .copisteria-simple-rate span{color:#f1debd !important;}
.copisteria-simple-rate strong{color:#ffe25e !important;font-size:1.04rem !important;font-weight:950 !important;white-space:nowrap !important;}

@media(max-width:900px){
  .copisteria-rate-groups{grid-template-columns:1fr !important;}
  .copisteria-rate-heading{min-height:0 !important;}
}
@media(max-width:620px){
  .home-offer-link,.home-offer-card{grid-template-columns:minmax(0,1fr) !important;padding:12px 66px 12px 14px !important;min-height:82px !important;}
  .home-offer-link::after{right:11px !important;width:48px !important;height:48px !important;border-radius:14px !important;font-size:2.25rem !important;}
  .home-offer-link span,.home-offer-card>span{font-size:1.08rem !important;line-height:1.22 !important;}
  .home-offer-copisteria{min-height:96px !important;}
  .home-copisteria-promo{font-size:.88em !important;}
  .home-offer-copisteria span small{font-size:.69em !important;}
  .copisteria-rate-group{padding:18px 15px !important;}
  .copisteria-mode-block{padding:12px !important;}
  .copisteria-simple-rate{gap:10px !important;}
  .copisteria-simple-rate span{font-size:.86rem !important;}
  .copisteria-simple-rate strong{font-size:.96rem !important;}
}


/* V62 · alineación fina de bloques */
.copisteria-rate-groups{align-items:stretch !important;grid-auto-rows:1fr !important;}
.copisteria-rate-groups > .copisteria-rate-group{margin:0 !important;align-self:stretch !important;min-height:340px !important;box-sizing:border-box !important;}
.copisteria-rate-group-bw,.copisteria-rate-group-color{top:auto !important;left:auto !important;right:auto !important;bottom:auto !important;transform:none !important;}
.copisteria-rate-heading{min-height:76px !important;}
.copisteria-mode-list{grid-template-rows:1fr 1fr !important;}
.copisteria-mode-block{min-height:114px !important;display:flex !important;flex-direction:column !important;justify-content:flex-start !important;box-sizing:border-box !important;}
.bulk-order-panel{width:calc(100% - 44px) !important;box-sizing:border-box !important;margin:18px 22px 0 !important;padding:18px 18px !important;align-self:stretch !important;}
.bulk-order-actions{display:flex !important;flex-wrap:wrap !important;gap:10px !important;align-items:center !important;}
.bulk-order-panel .button{justify-self:auto !important;}
@media(max-width:900px){.copisteria-rate-groups > .copisteria-rate-group{min-height:auto !important;}.bulk-order-panel{width:calc(100% - 32px) !important;margin:18px 16px 0 !important;}}
@media(max-width:620px){.copisteria-rate-heading{min-height:0 !important;}.copisteria-mode-block{min-height:auto !important;}.bulk-order-panel{width:calc(100% - 24px) !important;margin:16px 12px 0 !important;padding:16px 14px !important;}}


/* V63 · corrección del bloque de precios especiales */
.bulk-order-panel{width:auto !important;max-width:none !important;margin:18px 0 0 !important;padding:18px 18px !important;box-sizing:border-box !important;align-self:auto !important;}
.bulk-order-actions{display:flex !important;flex-wrap:wrap !important;gap:10px !important;align-items:center !important;}
.bulk-order-panel .button{justify-self:auto !important;}
@media(max-width:900px){.bulk-order-panel{width:auto !important;margin:18px 0 0 !important;}}
@media(max-width:620px){.bulk-order-panel{width:auto !important;margin:16px 0 0 !important;padding:16px 14px !important;}}


/* V64 · Corrección móvil del bloque "Tu presupuesto" */
@media (max-width: 700px) {
  .price-summary { padding: 18px 16px; }
  .summary-sticky { gap: 12px; }
  .summary-title { align-items: flex-start; }
  .quote-lines { border-radius: 12px; }
  .quote-line {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 6px !important;
    align-items: start !important;
    padding: 12px 12px !important;
  }
  .quote-line span {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }
  .quote-line span:last-child {
    justify-self: start !important;
    text-align: left !important;
    white-space: normal !important;
    max-width: 100% !important;
  }
  .quote-line .binding-line-value {
    max-width: 100% !important;
    text-align: left !important;
  }
  .quote-total {
    gap: 5px !important;
  }
  .quote-total strong {
    text-align: left !important;
    white-space: nowrap !important;
    font-size: clamp(1.9rem, 9vw, 2.45rem) !important;
  }
  .price-status,
  .orientative-note,
  .budget-add-help {
    overflow-wrap: normal !important;
    word-break: normal !important;
  }
}



/* ===== V97 original · v69-mejoras ===== */

  .seo-detail-actions{display:grid;gap:10px;margin-top:14px}.seo-detail-actions .button{min-height:52px}
  .pdf-counter-box{padding:16px;border:1px solid rgba(147,213,0,.45);border-radius:10px;background:rgba(147,213,0,.06)}
  .pdf-counter-status{margin:0;color:var(--green-soft);font-weight:700;line-height:1.45}.pdf-counter-status.is-error{color:var(--danger)}
  .stl-preview-panel{margin:14px 0 16px;padding:14px;border:1px solid var(--three-d-line);border-radius:12px;background:#102a2e}
  .stl-preview-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.stl-preview-head p{margin:5px 0 0;color:var(--muted);line-height:1.45}.stl-preview-badge{max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--green-soft);font-size:.88rem}
  .stl-preview-stage{width:100%;height:300px;border-radius:10px;overflow:hidden;background:linear-gradient(180deg,#172326,#0c1213);touch-action:none}.stl-preview-stage canvas{display:block;width:100%!important;height:100%!important}
  .accessibility-business{margin-top:18px;padding:20px;border:1px solid var(--green);border-radius:12px;background:rgba(147,213,0,.07)}.accessibility-business h3{margin:0 0 8px}.accessibility-business p{margin:0;color:var(--muted);line-height:1.65}
  @media(min-width:680px){.seo-detail-actions{grid-template-columns:1fr 1fr}.stl-preview-stage{height:360px}}


/* ===== V97 original · v75-legibilidad-movil ===== */

  /* INVENSUR V75 · Legibilidad móvil y portada compacta.
     Capa exclusivamente visual: no modifica contenido, precios ni funcionamiento. */
  @media (max-width: 760px) {
    /* Tamaño móvil acordado: 18 px. */
    html { font-size: 18px; }
    body { font-size: 1rem; line-height: 1.65; }

    /* Portada: menos altura sin perder presencia ni alterar su estructura. */
    .home-brand-panel {
      padding: 18px 16px 23px;
      gap: 14px;
    }
    .home-brand-meta { margin-top: -3px; line-height: 1.45; }
    .home-tagline { line-height: 1.14; }
    .home-promotions-panel { padding: 16px 14px !important; }
    .home-promotions-head { margin-bottom: 15px !important; }

    /* Textos auxiliares de portada y navegación. */
    .menu-toggle-label { font-size: .96rem; line-height: 1.2; }
    .nav-subtitle { font-size: .82rem; line-height: 1.25; }
    .site-nav a,
    .site-nav .nav-budget { font-size: 1rem; line-height: 1.35; }
    .home-offer-link span,
    .home-offer-card > span { line-height: 1.35 !important; }
    .home-offer-link span small,
    .home-offer-card > span small,
    .home-offer-copisteria span small { font-size: .84rem !important; line-height: 1.42 !important; }
    .home-copisteria-promo { font-size: .84rem !important; line-height: 1.35 !important; }
    .home-other-services-link { font-size: .92rem; line-height: 1.45; }
    .home-file-kicker,
    .copisteria-rate-kicker { font-size: .9rem !important; line-height: 1.35; }
    .home-file-panel p,
    .home-filament-note { line-height: 1.65; }
    .home-file-tags span { font-size: .88rem; line-height: 1.35; }
    .home-offer-filament small { font-size: .86rem; line-height: 1.5; }
    .home-product-showcase-head p { font-size: .98rem; line-height: 1.55; }
    .home-product-card-copy strong { font-size: 1.04rem; line-height: 1.42; }

    /* Ayudas, notas y textos secundarios de servicios y calculadora. */
    .offer-kicker { font-size: .88rem; line-height: 1.4; }
    .offer-price span,
    .offer-condition,
    .offer-price-note,
    .calculator-badge,
    .calculator-help,
    .selected-file-name,
    .selected-files-summary,
    .r2-upload-status,
    .price-status,
    .orientative-note,
    .spiral-recommendation,
    .budget-add-help,
    .file-requirement-box p,
    .budget-tax-note { font-size: .95rem; line-height: 1.6; }
    .selected-file-remove,
    .budget-toast-actions button,
    .home-offer-action { font-size: .92rem; line-height: 1.4; }
    .tariff-pill span,
    .copisteria-rate-row small,
    .copisteria-simple-rate span { font-size: .9rem !important; line-height: 1.5 !important; }
    .calc-first-order-control small,
    .budget-first-order-control small,
    .budget-first-order-status,
    .budget-cart-status,
    .budget-cart-clear,
    .budget-cart-edit-hint { font-size: .88rem; line-height: 1.5; }
    .vat-badge { font-size: .86rem; line-height: 1.25; }
    .budget-cart-list-head span,
    .budget-cart-item-price.pending,
    .budget-cart-quantity { font-size: .92rem; line-height: 1.5; }
    .budget-cart-item-option,
    .budget-request-summary p,
    .budget-request-warning { line-height: 1.62; }

    /* Formularios, privacidad, avisos y pie. */
    .help,
    .legal,
    .choice label,
    .legal-content,
    .success { font-size: 1rem; line-height: 1.65; }
    .privacy-summary p { font-size: .96rem; line-height: 1.62; }
    .privacy-summary-note { font-size: .9rem !important; line-height: 1.58 !important; }
    .photo-credit { font-size: .9rem; line-height: 1.6; }
    .accessible-line { line-height: 1.55; }
    footer { font-size: 1rem; line-height: 1.6; }

    /* Elementos incorporados en V69/V70. */
    .stl-preview-badge { font-size: .94rem; line-height: 1.4; }
    .stl-preview-head p,
    .pdf-counter-status,
    .accessibility-business p { line-height: 1.65; }
  }

  @media (max-width: 420px) {
    .app-main { padding-left: 14px; padding-right: 14px; }
    .home-brand-panel { padding: 16px 14px 21px; gap: 12px; }
  }


/* ===== V97 original · v75-stock-filamentos ===== */

  .filament-stock-summary{margin:14px 0 10px;padding:12px 14px;border:1px solid rgba(147,213,0,.45);border-radius:10px;background:rgba(147,213,0,.07);line-height:1.5}
  .filament-stock-catalog{display:grid;gap:8px;margin:12px 0 16px;text-align:left}
  .filament-stock-group{border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(0,0,0,.14);overflow:hidden}
  .filament-stock-group summary{padding:11px 13px;cursor:pointer;font-weight:800;color:var(--green-soft)}
  .filament-stock-list{display:grid;gap:1px;margin:0;padding:0;list-style:none;background:rgba(255,255,255,.08)}
  .filament-stock-row{display:grid;grid-template-columns:20px 1fr auto;gap:9px;align-items:center;width:100%;padding:11px 12px;border:0;background:#102a2e;color:inherit;font:inherit;text-align:left;cursor:pointer}
  .filament-stock-row:hover,.filament-stock-row:focus-visible{background:#173b31;outline:2px solid var(--green);outline-offset:-2px}
  .filament-stock-row:disabled{cursor:not-allowed;opacity:.62}
  .filament-swatch{width:18px;height:18px;border:1px solid rgba(255,255,255,.45);border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
  .filament-stock-name{display:grid;gap:2px;line-height:1.35}.filament-stock-reference{color:#b8c3be;font-size:.86rem}.filament-stock-count{font-weight:800;color:var(--green-soft);white-space:nowrap}
  .filament-stock-count.is-last{color:#ffd66b}.filament-stock-count.is-out{color:#ff9c9c}
  .filament-form-stock{margin:0;padding:10px 12px;border-radius:8px;background:rgba(147,213,0,.08);line-height:1.5}.filament-form-stock.is-last{color:#ffd66b}.filament-form-stock.is-out{color:#ff9c9c}
  .filament-selection-fields{display:none!important}
  .filament-selected-product{margin:0;padding:14px;border:1px solid rgba(147,213,0,.45);border-radius:10px;background:rgba(147,213,0,.08);color:#f4f8f5;font-weight:780;line-height:1.55}
  @media(max-width:480px){.filament-stock-row{grid-template-columns:20px 1fr}.filament-stock-count{grid-column:2}.filament-stock-group summary{line-height:1.4}}
    /* V89 · croquis, visita, selectores de producto y revisión del presupuesto */
    /* V90 · filamentos: fotos compactas Bambu/Smartfil y precio Smartfil actualizado */
    /* V91 · selector QR/NFC solo en configuración, resumen simplificado y refill a 14,00 € IVA incluido */
    /* V92 · fotos de filamento sustituidas por logotipos Bambu Lab / Smartfil en tamaño intermedio */
    .promo-design-guide{padding:14px 16px;border:1px solid #52634f;border-left:4px solid var(--green);border-radius:10px;background:#151c18;color:#d7dfdb;line-height:1.55}
    .promo-design-guide strong{color:#f5f7f6}.promo-design-guide p{margin:.35rem 0 0}
    .promo-visit{padding:14px 16px;border:1px solid #405b52;border-radius:10px;background:#111a17}
    .promo-visit .help{margin-bottom:0}
    .promo-type-field{padding:14px;border:1px solid rgba(147,213,0,.45);border-radius:10px;background:rgba(147,213,0,.06)}
    .offer-price-selector{display:grid;gap:9px;margin:14px 0 16px;padding:14px;border:1px solid #405048;border-radius:10px;background:#111715}
    .offer-price-selector label{font-weight:850;color:#f5f7f6}.offer-price-selector select{width:100%;min-height:48px;padding:10px 12px;border:1px solid #526058;border-radius:8px;background:#0d1210;color:#f5f7f6;font:inherit}
    .offer-price-panel[hidden]{display:none!important}.offer-price-panel{margin-top:4px}
    .budget-request-summary{gap:14px}
    .budget-request-item{padding:15px;border:1px solid #415048;border-radius:11px;background:#101613;display:grid;gap:8px}
    .budget-request-item h4{margin:0;color:#f5f7f6;font-size:1.03rem}.budget-request-item p{margin:0;color:#d7dfdb;line-height:1.45}
    .budget-request-item .budget-request-item-details{color:#bfcac4}
    .budget-request-item .budget-request-item-price{margin-top:5px;padding:11px 12px;border:1px solid rgba(147,213,0,.65);border-radius:8px;background:#213725;color:#e9ffc2;font-size:1.02rem;font-weight:900}
    .budget-request-totals{padding:15px;border:1px solid #52634f;border-radius:11px;background:#151c18;display:grid;gap:7px}.budget-request-totals p{margin:0}
    .budget-request-grand-total{margin-top:6px!important;padding:13px 14px;border-radius:9px;background:var(--green);color:#111!important;font-size:1.12rem;font-weight:950}


/* INVENSUR · actualización conjunta V97-LIMPIA */
.support-pricing-overview .help { margin: 9px 0 0; color: var(--muted); font-size: .9rem; }
.support-simulator-panel { margin-top: 6px; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(0,0,0,.16); }
.support-simulator-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:10px; }
.support-simulator-head strong { display:block; font-size:1.05rem; }
.support-simulator-head .help { margin:4px 0 0; }
.support-simulator-badge { flex:0 0 auto; padding:6px 9px; border:1px solid rgba(147,213,0,.4); border-radius:999px; color:var(--green-soft); font-size:.82rem; font-weight:800; }
.support-simulator-stage { width:100%; min-height:330px; border:1px solid rgba(255,255,255,.12); border-radius:12px; overflow:hidden; background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.08),rgba(0,0,0,.22) 55%,rgba(0,0,0,.42)); touch-action:none; cursor:grab; }
.support-simulator-stage:active { cursor:grabbing; }
.support-simulator-stage canvas { width:100% !important; height:auto !important; display:block; }
.support-design-card { display:grid; gap:14px; padding:16px; border:1px solid rgba(147,213,0,.34); border-radius:14px; background:rgba(147,213,0,.055); }
.support-design-heading strong { display:block; font-size:1.08rem; }
.support-design-heading .help { margin:5px 0 0; }
.support-sheet-card { display:grid; gap:12px; padding:15px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:rgba(0,0,0,.18); }
.support-sheet-card h4 { margin:0; color:var(--green-soft); font-size:1rem; }
.support-hidden,
.support-design-card [hidden],
.support-fixed-sheet[hidden],
#support-qr-color-note[hidden],
#promo-details-field[hidden] { display:none !important; }
.support-sheet-template-note { padding:12px 14px; border-left:4px solid #4285f4; border-radius:9px; background:rgba(66,133,244,.09); }
.support-sheet-template-note p { margin:.35rem 0 0; color:var(--muted); line-height:1.5; }
.support-sheet-custom { padding:13px; border:1px solid rgba(255,255,255,.1); border-radius:10px; background:rgba(255,255,255,.025); }
.support-logo-preview { margin-top:10px; padding:10px 12px; display:flex; align-items:center; gap:12px; border:1px solid rgba(147,213,0,.3); border-radius:10px; background:rgba(147,213,0,.06); }
.support-logo-preview[hidden] { display:none; }
.support-logo-preview img { width:72px; height:56px; object-fit:contain; border-radius:7px; background:#fff; }
.support-logo-preview span { min-width:0; overflow-wrap:anywhere; color:var(--green-soft); font-size:.9rem; font-weight:800; }
.support-fixed-sheet { min-height:72px; padding:12px 14px; display:flex; flex-direction:column; justify-content:center; gap:5px; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:#fff; color:#111; }
.support-fixed-sheet span { font-size:.86rem; font-weight:750; }
.support-fixed-sheet strong { font-size:1rem; }
.mixed-print-fields { padding:14px; border:1px solid rgba(147,213,0,.28); border-radius:12px; background:rgba(147,213,0,.05); }
.mixed-detection-summary { margin-top:10px; padding:11px 12px; border-left:4px solid var(--green); border-radius:8px; background:rgba(0,0,0,.18); color:var(--muted); line-height:1.5; }
.mixed-detection-summary strong { color:var(--text); }
.filament-page-grid { grid-template-columns:1fr; }
.filament-page-grid .service-feature { width:100%; }
@media (max-width:720px) {
  .support-simulator-head { display:grid; }
  .support-simulator-badge { justify-self:start; }
  .support-simulator-stage { min-height:280px; }
  .support-pricing-overview { grid-template-columns:1fr; }
}

/* V97-LIMPIA · corrección específica Soportes QR/NFC */
.support-price-guide-card { padding:14px; border:1px solid rgba(147,213,0,.24); border-radius:12px; background:rgba(147,213,0,.055); }
.support-price-guide-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.support-price-guide-head strong { font-size:1rem; }
.support-price-guide-head span { color:var(--green-soft); font-size:.84rem; font-weight:800; white-space:nowrap; }
.support-price-guide-table-wrap { overflow-x:auto; }
.support-price-table { width:100%; min-width:620px; border-collapse:collapse; font-size:.92rem; }
.support-price-table th,.support-price-table td { padding:9px 10px; border-bottom:1px solid rgba(255,255,255,.1); text-align:right; vertical-align:middle; }
.support-price-table th:first-child,.support-price-table td:first-child { text-align:left; }
.support-price-table thead th { color:var(--muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.025em; }
.support-price-table tbody th { color:var(--text); font-weight:760; }
.support-price-table tbody td { color:var(--green-soft); font-weight:850; white-space:nowrap; }
.support-price-table tbody tr:last-child th,.support-price-table tbody tr:last-child td { border-bottom:0; }
.support-destination-heading { padding:12px 14px; border-left:4px solid var(--green); border-radius:9px; background:rgba(147,213,0,.06); }
.support-destination-heading strong { display:block; font-size:1.04rem; }
.support-destination-heading .help { margin:4px 0 0; }
.support-simulator-stage { min-height:380px; }
.support-simulator-stage canvas { min-height:380px; }
@media (max-width:620px) {
  .support-price-guide-head { align-items:flex-start; }
  .support-price-table { min-width:560px; }
  .support-simulator-stage,.support-simulator-stage canvas { min-height:300px; }
}

/* V112 · Copistería automática y política de pago */
.color-review-details{margin-top:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(0,0,0,.12)}
.color-review-details summary{cursor:pointer;font-weight:800;color:#dfff8b}
.color-review-details[open] summary{margin-bottom:10px}
.payment-policy-banner{margin:16px 0;padding:14px 16px;border:1px solid rgba(147,213,0,.38);border-left:5px solid #93d500;border-radius:12px;background:rgba(147,213,0,.07);line-height:1.55}
.payment-policy-banner strong{color:#dfff8b}


/* V113 · desglose más visible y archivos de Copistería incorporados automáticamente */
.budget-request-summary{gap:18px}
.budget-request-item{position:relative;padding:18px 18px 17px;border:1px solid rgba(147,213,0,.46);border-left:6px solid var(--green);border-radius:14px;background:linear-gradient(145deg,#17231d,#0d1511);box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.025);overflow:hidden}
.budget-request-item::after{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--green),rgba(147,213,0,.08));pointer-events:none}
.budget-request-item h4{padding-bottom:10px;border-bottom:1px solid rgba(147,213,0,.2);color:#fff;font-size:1.12rem;letter-spacing:.01em}
.budget-request-item p{padding:7px 10px;border-radius:8px;background:rgba(255,255,255,.028);color:#e4ece8;line-height:1.5}
.budget-request-item .budget-request-item-details{background:rgba(147,213,0,.055);color:#d4ded9;font-weight:730}
.budget-request-item .budget-request-item-price{margin-top:8px;padding:13px 14px;border:1px solid rgba(147,213,0,.78);background:linear-gradient(90deg,rgba(147,213,0,.23),rgba(147,213,0,.09));color:#efffcf;font-size:1.12rem;box-shadow:inset 4px 0 0 var(--green)}
.budget-cart-copisteria-breakdown{display:inline-flex;margin-top:5px;padding:6px 9px;border:1px solid rgba(147,213,0,.28);border-radius:8px;background:rgba(147,213,0,.07);color:#f3ffe0;font-weight:820}
.auto-files-note{margin:10px 0 2px;padding:11px 13px;display:grid;gap:4px;border:1px solid rgba(147,213,0,.35);border-left:4px solid var(--green);border-radius:10px;background:rgba(147,213,0,.065);line-height:1.45}
.auto-files-note strong{color:#dfff8b}.auto-files-note span{color:#d8e2dd;font-size:.9rem;overflow-wrap:anywhere}
@media(max-width:620px){.budget-request-item{padding:15px 14px}.budget-request-item .budget-request-item-price{font-size:1.04rem}}

/* V117 · Pie de página simplificado y separado del contenido */
.site-footer{margin-top:54px;padding:30px 20px 28px;border-top:1px solid rgba(147,213,0,.32);background:linear-gradient(180deg,#0a110e 0%,#07100c 100%);box-shadow:inset 0 12px 28px rgba(0,0,0,.16);color:#aab5b0;text-align:center}
.footer-inner{width:min(1180px,100%);margin:0 auto}
.footer-trust{margin:0 auto;padding:14px 18px;border:1px solid rgba(147,213,0,.28);border-radius:12px;background:rgba(147,213,0,.06);color:#dce8df;text-align:center;font-weight:750}
.footer-links-simple{margin:22px auto 0;display:flex;justify-content:center;align-items:center;gap:9px 18px;flex-wrap:wrap}
.footer-links-simple a{color:#c1cbc6;text-decoration:none;font-weight:700}
.footer-links-simple a:hover,.footer-links-simple a:focus{color:var(--green-soft);text-decoration:underline;text-underline-offset:4px}
.footer-bottom{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);color:#7f8d86;font-size:.82rem;text-align:center}
@media(max-width:760px){.site-footer{margin-top:40px;padding:24px 16px}.footer-trust{padding:13px 14px}.footer-links-simple{gap:10px 14px}}


/* V118 · Datos de facturación */
.billing-section{margin:6px 0 4px;padding:18px;border:1px solid rgba(147,213,0,.34);border-radius:14px;background:linear-gradient(145deg,rgba(147,213,0,.075),rgba(255,255,255,.025))}
.billing-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:12px}.billing-heading h3{margin:2px 0 0;color:#fff;font-size:1.08rem}.billing-heading p{margin:0;max-width:440px;color:var(--muted);font-size:.9rem;line-height:1.45}.billing-kicker{display:block;color:var(--green-soft);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.billing-copy-choice{display:flex;align-items:center;gap:8px;margin:0 0 14px;color:#e4ece8;font-weight:760}.billing-copy-choice input{width:auto;min-height:auto}.billing-note{margin:10px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}
@media(max-width:720px){.billing-heading{display:block}.billing-heading p{margin-top:8px}}


/* INVENSUR V121 · mejoras calculadora, WhatsApp e InPost */
.budget-help-panel{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-top:18px;padding:18px;border:1px solid rgba(122,255,123,.28);border-radius:18px;background:linear-gradient(135deg,rgba(25,52,35,.92),rgba(15,22,20,.96))}
.budget-help-panel>div{min-width:0}.budget-help-panel strong{display:block;font-size:1.02rem}.budget-help-panel p{margin:.38rem 0 0;color:var(--muted)}
.inpost-selector-box{border:1px solid rgba(122,255,123,.24);border-radius:16px;padding:16px;background:rgba(18,25,23,.72)}
.inpost-selector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.inpost-selector-heading p{margin:.3rem 0 0;color:var(--muted)}
.inpost-limit-badge{white-space:nowrap;border:1px solid rgba(122,255,123,.34);border-radius:999px;padding:6px 10px;font-weight:800;font-size:.82rem}
.inpost-widget{min-height:360px;margin:12px 0;border-radius:12px;overflow:hidden;background:#fff;color:#111}
.inpost-fallback-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
@media(max-width:720px){.budget-help-panel,.inpost-selector-heading{align-items:stretch;flex-direction:column}.budget-help-panel .button{width:100%;text-align:center}.inpost-limit-badge{align-self:flex-start}.inpost-widget{min-height:420px}}
