:root{
      --gold-50:#FEFBF0;--gold-100:#FCF3D6;--gold-200:#F9E6A8;--gold-400:#F7CE5A;--gold-500:#EFBE3C;--gold-600:#D99A12;
      --ink:#14130F;--ink-2:#211E17;--warm-50:#FAF8F3;--warm-100:#F3EFE7;--warm-200:#E7E1D5;--warm-300:#C9BEAA;--warm-400:#847B68;--warm-500:#5D5546;--warm-600:#403A30;--warm-700:#332E26;--warm-800:#24211B;
      --pine-50:#ECF4F1;--pine-100:#CFE3DC;--pine-500:#1F6157;--pine-600:#15514A;--pine-700:#0E3D38;
      --white:#fff;--danger:#B42318;--ok:#0F6B45;--shadow:0 30px 80px -48px rgba(35,30,18,.62);--shadow-sm:0 18px 42px -32px rgba(35,30,18,.46);--radius:24px;--max:1180px;
      /* Los colores del logotipo son los del archivo original de la marca, no
         los de la paleta del sitio: el oro y el verde del logo son algo mas
         profundos. Se guardan aparte para que retocar la web no altere la marca. */
      --logo-negro:#080808;--logo-oro:#F7C04B;--logo-pino:#054441;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:var(--warm-50);color:var(--warm-800);font-family:'Hanken Grotesk',system-ui,-apple-system,Segoe UI,sans-serif;font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
    body.menu-open{overflow:hidden}
    img,svg{max-width:100%;display:block}
    a{color:inherit;text-decoration:none}
    button,input,select,textarea{font:inherit;color:inherit}
    button{appearance:none}
    .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
    h1,h2,h3{font-family:'Zilla Slab',Georgia,serif;color:var(--ink);line-height:1.04;letter-spacing:-.025em;margin:0;font-weight:700}
    h1{font-size:clamp(2.55rem,6.2vw,5rem)}
    h2{font-size:clamp(2rem,4.05vw,3.25rem)}
    h3{font-size:1.35rem}
    p{margin:0;color:var(--warm-600)}
    strong{color:var(--ink)}
    .lead{font-size:clamp(1.08rem,1.9vw,1.28rem);max-width:60ch;color:var(--warm-600)}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:14px;padding:14px 22px;font-weight:700;letter-spacing:-.01em;border:1.5px solid transparent;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease;background:var(--gold-400);color:var(--ink);white-space:nowrap}
    .btn:hover{background:var(--gold-500);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
    .btn:active{transform:translateY(0)}
    .btn.pine{background:var(--pine-600);color:#fff}
    .btn.pine:hover{background:var(--pine-700)}
    .btn.ghost{background:transparent;color:var(--ink);border-color:var(--warm-300)}
    .btn.ghost:hover{background:#fff;border-color:var(--warm-500)}
    .btn.dark{background:var(--ink);color:#fff}
    .btn.full{width:100%}
    .btn.small{padding:10px 14px;border-radius:12px;font-size:.88rem}
    :focus-visible{outline:3px solid var(--pine-500);outline-offset:3px;border-radius:8px}
    .progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--gold-500);z-index:120;transition:width .08s linear}
    .nav{position:sticky;top:0;z-index:90;background:rgba(250,248,243,.9);border-bottom:1px solid var(--warm-200);backdrop-filter:blur(16px)}
    .nav-inner{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
    .nav-links{display:flex;gap:24px;align-items:center}
    .nav-links a:not(.btn){font-weight:700;color:var(--warm-600);font-size:.95rem;position:relative;padding:4px 0}
    .nav-links a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-3px;height:2px;width:0;background:var(--gold-500);transition:width .2s ease}
    .nav-links a:not(.btn):hover,.nav-links a:not(.btn).active{color:var(--ink)}
    .nav-links a:not(.btn).active::after{width:100%}
    .nav-toggle{display:none;background:#fff;border:1px solid var(--warm-300);border-radius:12px;width:46px;height:46px;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer}
    .brand-rotating{display:inline-flex;align-items:center}
    .logo-rotator{position:relative;display:inline-block;width:212px;height:64px;flex:none;perspective:1000px}
    .logo-card{position:absolute;inset:0;border-radius:19px;padding:6px 12px;display:flex;align-items:center;justify-content:center;box-shadow:0 22px 46px -28px rgba(20,19,15,.45);opacity:0;transform:translateY(8px) scale(.98);filter:blur(6px);transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1), filter .8s cubic-bezier(.22,1,.36,1)}
    .logo-card.active{opacity:1;transform:translateY(0) scale(1);filter:none}
    .logo-card::after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 36%,transparent 70%,rgba(255,255,255,.08));pointer-events:none}
    .variant-black{background:var(--logo-negro);color:#fff}.variant-gold{background:var(--logo-oro);color:#000}.variant-pine{background:var(--logo-pino);color:#fff}
    /* El logotipo se estira al ancho util de la tarjeta y su alto sale solo de
       la proporcion del dibujo, para que nunca se deforme. */
    .logo-marca{width:100%;height:auto;display:block;position:relative;z-index:1;overflow:visible}
    .kunka-logo-molde{position:absolute;width:0;height:0;overflow:hidden}

    .hero{padding:78px 0 52px;position:relative;overflow:hidden}
    .hero::before{content:"";position:absolute;top:-28%;right:-12%;width:650px;height:650px;border-radius:50%;background:radial-gradient(circle,rgba(247,206,90,.34),transparent 62%);pointer-events:none}
    .hero::after{content:"";position:absolute;bottom:-22%;left:-12%;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(31,97,87,.12),transparent 62%);pointer-events:none}
    .hero-grid{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}
    .hero-copy{display:grid;gap:22px}
    .hero h1 em{font-style:normal;position:relative;white-space:nowrap}
    .hero h1 em::after{content:"";position:absolute;left:-2px;right:-2px;bottom:.08em;height:.34em;background:var(--gold-200);z-index:-1;border-radius:4px}
    .hero-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:4px}
    .hero-note{display:flex;flex-wrap:wrap;gap:10px}
    .mini-badge{display:inline-flex;gap:8px;align-items:center;background:#fff;border:1px solid var(--warm-200);padding:7px 13px;border-radius:999px;font-weight:800;font-size:.9rem;color:var(--warm-600);box-shadow:0 12px 22px -18px rgba(20,19,15,.35)}
    .dot{width:8px;height:8px;background:var(--pine-500);border-radius:99px;display:inline-block}
    .proposal-card{background:#fff;border:1px solid var(--warm-200);border-radius:28px;box-shadow:var(--shadow);padding:26px;position:relative}
    .proposal-card::after{content:"";position:absolute;left:22px;right:22px;bottom:-14px;height:28px;background:#fff;border:1px solid var(--warm-200);border-radius:0 0 22px 22px;z-index:-1}
    .proposal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
    .period{font-family:'IBM Plex Mono';font-size:.82rem;color:var(--warm-500);font-weight:700}
    .pill{font-family:'IBM Plex Mono';font-size:.72rem;font-weight:800;padding:6px 11px;border-radius:999px;letter-spacing:.04em;display:inline-flex;align-items:center;gap:6px}
    .pill.ok{background:var(--pine-50);color:var(--pine-700);border:1px solid var(--pine-100)}
    .score{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
    .score div{background:var(--warm-50);border:1px solid var(--warm-200);border-radius:16px;padding:13px}
    .score b{display:block;font-family:'IBM Plex Mono';color:var(--ink);font-size:1.05rem}
    .score span{display:block;color:var(--warm-600);font-size:.82rem;font-weight:800;line-height:1.25;margin-top:4px}
    .ledger{margin:14px 0 2px;display:grid}
    .ledger-row{display:flex;align-items:baseline;gap:8px;padding:11px 0;border-bottom:1px dashed var(--warm-200)}
    .ledger-row:last-child{border-bottom:0}
    .ledger-row .lbl{color:var(--warm-600);font-weight:800;font-size:.97rem}
    .leader{flex:1;border-bottom:1.5px dotted var(--warm-300);transform:translateY(-3px);min-width:18px}
    .val{font-family:'IBM Plex Mono';font-weight:800;color:var(--ink);font-size:.92rem;white-space:nowrap}
    .val.muted{color:var(--warm-500)}
    .summary-foot{margin-top:14px;background:var(--gold-100);border:1px solid var(--gold-200);border-radius:14px;padding:11px 14px;font-size:.9rem;font-weight:800;color:var(--warm-800);display:flex;gap:9px;align-items:center}
    .bell{width:24px;height:24px;border-radius:8px;background:var(--gold-400);color:var(--ink);display:grid;place-items:center;flex:none;font-size:.85rem;font-weight:800}
    .trust-strip{padding:8px 0 50px}
    .trust{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--warm-200);background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-sm)}
    .trust div{padding:22px 20px;border-right:1px solid var(--warm-200)}
    .trust div:last-child{border-right:0}
    .trust b{display:block;color:var(--ink);font-family:'Zilla Slab';font-size:1.08rem;margin-bottom:4px}
    .trust span{color:var(--warm-700);font-size:.94rem;line-height:1.5}

    .hero-chart{margin:16px 0 6px;padding:14px 14px 10px;background:var(--warm-50);border:1px solid var(--warm-200);border-radius:16px}
    .hero-chart figcaption{font-family:'IBM Plex Mono';font-size:.7rem;letter-spacing:.05em;color:var(--warm-500);font-weight:700;margin-bottom:8px;text-transform:uppercase}
    .hero-chart svg{width:100%;height:auto;display:block}
    .hero-chart .gl{stroke:var(--warm-200);stroke-width:1}
    .hero-chart-legend{display:flex;gap:16px;margin-top:9px;font-size:.78rem;font-weight:800;color:var(--warm-600)}
    .hero-chart-legend span{display:inline-flex;align-items:center;gap:6px}
    .hero-chart-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}
    .hero-chart-legend i.k-sales{background:var(--pine-500)}
    .hero-chart-legend i.k-cost{background:var(--gold-500)}
    section{padding:82px 0}
    .section-head{max-width:720px;margin:0 auto 44px;text-align:center;display:grid;gap:14px;justify-items:center}
    .section-head.left{text-align:left;margin-left:0;justify-items:start}
    .section-head h2::after{content:'';display:block;width:72px;height:4px;border-radius:999px;background:linear-gradient(90deg,var(--gold-500),var(--pine-500));margin:18px auto 0}
    .section-head.left h2::after{margin-left:0}
    .split{display:grid;grid-template-columns:.92fr 1.08fr;gap:44px;align-items:center}
    .pain{background:var(--ink);color:#fff;border-radius:28px;padding:42px;box-shadow:var(--shadow)}
    .pain h2,.pain p{color:#fff}
    .pain p{color:#F3EFE7;margin-top:16px}
    .pain-list{display:grid;gap:13px;margin-top:26px}
    .pain-item{display:flex;gap:12px;align-items:flex-start;color:#F3EFE7;font-weight:800}
    .check{width:24px;height:24px;border-radius:8px;background:var(--gold-400);color:var(--ink);display:inline-grid;place-items:center;flex:none;font-weight:800;line-height:1;font-size:.82rem}
    .solution-grid{display:grid;gap:16px}
    .solution{background:#fff;border:1px solid var(--warm-200);border-radius:20px;padding:24px;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease}
    .solution:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
    .solution h3{margin-bottom:6px;font-size:1.2rem}
    .solution p{font-size:.98rem;color:var(--warm-600)}
    .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
    .card{background:#fff;border:1px solid var(--warm-200);border-radius:24px;padding:28px;box-shadow:var(--shadow-sm);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
    .card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--warm-300)}
    .card .num{font-family:'IBM Plex Mono';font-size:.78rem;color:#8A6105;font-weight:800;letter-spacing:.08em}
    .card h3{margin:10px 0}
    .card p{font-size:.97rem;color:var(--warm-600)}
    .card ul{list-style:none;padding:0;margin:18px 0 18px;display:grid;gap:9px}
    .card li{display:flex;gap:10px;color:var(--warm-600);font-size:.95rem}
    .card li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-500);margin-top:.6em;flex:none}
    .service-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
    .add-service{background:var(--pine-50);border:1px solid var(--pine-100);color:var(--pine-700);font-weight:800;border-radius:12px;padding:10px 12px;cursor:pointer;transition:.16s ease;font-size:.88rem}
    .add-service:hover{background:var(--pine-100);transform:translateY(-1px)}
    .add-service.is-added{background:var(--gold-100);border-color:var(--gold-200);color:var(--ink)}

    .quote-wrap{background:var(--pine-600);color:#fff;border-radius:34px;padding:42px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .quote-wrap::before{content:"";position:absolute;right:-90px;top:-90px;width:260px;height:260px;border-radius:50%;background:rgba(247,206,90,.18)}
    .quote{position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:40px;align-items:start}
    .quote h2,.quote h3{color:#fff}
    .quote p{color:var(--pine-100)}
    .q-controls{display:grid;gap:22px}
    .q-card{background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.16);border-radius:22px;padding:20px}
    .q-card-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
    .q-card-title label,.q-title{display:block;font-weight:800;color:#fff;font-size:1rem}
    .hint{font-weight:800;color:#EAF3F0;font-family:'IBM Plex Mono';font-size:.78rem}
    .calc-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
    .calc-input{display:grid;gap:7px}
    .calc-input span{display:block;color:#EAF3F0;font-weight:800;font-size:.86rem}
    .calc-input input{width:100%;border:0;outline:0;border-radius:12px;background:#fff;color:var(--ink);padding:12px 13px;font-weight:800;font-family:'IBM Plex Mono',monospace;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05)}
    .seg{display:flex;gap:8px;flex-wrap:wrap}
    .seg button{flex:1;min-width:110px;background:rgba(255,255,255,.09);border:1.5px solid rgba(255,255,255,.22);color:#fff;border-radius:13px;padding:11px 8px;font-weight:800;cursor:pointer;transition:.14s ease;font-size:.92rem}
    .seg button:hover{background:rgba(255,255,255,.17)}
    .seg button.on{background:var(--gold-400);border-color:var(--gold-400);color:var(--ink)}
    .service-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
    .service-option{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.09);border:1.5px solid rgba(255,255,255,.22);border-radius:15px;padding:12px;color:#fff;cursor:pointer;transition:.14s ease}
    .service-option:hover{background:rgba(255,255,255,.14)}
    .service-option input{width:18px;height:18px;margin-top:2px;accent-color:var(--gold-400)}
    .service-option strong{display:block;font-size:.93rem;line-height:1.25;color:#fff}
    .service-option small{display:block;color:#F5FAF8;font-weight:800;font-size:.78rem;margin-top:2px}
    .late-months{display:none;margin-top:12px}
    .late-months.show{display:grid}
    .q-result{background:#fff;color:var(--warm-800);border-radius:26px;padding:30px;position:sticky;top:96px;box-shadow:0 30px 70px -50px rgba(0,0,0,.55)}
    .rk{font-family:'IBM Plex Mono';font-size:.76rem;color:var(--pine-600);letter-spacing:.1em;text-transform:uppercase;font-weight:800}
    .rname{font-family:'Zilla Slab';font-size:2.12rem;color:var(--ink);margin:6px 0 2px;line-height:1}
    .rprice{font-family:'IBM Plex Mono';font-weight:800;color:var(--ink);font-size:1.55rem;margin:6px 0 8px}
    .rprice small{color:var(--warm-500);font-weight:600;font-size:.85rem}
    .one-time{font-family:'IBM Plex Mono';font-size:.92rem;color:var(--pine-700);background:var(--pine-50);border:1px solid var(--pine-100);border-radius:13px;padding:10px 12px;margin:0 0 14px;font-weight:800}
    .one-time.hide{display:none}
    .rdesc{font-size:.97rem;margin-bottom:16px;color:var(--warm-600)}
    .quote-breakdown{display:grid;gap:8px;border-top:1px dashed var(--warm-200);border-bottom:1px dashed var(--warm-200);padding:14px 0;margin:12px 0 16px}
    .quote-line{display:flex;justify-content:space-between;gap:14px;color:var(--warm-700);font-size:.93rem}
    .quote-line b{color:var(--ink);text-align:right}
    .quote-list{margin:8px 0 0;padding:0;list-style:none;display:grid;gap:7px}
    .quote-list li{display:flex;justify-content:space-between;gap:12px;font-size:.9rem;color:var(--warm-600)}
    .quote-list strong{white-space:nowrap;text-align:right}
    .quote-note{background:var(--gold-100);border:1px solid var(--gold-200);border-radius:15px;padding:12px;color:var(--ink);font-weight:800;font-size:.88rem;margin:0 0 16px}
    .professional-note{font-size:.84rem;color:var(--warm-500);margin-top:12px}
    .applied-services{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    .applied-services span{display:inline-flex;background:var(--warm-100);border:1px solid var(--warm-200);border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:800;color:var(--warm-700)}
    .plans{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:stretch}
    .plan{background:#fff;border:1px solid var(--warm-200);border-radius:24px;padding:28px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm);position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
    .plan:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
    .plan.recommended{border:2px solid var(--pine-500);box-shadow:0 0 0 4px var(--pine-50),var(--shadow)}
    .rec-flag{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--pine-600);color:#fff;font-family:'IBM Plex Mono';font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px;display:none;white-space:nowrap}
    .plan.recommended .rec-flag{display:block}
    .tag{display:inline-flex;align-self:flex-start;background:var(--gold-100);color:#8A6105;border:1px solid var(--gold-200);border-radius:999px;padding:5px 11px;font-family:'IBM Plex Mono';font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
    .plan h3{font-size:1.25rem}
    .ideal{font-size:.88rem;color:var(--warm-500);margin:7px 0 2px}
    .price{font-family:'IBM Plex Mono';font-weight:800;color:var(--ink);font-size:1.85rem;margin:14px 0 2px;letter-spacing:-.02em}
    .price small{font-size:.82rem;color:var(--warm-500);font-weight:600}
    .plan .desc{font-size:.94rem;min-height:74px;margin-top:4px;color:var(--warm-600)}
    .plan ul{list-style:none;padding:0;margin:16px 0 22px;display:grid;gap:9px}
    .plan li{display:flex;gap:10px;color:var(--warm-600);font-size:.94rem}
    .plan li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold-500);margin-top:.6em;flex:none}
    .plan .btn{margin-top:auto;width:100%}
    .plan.personal{background:var(--ink)}
    .plan.personal h3,.plan.personal .price{color:#fff}
    .plan.personal .desc,.plan.personal li,.plan.personal .ideal{color:#F3EFE7}
    .plan.personal .tag{background:rgba(247,206,90,.16);color:var(--gold-400);border-color:rgba(247,206,90,.3)}
    .no-lock{display:inline-flex;gap:9px;align-items:center;background:var(--pine-50);border:1px solid var(--pine-100);color:var(--pine-700);border-radius:999px;padding:9px 16px;font-weight:800;font-size:.92rem;margin:26px auto 0}
    .plans-note{text-align:center;margin-top:18px;font-size:.92rem;color:var(--warm-500)}

    .timeline{position:relative;max-width:880px;margin:0 auto;display:grid;gap:18px}
    .timeline::before{content:"";position:absolute;left:22px;top:10px;bottom:10px;width:2px;background:var(--warm-200)}
    .timeline-item{position:relative;display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:flex-start}
    .timeline-num{width:46px;height:46px;border-radius:15px;background:var(--gold-400);display:grid;place-items:center;font-family:'IBM Plex Mono';font-weight:800;color:var(--ink);z-index:1}
    .timeline-card{background:#fff;border:1px solid var(--warm-200);border-radius:22px;padding:22px;box-shadow:var(--shadow-sm)}
    .timeline-card h3{font-size:1.18rem;margin-bottom:6px}
    .timeline-card p{color:var(--warm-600);font-size:.96rem}
    .deliverables{background:#fff;border:1px solid var(--warm-200);border-radius:30px;padding:42px;display:grid;grid-template-columns:1fr 1.05fr;gap:36px;box-shadow:var(--shadow-sm);align-items:center}
    .deliverables-list{display:grid}
    .deliverable{display:flex;gap:14px;align-items:flex-start;border-bottom:1px dashed var(--warm-200);padding:16px 0}
    .deliverable:first-child{padding-top:0}
    .deliverable:last-child{border-bottom:0;padding-bottom:0}
    .deliverable strong{color:var(--ink);display:block;font-family:'Zilla Slab';font-size:1.05rem}
    .deliverable span:last-child{font-size:.96rem;color:var(--warm-600)}
    .dedicated{display:grid;grid-template-columns:.95fr 1.05fr;gap:44px;align-items:center}
    .dedicated-card{background:#fff;border:1px solid var(--warm-200);border-radius:28px;padding:32px;box-shadow:var(--shadow);display:flex;gap:20px;align-items:flex-start}
    .avatar{width:88px;height:88px;border-radius:22px;flex:none;background:var(--pine-600);display:grid;place-items:center;color:var(--gold-400);font-family:'Zilla Slab';font-size:2rem;font-weight:700}
    .role{font-family:'IBM Plex Mono';font-size:.82rem;color:var(--pine-600);font-weight:800;margin:2px 0 10px}
    .creds{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
    .cred{background:var(--warm-100);border:1px solid var(--warm-200);border-radius:999px;padding:5px 11px;font-size:.8rem;font-weight:800;color:var(--warm-600)}
    .dedicated-list{display:grid;gap:13px;margin-top:24px}
    .di{display:flex;gap:12px;align-items:flex-start;font-weight:800;color:var(--warm-700)}
    .di span:first-child{color:var(--pine-600);flex:none;margin-top:2px}
    .respaldo{background:var(--warm-100);border-top:1px solid var(--warm-200);border-bottom:1px solid var(--warm-200)}
    .rgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
    .ritem{background:#fff;border:1px solid var(--warm-200);border-radius:20px;padding:24px}
    .ri{width:40px;height:40px;border-radius:12px;background:var(--pine-50);border:1px solid var(--pine-100);display:grid;place-items:center;color:var(--pine-600);margin-bottom:14px;font-weight:800}
    .ritem h3{font-size:1.05rem;margin-bottom:6px}
    .ritem p{font-size:.93rem;color:var(--warm-600)}
    .faq{max-width:880px;margin:auto;display:grid;gap:12px}
    .faq-item{background:#fff;border:1px solid var(--warm-200);border-radius:17px;overflow:hidden;transition:border-color .16s ease}
    .faq-item.open{border-color:var(--gold-400)}
    .faq-q{width:100%;background:transparent;border:0;padding:22px;text-align:left;font-weight:800;color:var(--ink);display:flex;justify-content:space-between;gap:18px;cursor:pointer;font-size:1.02rem}
    .ic{font-family:'IBM Plex Mono';color:#8A6105;transition:transform .2s ease;flex:none;font-size:1.3rem;line-height:1}
    .faq-item.open .ic{transform:rotate(45deg)}
    .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;color:var(--warm-600)}
    .faq-a div{padding:0 22px 22px}
    .faq-item.open .faq-a{max-height:360px}
    .cta-section{padding:88px 0;background:linear-gradient(135deg,var(--ink),#222018);color:#fff}
    .cta-box{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}
    .cta-box h2,.cta-box p{color:#fff}
    .cta-box p{color:#F3EFE7;margin-top:14px}
    .contact-card{background:#fff;color:var(--warm-800);border-radius:30px;padding:30px;box-shadow:var(--shadow)}
    .contact-card h3{margin-bottom:12px}
    .contact-row{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px}
    .mini-link{background:var(--warm-100);border:1px solid var(--warm-200);border-radius:14px;padding:12px;font-weight:800;color:var(--ink);text-align:center;font-size:.92rem;transition:background .14s ease,border-color .14s ease}
    .mini-link:hover{background:var(--gold-100);border-color:var(--gold-200)}
    .divider{display:flex;align-items:center;gap:14px;margin:18px 0;color:var(--warm-500);font-size:.82rem;font-family:'IBM Plex Mono'}
    .divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--warm-200)}
    .contact-form{display:grid;gap:11px}
    .contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--warm-300);border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink);transition:border-color .14s ease}
    .contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold-500);outline:none}
    .contact-form textarea{min-height:96px;resize:vertical}
    footer{padding:40px 0;background:var(--warm-100);border-top:1px solid var(--warm-200)}
    .footer-grid{display:flex;justify-content:space-between;gap:22px;align-items:center;flex-wrap:wrap}
    .footer-grid p{font-size:.9rem;max-width:50ch}
    .footer-logo{width:224px;height:68px}
        .footer-mapa{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:26px 34px;margin-top:34px;padding-top:26px;border-top:1px solid var(--warm-200)}
    .footer-mapa-titulo{display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-500);margin-bottom:11px}
    .footer-mapa ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
    .footer-mapa a{font-size:.92rem;font-weight:600;color:var(--warm-600)}
    .footer-mapa a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
    .float-wa{position:fixed;right:22px;bottom:22px;z-index:100;background:#25D366;color:#062816;border-radius:999px;padding:14px 18px;font-weight:800;box-shadow:0 14px 34px -16px rgba(0,0,0,.55);display:flex;gap:9px;align-items:center;transition:transform .16s ease}
    .float-wa:hover{transform:translateY(-2px)}
    .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
    .reveal.in{opacity:1;transform:none}

    /* ─────────────────────────────────────────────
       PAGINAS DE CALCULADORA (V9.5)
       Cabecera propia, migas y preguntas frecuentes. La calculadora en si
       usa los estilos .kcal-* que ya existen, sin tocarlos.
       ───────────────────────────────────────────── */
    /* Calculadora de liquidacion (V9.7) */
    .kcal-select{width:100%;border:1px solid var(--warm-300);border-radius:13px;padding:13px 14px;background:#fff;color:var(--ink);font-weight:600}
    .kcal-select:focus{border-color:var(--gold-500);outline:none}
    .kcal-row.kcal-sub{border-top:1px solid var(--warm-200);margin-top:4px;padding-top:10px;font-weight:800}
    .kcal-row.kcal-sub .kcal-k{color:var(--ink)}
    /* Costo para la empresa: se pide con un boton y se abre bajo el detalle. */
    /* Enviar el calculo por correo */
    .kcal-envio{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.16)}
    /* Dentro de la propuesta del cotizador el fondo es blanco: la linea en
       blanco al 16% no se veia y el bloque quedaba pegado al aviso de arriba. */
    .q-result .kcal-envio{border-top-color:var(--warm-200)}
    .q-result .kcal-envio-nota{opacity:1;color:var(--warm-800)}
    .kcal-envio-titulo{display:block;font-weight:700;margin-bottom:9px;font-size:.95rem}
    .kcal-envio-fila{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
    .kcal-envio-fila .kcal-input{flex:1;min-width:180px}
    .kcal-envio-lab{position:absolute;left:-9999px}
    .kcal-envio-nota{margin:9px 0 0;font-size:.78rem;line-height:1.5;opacity:.72}
    /* Hay una regla global `p{color:var(--warm-600)}` que pisa la herencia. En
       el comprobante, que es verde oscuro, eso dejaba cualquier parrafo oscuro
       sobre oscuro: la nota de privacidad del formulario era invisible en las
       cinco calculadoras. Aqui el parrafo vuelve a heredar el color del papel. */
    .kcal-slip p{color:inherit}
    .kcal-slip .kcal-envio-nota{opacity:.82}
    /* El campo trampa: fuera de la vista y fuera del recorrido del teclado. */
    .kcal-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
    .kcal-envio-aviso{max-width:var(--max);margin:0 auto 22px;padding:14px 18px;border-radius:14px;font-weight:600}
    .kcal-envio-bien{background:var(--pine-50);border:1px solid var(--pine-100);color:var(--pine-700)}
    .kcal-envio-mal{background:#FFF6F4;border:1px solid #F0C9C2;color:var(--danger)}
    @media print{.kcal-envio,.kcal-envio-aviso{display:none!important}}
    .kcal-abrir{width:100%;margin-top:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:inherit;border-radius:12px;padding:12px 14px;font-weight:700;font-size:.92rem;cursor:pointer;transition:background .16s ease}
    .kcal-abrir:hover{background:rgba(255,255,255,.2)}
    .kcal-costo{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.16)}
    .kcal-destacado{display:flex;justify-content:space-between;align-items:baseline;gap:14px;background:rgba(255,255,255,.1);border-radius:12px;padding:13px 15px;margin-bottom:14px}
    .kcal-destacado .kcal-k{font-weight:700}
    .kcal-destacado .kcal-v{font-size:1.35rem;font-weight:800}
    /* Finiquito (V10.3) */
    .kcal-seg-vertical{flex-direction:column;align-items:stretch}
    .kcal-seg-vertical button{text-align:left}
    .kcal-campos-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
    .kcal-falta-fechas{background:rgba(180,35,24,.16);border-radius:10px;padding:10px 13px;margin-bottom:12px;font-size:.88rem}
    @media(max-width:520px){.kcal-campos-2{grid-template-columns:1fr}}
    .kcal-ayuda{margin:7px 0 0;font-size:.84rem;line-height:1.5;color:var(--warm-400)}
    .kcal-aviso-campo{font-size:.86rem;color:var(--warm-400);background:var(--warm-100);border-radius:11px;padding:11px 14px;margin:0}
    .kcal-indic{margin-top:10px;font-size:.78rem;color:var(--warm-400);font-family:'IBM Plex Mono',ui-monospace,monospace}
    .kcal-tabla-ind{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.14)}
    .kcal-tabla-ind .kcal-row{font-size:.88rem;opacity:.85}
    .kcal-vigencia{margin-top:18px;font-size:.85rem;color:var(--warm-500);max-width:72ch}
    .kcal-vigencia strong{color:var(--danger)}
    /* Cuando falta un dato, la calculadora se calla en vez de inventar. */
    .kcal-falta{background:#FFF6F4;border:1px solid #F0C9C2;border-left:3px solid var(--danger);border-radius:14px;padding:20px 24px;max-width:70ch}
    .kcal-falta strong{color:var(--danger);display:block;margin-bottom:6px}
    .kcal-falta p{margin:0}

    .calc-cabecera{padding:44px 0 8px}
    .calc-miga{font-size:.86rem;color:var(--warm-400);display:flex;gap:9px;align-items:center;margin-bottom:22px;flex-wrap:wrap}
    .calc-miga a{color:var(--warm-500);font-weight:600}
    .calc-miga a:hover{color:var(--ink);text-decoration:underline}
    .calc-cabecera-grid{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}
    .calc-cabecera-copy{display:grid;gap:16px;min-width:0}
    .calc-cabecera h1{font-size:clamp(2rem,4.6vw,3.3rem)}
    .calc-cabecera-lamina{width:min(300px,34vw);flex:none}
    .calc-cabecera-lamina svg{width:100%;height:auto}

    /* En la pagina dedicada la calculadora es el contenido principal:
       no necesita el aire de una seccion mas de la portada. */
    .calc-cabecera + section{padding-top:26px}

    /* Paginas de servicio (V9.8) */
    .serv-detalle{padding-bottom:10px}
    .serv-puntos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--kunka-gap-grid,24px)}
    .serv-punto{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--warm-200);border-radius:18px;padding:22px 24px;box-shadow:var(--shadow-sm)}
    .serv-punto svg{width:38px;height:38px;flex:none}
    .serv-punto h3{font-size:1.08rem;margin:0 0 6px}
    .serv-punto p{margin:0;font-size:.95rem}
    .serv-herramienta{display:flex;gap:18px;align-items:flex-start;margin-top:26px;background:var(--gold-50);border:1px solid var(--gold-200);border-radius:18px;padding:22px 24px;max-width:78ch}
    .serv-herramienta svg{width:40px;height:40px;flex:none}
    .serv-herramienta h3{font-size:1.08rem;margin:0 0 4px}
    .serv-herramienta p{margin:0 0 14px}
    .serv-enlaces{margin-top:34px;padding-top:24px;border-top:1px solid var(--warm-200)}
    .serv-otras{margin-top:30px;padding-top:20px;border-top:1px solid var(--warm-200)}
    .serv-otras-titulo{display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-500);margin-bottom:10px}
    .serv-otras ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}
    .serv-otras a{color:var(--pine-600);font-weight:700;text-decoration:underline;text-underline-offset:3px}
    @media(max-width:600px){
      .serv-punto,.serv-herramienta{flex-direction:column;gap:12px;padding:18px}
    }

    .calc-herramienta-titulo{padding:22px 0 0}
    .calc-herramienta-titulo h2{font-size:clamp(1.5rem,2.6vw,2rem)}
    .calc-faq{padding-top:8px}
    .calc-faq-lista{display:grid;gap:12px;max-width:78ch}
    .calc-faq-item{background:#fff;border:1px solid var(--warm-200);border-radius:16px;padding:18px 22px;box-shadow:var(--shadow-sm)}
    .calc-faq-item summary{font-weight:700;color:var(--ink);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center}
    .calc-faq-item summary::-webkit-details-marker{display:none}
    .calc-faq-item summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--gold-600);flex:none;transition:transform .18s ease}
    .calc-faq-item[open] summary::after{transform:rotate(45deg)}
    .calc-faq-item p{margin:12px 0 0}
    .calc-cierre{display:flex;gap:18px;align-items:flex-start;margin-top:30px;background:var(--pine-50);border:1px solid var(--pine-100);border-radius:18px;padding:22px 24px;max-width:78ch}
    .calc-cierre svg{width:40px;height:40px;flex:none}
    .calc-cierre p{margin:0 0 14px;color:var(--warm-700)}
    @media(max-width:600px){.calc-cierre{flex-direction:column;gap:12px;padding:18px}}
    .calc-aviso{margin-top:26px;font-size:.9rem;color:var(--warm-400);max-width:70ch}
    .calc-otra{margin-top:14px;font-weight:600}
    .calc-otra a{color:var(--pine-600);text-decoration:underline;text-underline-offset:3px}

    /* Enlaces desde la portada hacia cada calculadora. */
    .kcal-paginas a{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--warm-200);border-radius:14px;padding:11px 16px;font-weight:700;font-size:.94rem;box-shadow:var(--shadow-sm);transition:transform .16s ease,border-color .16s ease}
    .kcal-paginas a:hover{transform:translateY(-2px);border-color:var(--gold-500)}
    .kcal-paginas svg{width:22px;height:22px;flex:none}
    /* El cuadro de «que mas va en este formulario». Dos columnas en pantalla
       ancha porque son ocho lineas cortas y en una sola columna se hace larga. */
    /* Lo que corresponde con la causal elegida. */
    .kcal-corresponde{margin-top:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 16px}
    .kcal-corresponde-tit{display:block;font-weight:700;font-size:.86rem;margin-bottom:9px;opacity:.85}
    .kcal-corresponde ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
    .kcal-corresponde li{display:flex;gap:9px;align-items:flex-start;font-size:.9rem;line-height:1.45}
    .kcal-corresponde li b{flex:none;width:18px;text-align:center;font-weight:800;color:var(--gold-500)}
    /* Lo que NO corresponde no se esconde: se marca. Que una linea desaparezca
       deja la duda de si falta por un error o porque no toca. */
    .kcal-corresponde li.no{opacity:.5}
    .kcal-corresponde li.no b{color:inherit}
    .kcal-corresponde-pie{margin:11px 0 0;font-size:.8rem;line-height:1.5;opacity:.7}
    .kcal-judicial{margin:12px 0 0;padding:11px 14px;border-radius:12px;background:rgba(247,206,90,.14);border:1px solid rgba(247,206,90,.4);font-size:.86rem;line-height:1.5}
    select.kcal-input{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 19px) calc(50% + 2px),calc(100% - 14px) calc(50% + 2px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:38px}
    select.kcal-input optgroup{font-style:normal;font-weight:700}
    /* «Cada servicio, en detalle»: eran chips con un icono de 22 px. Ahora
       cada uno trae su lamina y una linea que dice de que va. */
    .serv-fichas{display:grid;gap:16px;margin-top:16px}
    @media(min-width:760px){.serv-fichas{grid-template-columns:repeat(2,1fr)}}
    @media(min-width:1100px){.serv-fichas{grid-template-columns:repeat(4,1fr)}}
    .serv-ficha{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--warm-200);border-radius:18px;padding:18px;box-shadow:var(--shadow-sm);transition:transform .16s ease,border-color .16s ease}
    .serv-ficha:hover{transform:translateY(-3px);border-color:var(--gold-500)}
    .serv-ficha-lamina{background:var(--warm-50);border-radius:14px;padding:10px;display:flex;align-items:center;justify-content:center}
    .serv-ficha-lamina svg{width:100%;height:auto;max-height:96px;display:block}
    .serv-ficha h4{margin:0;font-size:1rem;line-height:1.3}
    .serv-ficha p{margin:0;font-size:.86rem;line-height:1.55;color:var(--warm-800);flex:1}
    .serv-ficha-ir{font-weight:800;font-size:.86rem;color:var(--pine-700)}
    .serv-ficha-extra{margin:0;font-size:.8rem;line-height:1.5;background:var(--warm-50);border-radius:10px;padding:9px 11px}
    /* ── Iconos de las listas de herramientas ───────────────────────────
       Pequenos y en linea con el texto: acompanan, no compiten. */
    .footer-tool-ico,.serv-tool-ico{display:inline-flex;flex:none;width:16px;height:16px;margin-right:7px;vertical-align:-3px}
    .footer-tool-ico svg,.serv-tool-ico svg{width:16px;height:16px;display:block}
    .footer-mapa-herramientas li a{display:inline-flex;align-items:flex-start;gap:0}
    .service-pro-tools-inline a{display:inline-flex;align-items:center}

    /* ── Tonos alternos al bajar ────────────────────────────────────────
       Once de las trece secciones tenian fondo transparente sobre la misma
       crema, y lo unico que las separaba era una linea al 5%: al hacer scroll
       una se fundia con la siguiente. Se alternan por posicion, no por nombre,
       para que siga funcionando si el administrador reordena las secciones
       desde el panel: dos vecinas nunca caen en la misma paridad.
       Las que ya traen su propio fondo —el hero, servicios y contacto, que
       llevan degradado— no se tocan: su imagen se pinta encima igual. */
    /* El tono se ajusta aqui: --seccion-alterna. Con --warm-100 la diferencia
       de luminancia quedaba en 1,08 —tan sutil que al bajar seguia sin notarse—.
       Este tono la deja en 1,17, que se ve sin ensuciar media pagina. */
    :root{--seccion-alterna:#EEE9DE}
    /* .calc-herramienta-titulo es una franja de 61 px que solo sostiene el h2
       de la herramienta: teñida se leia como una raya suelta en vez de como una
       seccion. Se queda del color de la que va debajo, que es a la que pertenece. */
    main>section:nth-of-type(even):not(.calc-herramienta-titulo){background-color:var(--seccion-alterna)}
    main>section.calc-herramienta-titulo{border-top:0}
    /* El borde va con la misma especificidad que el que ya existia, si no
       aquel ganaba y la linea seguia al 5%: invisible. */
    main>section:nth-of-type(n){border-top:1px solid rgba(20,19,15,.09)}
    main>section:first-child{border-top:0}
    .serv-cuadro{margin-top:26px;background:var(--warm-50);border:1px solid var(--warm-200);border-radius:22px;padding:26px}
    .serv-cuadro-head{display:flex;gap:14px;align-items:flex-start}
    .serv-cuadro-head svg{width:38px;height:38px;flex:none}
    .serv-cuadro-head h3{margin:0 0 6px;font-size:1.15rem}
    .serv-cuadro-intro{margin:0;color:var(--warm-800);font-size:.95rem;line-height:1.6}
    .serv-cuadro-lista{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
    @media(min-width:900px){.serv-cuadro-lista{grid-template-columns:1fr 1fr;gap:14px 26px}}
    .serv-cuadro-lista li{background:#fff;border:1px solid var(--warm-200);border-radius:14px;padding:14px 16px}
    .serv-cuadro-lista strong{display:block;font-size:.97rem;margin-bottom:4px}
    .serv-cuadro-lista span{display:block;font-size:.88rem;line-height:1.55;color:var(--warm-800)}
    .serv-cuadro-nota{margin:20px 0 0;font-size:.88rem;line-height:1.6;color:var(--warm-800);border-top:1px solid var(--warm-200);padding-top:16px}
    .kcal-paginas{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 22px}
    /* La calculadora en la que se esta: se ve, ocupa su sitio en el orden y no
       se puede pulsar, porque no lleva a ninguna parte. Se marca con el borde y
       el color del texto, no con un fondo oscuro: el icono es de cuatro colores
       y esta dibujado para fondo claro, asi que sobre verde se leia a medias. */
    .kcal-paginas-actual{display:inline-flex;align-items:center;gap:9px;background:var(--pine-50);color:var(--pine-700);border:2px solid var(--pine-600);border-radius:14px;padding:10px 15px;font-weight:800;font-size:.94rem;cursor:default}
    .kcal-paginas-actual svg{width:22px;height:22px;flex:none}
    @media print{.kcal-paginas{display:none!important}}


    @media(max-width:760px){
      .calc-cabecera{padding:28px 0 4px}
      .calc-cabecera-grid{grid-template-columns:1fr;gap:20px}
      .calc-cabecera-lamina{width:min(220px,58vw);margin:0 auto}
      .calc-faq-item{padding:15px 17px}
    }

    .skip-link{position:absolute;left:-999px;top:8px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700}
    .skip-link:focus{left:12px}

    .commit{background:var(--ink);color:#fff;border-radius:24px;padding:30px 34px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px 28px;box-shadow:var(--shadow)}
    .commit-item{display:flex;gap:13px;align-items:flex-start}
    .commit-item .ci{width:38px;height:38px;border-radius:11px;background:rgba(247,206,90,.16);color:var(--gold-400);display:grid;place-items:center;flex:none;font-weight:700}
    .commit-item b{display:block;color:#fff;font-family:'Zilla Slab',Georgia,serif;font-size:1.05rem;line-height:1.15;margin-bottom:3px;font-weight:600}
    .commit-item span{display:block;color:#D9D3C6;font-size:.88rem;line-height:1.45}

    .compare{display:grid;grid-template-columns:1fr 1fr;gap:18px}
    .compare-col{border-radius:24px;padding:30px;border:1px solid var(--warm-200)}
    .compare-col.before{background:var(--warm-100)}
    .compare-col.after{background:var(--pine-600);border-color:var(--pine-600);color:#fff;box-shadow:var(--shadow)}
    .compare-col h3{font-size:1.2rem;display:flex;align-items:center;gap:10px}
    .compare-col.after h3{color:#fff}
    .compare-tag{font-family:'IBM Plex Mono',ui-monospace,monospace;color:var(--warm-700);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;padding:4px 10px;border-radius:999px}
    .compare-col.before .compare-tag{background:#fff;border:1px solid var(--warm-200);color:var(--warm-500)}
    .compare-col.after .compare-tag{background:rgba(0,0,0,.16);border:1px solid rgba(247,206,90,.45);color:#F7CE5A}
    .compare-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:13px}
    .compare-list li{display:flex;gap:11px;font-size:.96rem;line-height:1.45}
    .compare-col.before li{color:var(--warm-600)}
    .compare-col.after li{color:#EDF4F1}
    .compare-list .mk{flex:none;color:var(--warm-500);width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font-size:.78rem;font-weight:700;margin-top:1px}
    .compare-col.before .mk{background:#fff;border:1px solid var(--warm-300);color:var(--warm-500)}
    .compare-col.after .mk{background:var(--gold-400);color:var(--ink)}
    @media(max-width:1060px){
      .plans{grid-template-columns:repeat(2,1fr)}
      .cards{grid-template-columns:1fr 1fr}
      .trust{grid-template-columns:repeat(2,1fr)}
      .trust div:nth-child(2){border-right:0}
      .rgrid{grid-template-columns:1fr 1fr}
      .calc-inputs{grid-template-columns:1fr 1fr}
    }
    /* El menú hamburguesa aparecía sólo bajo 840 px, pero el menú de escritorio
       necesita ~966 px para caber. Entre 841 y 966 se salía 66 px de la pantalla:
       justo el rango de un teléfono apaisado (Pixel 915, iPhone Pro Max 932). */
    @media(max-width:980px){
      body.menu-open::before{content:"";position:fixed;inset:76px 0 0;background:rgba(20,19,15,.25);z-index:80}
      .nav-links{position:absolute;left:0;right:0;top:76px;background:var(--warm-50);border-bottom:1px solid var(--warm-200);padding:18px 24px;display:none;flex-direction:column;align-items:stretch;gap:14px;box-shadow:0 22px 50px -36px rgba(0,0,0,.35)}
      .nav-links.open{display:flex}
      .nav-toggle{display:flex}
    }

    @media(max-width:840px){
      .hero-grid,.split,.quote,.deliverables,.dedicated,.cta-box{grid-template-columns:1fr}
      .hero{padding-top:50px}
      .score,.calc-inputs,.service-options,.cards,.plans,.rgrid{grid-template-columns:1fr}
      .commit{grid-template-columns:1fr 1fr;padding:24px}
      .compare{grid-template-columns:1fr}
      .q-result{position:static}
      .trust{grid-template-columns:1fr}
      .trust div{border-right:0;border-bottom:1px solid var(--warm-200)}
      .trust div:last-child{border-bottom:0}
      .pain,.quote-wrap,.deliverables{padding:30px}
      section{padding:60px 0}
      .contact-row{grid-template-columns:1fr}
      .float-wa{right:14px;bottom:14px;padding:12px 14px}
      .logo-rotator{width:180px;height:56px}
      .proposal-top{align-items:flex-start;flex-direction:column}
      .commit{grid-template-columns:1fr}
      .timeline::before{left:21px}
    }
    @media(prefers-reduced-motion:reduce){
      *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
      .reveal{opacity:1;transform:none}
      .logo-card{filter:none;transform:none}
    }

    /* ─────────────────────────────────────────────
       MODO EDITABLE KUNKA
       Permite editar textos, contacto y tarifas desde la misma página.
       Los cambios se guardan en este navegador mediante localStorage.
    ───────────────────────────────────────────── */
    .site-editor-launcher{
      position:fixed;left:22px;bottom:22px;z-index:140;
      background:var(--ink);color:#fff;border:1px solid rgba(255,255,255,.16);
      border-radius:999px;padding:12px 16px;font-weight:800;box-shadow:0 18px 42px -22px rgba(0,0,0,.65);
      cursor:pointer;display:inline-flex;align-items:center;gap:9px
    }
    .site-editor-launcher:hover{transform:translateY(-2px)}
    .site-editor-panel{
      position:fixed;left:22px;bottom:78px;width:min(420px,calc(100vw - 44px));max-height:calc(100vh - 110px);
      overflow:auto;z-index:141;background:#fff;color:var(--warm-800);border:1px solid var(--warm-200);
      border-radius:24px;box-shadow:0 28px 82px -30px rgba(0,0,0,.55);padding:20px;display:none
    }
    .site-editor-panel.open{display:block}
    .site-editor-panel h3{font-size:1.25rem;margin:0 0 4px}
    .site-editor-panel p{font-size:.88rem;color:var(--warm-600);margin:0 0 14px}
    .site-editor-group{border-top:1px solid var(--warm-200);padding-top:14px;margin-top:14px;display:grid;gap:10px}
    .site-editor-group-title{font-weight:900;color:var(--ink);font-size:.92rem}
    .site-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .site-editor-field{display:grid;gap:5px}
    .site-editor-field label{font-size:.78rem;font-weight:900;color:var(--warm-600)}
    .site-editor-field input,.site-editor-field textarea{
      width:100%;border:1px solid var(--warm-300);border-radius:12px;background:#fff;padding:9px 10px;font-size:.88rem
    }
    .site-editor-field textarea{min-height:80px;resize:vertical;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.78rem}
    .site-editor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
    .site-editor-btn{
      border:1px solid var(--warm-300);background:var(--warm-100);border-radius:12px;padding:10px;
      font-weight:900;cursor:pointer;font-size:.86rem;text-align:center
    }
    .site-editor-btn.primary{background:var(--gold-400);border-color:var(--gold-500);color:var(--ink)}
    .site-editor-btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}
    .site-editor-btn.danger{background:#fff1f0;border-color:#ffccc7;color:#a8071a}
    .site-editor-note{background:var(--gold-100);border:1px solid var(--gold-200);border-radius:14px;padding:10px;color:var(--ink)!important;font-weight:800}
    body.edit-mode [data-edit-id]{
      outline:2px dashed rgba(217,154,18,.65);outline-offset:4px;border-radius:6px;cursor:text
    }
    body.edit-mode [data-edit-id]:hover{outline-color:var(--pine-500);background:rgba(247,206,90,.12)}
    body.edit-mode [data-edit-id]:focus{outline:3px solid var(--pine-500);background:#fff}
    body.edit-mode a[data-edit-id]{pointer-events:auto}
    .editable-toast{
      position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:160;background:var(--ink);
      color:#fff;border-radius:999px;padding:10px 14px;font-size:.86rem;font-weight:800;box-shadow:0 20px 40px -24px rgba(0,0,0,.6);
      opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease
    }
    .editable-toast.show{opacity:1;transform:translateX(-50%) translateY(-8px)}
    @media(max-width:840px){
      .site-editor-launcher{left:14px;bottom:78px}
      .site-editor-panel{left:14px;bottom:132px;width:calc(100vw - 28px)}
      .site-editor-row,.site-editor-actions{grid-template-columns:1fr}
    }

    /* KUNKA V34 · personalización avanzada sin alterar la lógica comercial */
    :root{--section-space:82px;--font-body:'Hanken Grotesk',system-ui,sans-serif;--font-title:'Zilla Slab',Georgia,serif;--font-mono:'IBM Plex Mono',monospace}
    body{font-family:var(--font-body);font-size:var(--base-font-size,17px)}
    h1,h2,h3{font-family:var(--font-title)}
    .period,.pill,.val,.rk,.rprice,.price,.tag,.hint{font-family:var(--font-mono)}
    main{display:flex;flex-direction:column}
    main>section{padding-top:var(--section-space);padding-bottom:var(--section-space)}
    .kunka-v34-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
    .kunka-v34-section-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:7px;align-items:center;padding:7px 0;border-bottom:1px solid var(--warm-200)}
    .kunka-v34-mini{border:1px solid var(--warm-300);background:var(--warm-100);border-radius:9px;padding:6px 8px;font-weight:800;cursor:pointer}
    .kunka-v34-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:7px;padding:8px 0;border-bottom:1px solid var(--warm-200)}
    .kunka-v34-cta-row label{grid-column:1/-1;font-size:.76rem;font-weight:900;color:var(--warm-600)}
    .kunka-v34-preview{height:34px;border-radius:10px;border:1px solid var(--warm-300);background:linear-gradient(90deg,var(--gold-400),var(--pine-600),var(--ink))}
    @media(max-width:840px){.kunka-v34-grid,.kunka-v34-cta-row{grid-template-columns:1fr}.kunka-v34-section-row{grid-template-columns:auto 1fr auto}}

    /* ===== KUNKA V40.3 · Calculadoras (boleta de honorarios + factura/IVA) ===== */
    #calculadoras .kcal-tabs{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;margin:0 0 26px}
    .kcal-tab{background:#fff;border:1.5px solid var(--warm-200);border-radius:999px;padding:11px 22px;font-weight:800;font-size:.95rem;color:var(--warm-600);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}
    .kcal-tab:hover{color:var(--ink);transform:translateY(-1px)}
    .kcal-tab[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
    .kcal-panel[hidden]{display:none}
    .kcal-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:22px;align-items:start}
    .kcal-grid>*{min-width:0}
    .kcal-box{background:#fff;border:1px solid var(--warm-200);border-radius:22px;padding:26px;box-shadow:var(--shadow-sm)}
    .kcal-box>h3{margin-bottom:6px}
    .kcal-intro{font-size:.96rem;margin-bottom:22px}
    .kcal-ruler-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px}
    .kcal-ruler-head .kcal-lab{margin:0}
    .kcal-ruler-now{font-family:var(--font-mono);font-size:.78rem;font-weight:700;color:var(--pine-600)}
    .kcal-ruler{display:flex;gap:4px;overflow-x:auto;padding-bottom:8px;margin:0 0 22px}
    .kcal-year{flex:1 0 auto;min-width:60px;background:transparent;border:0;border-top:2px solid var(--warm-200);padding:10px 6px 8px;cursor:pointer;text-align:center;border-radius:0 0 12px 12px;color:var(--warm-500);transition:background .16s ease,color .16s ease,border-color .16s ease}
    .kcal-year:hover{color:var(--ink);background:var(--warm-50)}
    .kcal-year b{display:block;font-family:var(--font-mono);font-size:1rem;font-weight:700;color:inherit;line-height:1.1}
    .kcal-year i{display:block;font-style:normal;font-size:.72rem;font-weight:800;margin-top:3px;opacity:.85}
    .kcal-year[aria-pressed="true"]{color:var(--pine-700);background:var(--gold-50);border-top:4px solid var(--gold-500);padding-top:8px}
    .kcal-field{margin-bottom:20px}
    .kcal-field:last-child{margin-bottom:0}
    .kcal-lab{display:block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--pine-600);font-weight:700;margin-bottom:9px}
    .kcal-money{position:relative}
    .kcal-money i{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-style:normal;font-family:var(--font-mono);font-weight:700;font-size:1.15rem;color:var(--warm-400);pointer-events:none}
    .kcal-input{width:100%;padding:14px 16px 14px 37px;font-family:var(--font-mono);font-size:1.5rem;font-weight:600;color:var(--ink);background:var(--warm-50);border:1.5px solid var(--warm-200);border-radius:14px}
    .kcal-input:focus{background:#fff}
    .kcal-seg{display:flex;border:1.5px solid var(--warm-200);border-radius:14px;overflow:hidden;background:var(--warm-50)}
    .kcal-seg button{flex:1;background:transparent;border:0;padding:12px 10px;font-weight:800;font-size:.89rem;line-height:1.3;color:var(--warm-500);cursor:pointer;transition:background .16s ease,color .16s ease}
    .kcal-seg button+button{border-left:1.5px solid var(--warm-200)}
    .kcal-seg button:hover{color:var(--ink)}
    .kcal-seg button[aria-pressed="true"]{background:var(--pine-600);color:#fff}
    .kcal-rate{display:flex;align-items:center;gap:11px;flex-wrap:wrap}
    .kcal-rate input{width:112px;padding:11px 14px;font-family:var(--font-mono);font-weight:700;font-size:1.05rem;border:1.5px solid var(--warm-200);border-radius:12px;background:var(--warm-50)}
    .kcal-slip{background:var(--pine-600);color:#EAF3F0;border-radius:22px;padding:26px 26px 22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .kcal-slip::after{content:"";position:absolute;left:20px;right:20px;bottom:8px;height:6px;background-image:radial-gradient(circle at 3px 3px,var(--warm-50) 2.6px,transparent 2.8px);background-size:12px 6px;opacity:.55}
    .kcal-slip-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:15px;border-bottom:1px dashed rgba(255,255,255,.28);margin-bottom:12px}
    .kcal-slip-top b{font-family:var(--font-title);font-size:1.12rem;font-weight:700;color:#fff}
    .kcal-stamp{font-family:var(--font-mono);font-size:.72rem;font-weight:700;letter-spacing:.05em;color:var(--gold-400);border:1px solid rgba(247,206,90,.45);border-radius:999px;padding:5px 11px;white-space:nowrap}
    .kcal-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0}
    .kcal-row .kcal-k{font-weight:700;font-size:.95rem;color:rgba(234,243,240,.82)}
    .kcal-row .kcal-v{font-family:var(--font-mono);font-size:1.16rem;font-weight:700;color:#fff;white-space:nowrap}
    .kcal-row.minus .kcal-v{color:var(--gold-400)}
    .kcal-total{margin-top:10px;padding-top:16px;border-top:1px solid rgba(255,255,255,.24);display:flex;justify-content:space-between;align-items:baseline;gap:14px}
    .kcal-total .kcal-k{font-family:var(--font-mono);font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--gold-400);line-height:1.4}
    .kcal-total .kcal-v{font-family:var(--font-mono);font-size:2rem;font-weight:700;line-height:1;color:#fff;white-space:nowrap}
    .kcal-note{margin-top:18px;font-size:.89rem;line-height:1.5;color:rgba(234,243,240,.9);border-left:2px solid rgba(247,206,90,.5);padding-left:12px}
    .kcal-acts{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;position:relative;z-index:1}
    .kcal-mini{background:transparent;border:1.5px solid rgba(255,255,255,.32);color:#fff;border-radius:999px;padding:9px 16px;font-weight:800;font-size:.85rem;cursor:pointer;transition:background .16s ease}
    .kcal-mini:hover{background:rgba(255,255,255,.13)}
    /* La propuesta del cotizador tiene fondo blanco, no el verde del
       comprobante. Con el .kcal-mini de arriba —texto blanco y borde blanco al
       32%— el boton de guardar en PDF quedaba blanco sobre blanco: estaba ahi,
       se podia pulsar, y no se veia. */
    .q-result .kcal-mini{border-color:var(--warm-200);color:var(--ink);background:#fff}
    .q-result .kcal-mini:hover{background:var(--warm-50);border-color:var(--pine-600)}
    .q-result .kcal-acts{margin-top:16px}

    /* La barra de calculadoras cuando va al pie de la seccion. */
    .kcal-paginas-pie{margin-top:34px;padding-top:26px;border-top:1px solid var(--warm-200)}
    .kcal-paginas-titulo{display:block;font-weight:800;font-size:.95rem;margin-bottom:14px}
    .kcal-paginas-pie .kcal-paginas{margin-bottom:0}
    .kcal-ref{margin-top:22px;background:#fff;border:1px solid var(--warm-200);border-radius:22px;overflow:hidden}
    .kcal-ref-head{padding:20px 24px 4px}
    .kcal-ref-head p{font-size:.93rem;margin-top:6px}
    .kcal-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
    .kcal-ref table{width:100%;border-collapse:collapse;font-size:.92rem;margin-top:14px;min-width:420px}
    .kcal-ref th,.kcal-ref td{padding:11px 24px;text-align:left;border-bottom:1px solid var(--warm-100)}
    .kcal-ref th{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pine-600);background:var(--warm-50);font-weight:700}
    .kcal-ref td{font-family:var(--font-mono);font-weight:600;color:var(--warm-700)}
    .kcal-ref tr:last-child td{border-bottom:0}
    .kcal-ref tr.on td{background:var(--gold-50);color:var(--pine-700);font-weight:800}
    .kcal-cta{margin-top:24px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;text-align:center}
    .kcal-cta p{font-weight:700;color:var(--warm-600)}
    .kcal-admin{display:none;margin-top:22px;background:var(--gold-50);border:1px solid var(--gold-200);border-radius:18px;padding:20px}
    body.edit-mode .kcal-admin{display:block}
    .kcal-admin textarea{width:100%;min-height:150px;font-family:var(--font-mono);font-size:.85rem;line-height:1.7;padding:12px;border:1px solid var(--warm-300);border-radius:12px;background:#fff;margin-top:10px}
    .kcal-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
    @media(max-width:900px){
      .kcal-grid{grid-template-columns:1fr}
      .kcal-box,.kcal-slip{padding:22px}
      .kcal-total .kcal-v{font-size:1.7rem}
      .kcal-ref th,.kcal-ref td{padding:10px 16px}
      .kcal-ref-head{padding:18px 16px 2px}
    }
    @media(max-width:560px){
      .kcal-ref table{min-width:0}
      .kcal-ref th:nth-child(3),.kcal-ref td:nth-child(3){display:none}
      .kcal-ref th,.kcal-ref td{padding:10px 14px;font-size:.86rem}
    }
    .kcal-print-brand{display:none}
    #kcalPrintRoot{display:none}
    @media print{
      @page{margin:14mm}
      /* Pide que los fondos y tintes se impriman. No todos los navegadores
         hacen caso, por eso nada esencial —el logo, ningun texto— depende de
         que lo hagan: esto solo mejora lo que ya se entiende en blanco y negro. */
      #kcalPrintRoot,#kcalPrintRoot *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
      .kcal-tabs,.kcal-acts,.kcal-ruler,.kcal-admin{display:none!important}
      /* En el papel no hay nada que pulsar. Cualquier boton que haya quedado
         dentro del comprobante —el que abre el costo empleador, el de enviar
         por correo— se queda fuera de la impresion: en un PDF solo estorba. */
      #kcalPrintRoot button,#kcalPrintRoot .kcal-abrir,#kcalPrintRoot .btn{display:none!important}
      body.kcal-printing{background:#fff!important;margin:0}
      body.kcal-printing>*{display:none!important}
      body.kcal-printing>#kcalPrintRoot{display:block!important}
      #kcalPrintRoot .kcal-slip{
        background:#fff!important;color:#14130F!important;box-shadow:none!important;
        border:0;border-radius:0;padding:0;overflow:visible
      }
      #kcalPrintRoot .kcal-slip::after{display:none!important}
      /* La propuesta del cotizador en el papel. En pantalla va pegada al hacer
         scroll y con sombra; en una hoja las dos cosas sobran. */
      #kcalPrintRoot .q-result{position:static!important;top:auto!important;box-shadow:none!important;border:1px solid #C9BEAA;border-radius:0;padding:0}
      #kcalPrintRoot .q-result .rprice{font-size:1.4rem}
      #kcalPrintRoot .quote-line,#kcalPrintRoot .quote-list li{break-inside:avoid;page-break-inside:avoid}
      #kcalPrintRoot .applied-services{display:none!important}
      /* Membrete: el logotipo de verdad a la izquierda y los datos a la
         derecha, como una hoja con papel timbrado. */
      #kcalPrintRoot .kcal-print-brand{display:flex!important;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:14px;border-bottom:2px solid #14130F;margin-bottom:24px}
      /* En tinta, sin la cajita negra. El logotipo iba en blanco sobre fondo
         negro, y el navegador quita los fondos al imprimir: quedaba un logo
         blanco sobre papel blanco, es decir, ningun logo. Asi no depende de que
         el navegador quiera pintar fondos. */
      #kcalPrintRoot .kcal-print-logo{width:164px;flex:none;color:#14130F}
      #kcalPrintRoot .kcal-print-logo svg{width:100%;height:auto;display:block;fill:currentColor;color:#14130F}
      #kcalPrintRoot .kcal-print-datos{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-family:var(--font-mono);font-size:.72rem;line-height:1.5;color:#5D5546!important;text-align:right}
      #kcalPrintRoot .kcal-slip-top{border-bottom:1px dashed #C9BEAA!important;padding-bottom:12px;margin-bottom:10px}
      #kcalPrintRoot .kcal-slip-top b{color:#14130F!important;font-size:1.08rem}
      #kcalPrintRoot .kcal-stamp{color:#14130F!important;border-color:#C9BEAA!important}
      #kcalPrintRoot .kcal-row{border-bottom:1px dotted #E7E1D5;padding:10px 0}
      #kcalPrintRoot .kcal-row .kcal-k,#kcalPrintRoot .kcal-total .kcal-k{color:#403A30!important}
      #kcalPrintRoot .kcal-row .kcal-v,#kcalPrintRoot .kcal-total .kcal-v{color:#14130F!important}
      #kcalPrintRoot .kcal-row.minus .kcal-v{color:#7A5A00!important}
      #kcalPrintRoot .kcal-total{border-top:2px solid #14130F!important;padding-top:14px}
      #kcalPrintRoot .kcal-note{color:#403A30!important;border-left:2px solid #C9BEAA!important;font-size:.86rem}
      #kcalPrintRoot .kcal-pie{margin-top:30px;padding-top:12px;border-top:1px solid #E7E1D5;font-family:var(--font-mono);font-size:.7rem;line-height:1.6;color:#847B68}

      /* Detalles que se notan en papel */
      #kcalPrintRoot{font-size:11.5pt;line-height:1.5}
      #kcalPrintRoot .kcal-row,#kcalPrintRoot .kcal-total,
      #kcalPrintRoot .kcal-destacado{break-inside:avoid;page-break-inside:avoid}
      #kcalPrintRoot .kcal-row.kcal-sub{border-bottom:0;border-top:1px solid #C9BEAA;font-weight:700}
      #kcalPrintRoot .kcal-total .kcal-v{font-size:1.4rem}
      /* Lo que solo tiene sentido en pantalla */
      #kcalPrintRoot .kcal-indic,#kcalPrintRoot .kcal-tabla-ind{border-color:#E7E1D5!important;color:#847B68!important}
      #kcalPrintRoot .kcal-destacado{background:#F3EFE7!important;border:1px solid #C9BEAA}
      #kcalPrintRoot .kcal-destacado .kcal-k,#kcalPrintRoot .kcal-destacado .kcal-v{color:#14130F!important}
      #kcalPrintRoot .kcal-falta-fechas{background:#FFF6F4!important;color:#B42318!important}
      /* Un comprobante de una calculadora cabe en una hoja: nada de viudas. */
      #kcalPrintRoot .kcal-slip>*{orphans:3;widows:3}
    }
