*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--p:#616850;--pd:#4a5040;--pl:#7a8a65;--pxl:#a8b898;--dk:#1a1c18;--dk2:#252720;--gy:#6b6b6b;--lt:#f4f4ef;--wh:#ffffff;--ac:#8fa870}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--wh);color:var(--dk);line-height:1.6}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(26,28,24,.96);backdrop-filter:blur(12px);padding:0 2rem;height:68px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(97,104,80,.25)}
.nav-logo{font-size:1.1rem;font-weight:800;color:#fff;text-decoration:none;letter-spacing:-.5px;display:flex;align-items:center;gap:.7rem}
.nav-logo span{color:var(--ac)}
.nav-links{display:flex;gap:1.5rem;list-style:none}
.nav-links a{color:rgba(255,255,255,.75);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--ac)}
.nav-links a.active{color:#fff;font-weight:600}
.nav-cta{background:var(--p)!important;color:#fff!important;padding:.45rem 1.1rem;border-radius:6px}
.nav-cta:hover{background:var(--pl)!important}
.hbg{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px}
.hbg span{width:22px;height:2px;background:#fff;border-radius:2px}
#home{min-height:100vh;background:var(--dk);display:flex;align-items:center;position:relative;overflow:hidden;padding:68px 2rem 2rem}
.hbg-grad{position:absolute;inset:0;background:radial-gradient(ellipse at 15% 55%,rgba(97,104,80,.18) 0%,transparent 55%),radial-gradient(ellipse at 85% 15%,rgba(143,168,112,.12) 0%,transparent 50%)}
.hbg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(97,104,80,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(97,104,80,.08) 1px,transparent 1px);background-size:55px 55px}
.h-inner{position:relative;max-width:1100px;margin:0 auto;width:100%}
.h-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(97,104,80,.18);border:1px solid rgba(97,104,80,.4);color:var(--ac);padding:.35rem 1rem;border-radius:100px;font-size:.75rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:1.5rem}
.h-title{font-size:clamp(2.2rem,5vw,3.8rem);font-weight:800;color:#fff;line-height:1.1;margin-bottom:1.4rem;letter-spacing:-1px}
.h-title .hl{color:var(--ac)}
.h-sub{font-size:1.05rem;color:rgba(255,255,255,.6);max-width:580px;margin-bottom:2.5rem;line-height:1.75}
.h-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn-p{background:var(--p);color:#fff;padding:.8rem 1.8rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .2s;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;font-family:inherit}
.btn-p:hover{background:var(--pl);transform:translateY(-2px);box-shadow:0 8px 24px rgba(97,104,80,.4)}
.btn-o{background:transparent;color:#fff;padding:.8rem 1.8rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .2s;border:1px solid rgba(255,255,255,.25);cursor:pointer;display:inline-flex;align-items:center;gap:.4rem}
.btn-o:hover{border-color:var(--ac);color:var(--ac);transform:translateY(-2px)}
.h-stats{display:flex;gap:3rem;margin-top:3.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);flex-wrap:wrap}
.stat-n{font-size:1.9rem;font-weight:800;color:var(--ac);line-height:1}
.stat-l{font-size:.8rem;color:rgba(255,255,255,.45);margin-top:.3rem}
section{padding:5rem 2rem}
.s-in{max-width:1100px;margin:0 auto}
.page-hero{background:var(--dk);padding:5rem 2rem 3.5rem;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 60%,rgba(97,104,80,.18) 0%,transparent 55%)}
.page-hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(97,104,80,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(97,104,80,.07) 1px,transparent 1px);background-size:55px 55px}
.page-hero-in{position:relative;z-index:1;max-width:1100px;margin:0 auto}
.page-hero-lbl{font-size:.72rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--ac);margin-bottom:.6rem}
.page-hero h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:#fff;line-height:1.15;letter-spacing:-.5px;margin-bottom:.8rem}
.page-hero p{font-size:1rem;color:rgba(255,255,255,.55);max-width:560px;line-height:1.7}
.svc-svg,.ci-svg,.tool-svg{width:22px;height:22px;stroke:var(--p);flex-shrink:0}
.s-lbl{font-size:.75rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--p);margin-bottom:.6rem}
.s-ttl{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;color:var(--dk);line-height:1.15;letter-spacing:-.5px;margin-bottom:.9rem}
.s-desc{font-size:1rem;color:var(--gy);max-width:580px;line-height:1.75;margin-bottom:3rem}
#servicios{background:var(--lt)}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.25rem}
.svc-card{background:var(--wh);border-radius:12px;padding:1.75rem;border:1px solid #e4e4dc;transition:all .3s;position:relative;overflow:hidden}
.svc-card::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--p),var(--ac));transform:scaleX(0);transition:transform .3s;transform-origin:left}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.09);border-color:var(--pxl)}
.svc-card:hover::after{transform:scaleX(1)}
.svc-ico{width:46px;height:46px;background:rgba(97,104,80,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem;font-size:1.4rem}
.svc-t{font-size:1rem;font-weight:700;color:var(--dk);margin-bottom:.6rem}
.svc-d{font-size:.875rem;color:var(--gy);line-height:1.6}
.svc-tag{display:inline-block;margin-top:.9rem;padding:.25rem .7rem;background:rgba(97,104,80,.1);color:var(--p);border-radius:100px;font-size:.72rem;font-weight:700}
#nosotros{background:var(--lt)}
.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.5rem;margin-top:2rem}
.about-card{background:var(--wh);border-radius:12px;padding:1.75rem;border:1px solid #e4e4dc}
.about-ico{width:46px;height:46px;background:rgba(97,104,80,.1);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:1.1rem}
.about-ico svg{width:22px;height:22px;stroke:var(--p)}
.about-t{font-size:1rem;font-weight:700;color:var(--dk);margin-bottom:.5rem}
.about-d{font-size:.875rem;color:var(--gy);line-height:1.6}
#testimonios{background:var(--wh)}
.tst-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-top:2rem}
.tst-card{background:var(--lt);border-radius:12px;padding:1.75rem;border:1px solid #e4e4dc;position:relative}
.tst-card::before{content:'\201C';position:absolute;top:1rem;left:1.5rem;font-size:3rem;color:var(--pxl);line-height:1;font-family:Georgia,serif}
.tst-txt{font-size:.9rem;color:var(--dk);line-height:1.7;margin-bottom:1.2rem;padding-top:1.5rem;font-style:italic}
.tst-author{border-top:1px solid #e4e4dc;padding-top:.9rem}
.tst-name{font-size:.85rem;font-weight:700;color:var(--dk)}
.tst-org{font-size:.78rem;color:var(--gy);margin-top:.15rem}
#test{background:var(--wh)}
.test-wrap{background:var(--dk);border-radius:16px;overflow:hidden}
.test-hd{padding:2.5rem 3rem;background:linear-gradient(135deg,var(--dk2) 0%,var(--dk) 100%);border-bottom:1px solid rgba(97,104,80,.25)}
.test-hd .s-lbl{color:var(--ac)}
.test-hd .s-ttl{color:#fff;margin-bottom:.4rem}
.test-hd .s-desc{color:rgba(255,255,255,.45);margin-bottom:0}
.t-prog-wrap{background:rgba(255,255,255,.1);border-radius:100px;height:5px;margin-top:1.5rem;overflow:hidden}
.t-prog{height:100%;background:linear-gradient(90deg,var(--p),var(--ac));border-radius:100px;transition:width .4s ease;width:0%}
.t-prog-lbl{color:rgba(255,255,255,.35);font-size:.75rem;margin-top:.4rem;text-align:right}
.test-body{padding:2.5rem 3rem}
.t-q{display:none}.t-q.active{display:block}
.q-cat{font-size:.72rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--ac);margin-bottom:.6rem}
.q-text{font-size:1.1rem;font-weight:600;color:#fff;margin-bottom:1.8rem;line-height:1.55}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:2rem}
.opt{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.75);padding:.9rem 1.1rem;border-radius:10px;cursor:pointer;text-align:left;font-size:.875rem;font-family:inherit;transition:all .2s;line-height:1.45}
.opt:hover{background:rgba(97,104,80,.2);border-color:var(--p);color:#fff}
.opt.sel{background:rgba(97,104,80,.28);border-color:var(--ac);color:#fff}
.t-nav{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.08)}
.btn-tn{background:var(--p);color:#fff;border:none;padding:.7rem 1.6rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;display:flex;align-items:center;gap:.4rem}
.btn-tn:hover:not(:disabled){background:var(--pl);transform:translateY(-1px)}
.btn-tn:disabled{opacity:.25;cursor:not-allowed;transform:none}
.q-counter{color:rgba(255,255,255,.3);font-size:.82rem}
#t-results{display:none;padding:2.5rem 3rem}
.res-header{text-align:center;margin-bottom:2.5rem}
.score-ring{width:150px;height:150px;margin:0 auto 1.2rem;position:relative}
.score-ring svg{width:150px;height:150px;transform:rotate(-90deg)}
.score-ring-bg{fill:none;stroke:rgba(255,255,255,.08);stroke-width:10}
.score-ring-fg{fill:none;stroke-width:10;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease;stroke:var(--ac)}
.score-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center}
.score-pct{font-size:2.2rem;font-weight:800;color:#fff;line-height:1}
.score-unit{font-size:.8rem;color:rgba(255,255,255,.4)}
.score-title{font-size:1.1rem;font-weight:700;color:#fff;margin-bottom:.3rem}
.score-sub{font-size:.875rem;color:rgba(255,255,255,.45)}
.cats-grid{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:2.5rem}
.cat-box{background:rgba(255,255,255,.04);border-radius:10px;padding:1.1rem}
.cat-nm{font-size:.75rem;font-weight:700;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.55rem}
.cat-bar-bg{background:rgba(255,255,255,.1);border-radius:100px;height:7px;margin-bottom:.4rem;overflow:hidden}
.cat-bar-fg{height:100%;border-radius:100px;transition:width 1s ease}
.cat-pct{font-size:.85rem;font-weight:700;color:var(--ac)}
.res-contact{background:rgba(97,104,80,.13);border:1px solid rgba(97,104,80,.28);border-radius:12px;padding:2rem}
.res-contact h3{color:#fff;font-size:1rem;font-weight:700;margin-bottom:.3rem}
.res-contact p{color:rgba(255,255,255,.45);font-size:.85rem;margin-bottom:1.5rem}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.f-grp{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}
.f-grp label{font-size:.73rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.5)}
.f-grp input,.f-grp textarea,.f-grp select{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);color:#fff;padding:.7rem .95rem;border-radius:8px;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}
.f-grp input:focus,.f-grp textarea:focus{border-color:var(--ac)}
.f-grp input::placeholder,.f-grp textarea::placeholder{color:rgba(255,255,255,.22)}
.f-grp textarea{resize:vertical;min-height:90px}
#herramientas{background:var(--dk)}
#herramientas .s-lbl{color:var(--ac)}
#herramientas .s-ttl{color:#fff}
#herramientas .s-desc{color:rgba(255,255,255,.5)}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem}
.tool-card{background:rgba(255,255,255,.04);border:1px solid rgba(97,104,80,.25);border-radius:16px;padding:2.2rem;cursor:pointer;transition:all .3s;position:relative;overflow:hidden}
.tool-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--p),var(--ac))}
.tool-card:hover{background:rgba(97,104,80,.1);border-color:var(--ac);transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.3)}
.tool-ico{font-size:2.5rem;margin-bottom:1rem}
.tool-title{font-size:1.15rem;font-weight:700;color:#fff;margin-bottom:.5rem}
.tool-desc{font-size:.875rem;color:rgba(255,255,255,.45);line-height:1.65;margin-bottom:1.5rem}
.tool-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}
.tool-tag{padding:.2rem .65rem;background:rgba(97,104,80,.18);color:var(--ac);border-radius:100px;font-size:.72rem;font-weight:700}
.tool-btn{background:var(--p);color:#fff;border:none;padding:.65rem 1.4rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .2s;display:inline-flex;align-items:center;gap:.4rem}
.tool-btn:hover{background:var(--pl)}
#contacto{background:var(--lt)}
.c-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:4rem;align-items:start}
.ci-item{display:flex;gap:1rem;margin-bottom:1.4rem;align-items:flex-start}
.ci-ico{width:42px;height:42px;background:var(--p);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.ci-text strong{display:block;font-size:.875rem;font-weight:700;color:var(--dk);margin-bottom:.15rem}
.ci-text span{font-size:.875rem;color:var(--gy)}
.c-form-box{background:var(--wh);border-radius:16px;padding:2.5rem;border:1px solid #e4e4dc;box-shadow:0 4px 28px rgba(0,0,0,.06)}
.c-form-box .f-grp label{color:rgba(0,0,0,.55)}
.c-form-box .f-grp input,.c-form-box .f-grp textarea,.c-form-box .f-grp select{background:var(--lt);border:1px solid #ddd;color:var(--dk)}
.c-form-box .f-grp input:focus,.c-form-box .f-grp textarea:focus{border-color:var(--p)}
.c-form-box .f-grp input::placeholder,.c-form-box .f-grp textarea::placeholder{color:rgba(0,0,0,.22)}
.c-form-box .btn-p{width:100%;justify-content:center;margin-top:.5rem}
footer{background:var(--dk);padding:3rem 2rem;text-align:center}
.ft-in{max-width:1100px;margin:0 auto}
.ft-logo{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-bottom:.4rem}
.ft-logo-txt{font-size:1.1rem;font-weight:800;color:#fff}
.ft-logo-txt span{color:var(--ac)}
.ft-tag{color:rgba(255,255,255,.35);font-size:.82rem;margin-bottom:1.5rem}
.ft-links{display:flex;gap:2rem;justify-content:center;list-style:none;margin-bottom:1.5rem;flex-wrap:wrap}
.ft-links a{color:rgba(255,255,255,.4);text-decoration:none;font-size:.8rem;transition:color .2s}
.ft-links a:hover{color:var(--ac)}
.ft-links a.active{color:#fff;font-weight:600}
.ft-legal{display:flex;gap:1.5rem;justify-content:center;margin-bottom:1.5rem;flex-wrap:wrap}
.ft-legal a{color:rgba(255,255,255,.25);text-decoration:none;font-size:.75rem;transition:color .2s}
.ft-legal a:hover{color:var(--ac)}
.ft-copy{color:rgba(255,255,255,.2);font-size:.72rem}
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--dk2);border-top:1px solid rgba(97,104,80,.35);padding:.9rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;z-index:2000;flex-wrap:wrap;transform:translateY(100%);transition:transform .4s ease}
.cookie-banner.visible{transform:translateY(0)}
.cookie-banner-txt{font-size:.8rem;color:rgba(255,255,255,.55);line-height:1.5;margin:0}
.cookie-banner-btn{padding:.5rem 1.2rem!important;font-size:.82rem!important;flex-shrink:0}
.toast{position:fixed;bottom:2rem;right:2rem;background:var(--dk2);border:1px solid var(--p);color:#fff;padding:1rem 1.4rem;border-radius:10px;font-size:.875rem;z-index:9999;transform:translateY(120px);opacity:0;transition:all .35s;max-width:320px;line-height:1.5}
.toast.show{transform:translateY(0);opacity:1}
.modal-ov{position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:3000;display:none;align-items:flex-start;justify-content:center;padding:1rem;backdrop-filter:blur(8px);overflow-y:auto}
.modal-ov.open{display:flex}
.modal-box{background:var(--dk2);border:1px solid rgba(97,104,80,.3);border-radius:16px;width:100%;max-width:1040px;margin:auto;position:relative}
.modal-box.legal-box{max-width:760px}
.modal-hd{padding:1.5rem 2rem;border-bottom:1px solid rgba(97,104,80,.2);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--dk2);z-index:10;border-radius:16px 16px 0 0}
.modal-ttl{font-size:1.05rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.6rem}
.modal-close{background:rgba(255,255,255,.08);border:none;color:#fff;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .2s;flex-shrink:0}
.modal-close:hover{background:rgba(255,255,255,.15)}
.modal-body{padding:2rem}
.legal-content{color:rgba(255,255,255,.65);font-size:.875rem;line-height:1.8;max-height:70vh;overflow-y:auto;padding-right:.5rem}
.legal-content h2{color:#fff;font-size:1rem;font-weight:700;margin:1.5rem 0 .5rem;border-bottom:1px solid rgba(97,104,80,.2);padding-bottom:.4rem}
.legal-content h2:first-child{margin-top:0}
.legal-content h3{color:var(--ac);font-size:.875rem;font-weight:700;margin:.9rem 0 .3rem}
.legal-content p{margin-bottom:.7rem}
.legal-content ul{margin:.4rem 0 .7rem 1.2rem}
.legal-content li{margin-bottom:.3rem}
.legal-content strong{color:rgba(255,255,255,.85)}
.steps-bar{display:flex;gap:.5rem;margin-bottom:2rem}
.step-it{display:flex;align-items:center;gap:.4rem;font-size:.78rem;font-weight:600;color:rgba(255,255,255,.25)}
.step-it.active{color:var(--ac)}
.step-it.done{color:rgba(255,255,255,.4)}
.step-n{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}
.step-it.active .step-n{background:var(--p);border-color:var(--ac);color:#fff}
.step-it.done .step-n{background:var(--ac);border-color:var(--ac);color:var(--dk)}
.step-sep{flex:1;height:1px;background:rgba(255,255,255,.08);margin:0 .25rem}
.cat-step{display:none}.cat-step.active{display:block}
.dim-wrap{overflow-x:auto;margin-bottom:1rem}
.dim-table{width:100%;border-collapse:collapse;min-width:650px}
.dim-table th{padding:.55rem .7rem;text-align:center;font-size:.68rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.07)}
.dim-table th:first-child{text-align:left}
.dim-table td{padding:.45rem .7rem;border-bottom:1px solid rgba(255,255,255,.05);font-size:.83rem;color:rgba(255,255,255,.7);vertical-align:middle;text-align:center}
.dim-table td:first-child{text-align:left}
.dim-table tr:hover td{background:rgba(255,255,255,.02)}
.name-input{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;padding:.35rem .6rem;border-radius:6px;font-size:.82rem;font-family:inherit;outline:none;width:100%;min-width:140px}
.name-input:focus{border-color:var(--ac)}
.dim-sel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;padding:.32rem .4rem;border-radius:6px;font-size:.78rem;font-family:inherit;outline:none;width:78px;cursor:pointer;text-align:center}
.dim-sel option{background:#252720}
.BAJO{border-color:rgba(90,138,90,.5)!important;color:#8fd08f!important}
.MEDIO{border-color:rgba(184,134,11,.5)!important;color:#f0c040!important}
.ALTO{border-color:rgba(192,57,43,.5)!important;color:#ff9090!important}
.add-row-btn{background:rgba(97,104,80,.12);border:1px dashed rgba(97,104,80,.35);color:var(--ac);padding:.55rem 1rem;border-radius:8px;cursor:pointer;font-size:.8rem;font-weight:600;font-family:inherit;transition:all .2s;width:100%;margin-top:.5rem;display:flex;align-items:center;justify-content:center;gap:.4rem}
.add-row-btn:hover{background:rgba(97,104,80,.22)}
.del-btn{background:rgba(231,76,60,.08);border:1px solid rgba(231,76,60,.2);color:#e74c3c;width:26px;height:26px;border-radius:6px;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s;font-family:inherit;padding:0}
.del-btn:hover{background:rgba(231,76,60,.2)}
.cat-res-box{background:rgba(255,255,255,.03);border:1px solid rgba(97,104,80,.2);border-radius:12px;padding:1.4rem 1.75rem;margin-bottom:1.5rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
.cat-badge{padding:.4rem 1.3rem;border-radius:100px;font-size:.95rem;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.cb-ALTA{background:rgba(192,57,43,.15);border:1px solid rgba(192,57,43,.4);color:#ff9090}
.cb-MEDIA{background:rgba(184,134,11,.15);border:1px solid rgba(184,134,11,.4);color:#f0c040}
.cb-BASICA{background:rgba(90,138,90,.15);border:1px solid rgba(90,138,90,.4);color:#8fd08f}
.cb-ND{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.3)}
.dim-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.dc{padding:.22rem .65rem;border-radius:100px;font-size:.7rem;font-weight:700}
.dc-A{background:rgba(192,57,43,.12);border:1px solid rgba(192,57,43,.3);color:#ff9090}
.dc-M{background:rgba(184,134,11,.12);border:1px solid rgba(184,134,11,.3);color:#f0c040}
.dc-B{background:rgba(90,138,90,.12);border:1px solid rgba(90,138,90,.3);color:#8fd08f}
.dc-N{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.25)}
.norm-tabs{display:flex;gap:.5rem;margin-bottom:1.5rem}
.norm-tab{padding:.5rem 1.3rem;border-radius:8px;border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.4);cursor:pointer;font-size:.875rem;font-weight:700;font-family:inherit;transition:all .2s}
.norm-tab.active{background:var(--p);border-color:var(--ac);color:#fff}
.cat-sel-row{display:flex;gap:.6rem;margin-bottom:1.5rem;align-items:center;flex-wrap:wrap}
.cat-sel-row label{font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.35)}
.cat-sel-btn{padding:.4rem 1.1rem;border-radius:100px;border:1px solid rgba(255,255,255,.12);background:transparent;color:rgba(255,255,255,.4);cursor:pointer;font-size:.82rem;font-weight:700;font-family:inherit;transition:all .2s}
.cat-sel-btn.active{color:#fff}
.cat-sel-btn.cB.active{background:rgba(90,138,90,.2);border-color:rgba(90,138,90,.5);color:#8fd08f}
.cat-sel-btn.cM.active{background:rgba(184,134,11,.2);border-color:rgba(184,134,11,.5);color:#f0c040}
.cat-sel-btn.cA.active{background:rgba(192,57,43,.2);border-color:rgba(192,57,43,.5);color:#ff9090}
.soa-filter-bar{display:flex;gap:.6rem;margin-bottom:1rem;flex-wrap:wrap}
.soa-search{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;padding:.5rem .9rem;border-radius:8px;font-size:.82rem;font-family:inherit;outline:none;flex:1;min-width:160px}
.soa-search::placeholder{color:rgba(255,255,255,.2)}
.soa-search:focus{border-color:var(--ac)}
.fam-sel{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#fff;padding:.5rem .7rem;border-radius:8px;font-size:.8rem;font-family:inherit;outline:none;cursor:pointer}
.fam-sel option{background:#252720}
.soa-wrap{overflow-x:auto;max-height:420px;overflow-y:auto;border-radius:10px;border:1px solid rgba(255,255,255,.07)}
.soa-table{width:100%;border-collapse:collapse;min-width:700px}
.soa-table thead th{padding:.55rem .75rem;text-align:left;font-size:.67rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.25);background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08);position:sticky;top:0}
.soa-table tbody td{padding:.5rem .75rem;border-bottom:1px solid rgba(255,255,255,.04);font-size:.81rem;vertical-align:middle}
.soa-table tbody tr:last-child td{border-bottom:none}
.soa-table tbody tr:hover td{background:rgba(255,255,255,.02)}
.ctrl-id{font-weight:700;color:var(--ac);font-family:monospace;font-size:.78rem;white-space:nowrap}
.ctrl-name{color:rgba(255,255,255,.75)}
.ctrl-fam{color:rgba(255,255,255,.25);font-size:.72rem}
.aplic-cb{accent-color:var(--ac);width:15px;height:15px;cursor:pointer;flex-shrink:0}
.aplic-lbl{font-size:.75rem;font-weight:700;cursor:pointer}
.aplic-yes{color:var(--ac)}
.aplic-no{color:rgba(255,255,255,.25);text-decoration:line-through}
.just-inp{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:rgba(255,255,255,.5);padding:.28rem .5rem;border-radius:5px;font-size:.73rem;font-family:inherit;outline:none;width:100%;min-width:130px}
.just-inp:focus{border-color:rgba(97,104,80,.4)}
.soa-stats-bar{display:flex;gap:2rem;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.07);margin-top:.75rem;flex-wrap:wrap}
.soa-stat-n{font-size:1.5rem;font-weight:800;color:var(--ac);line-height:1}
.soa-stat-l{font-size:.7rem;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.5px;margin-top:.2rem}
.modal-footer{padding:1.25rem 2rem;border-top:1px solid rgba(97,104,80,.2);display:flex;gap:.75rem;justify-content:flex-end;background:rgba(0,0,0,.15);border-radius:0 0 16px 16px}
.sec-lbl{font-size:.78rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:.75rem;margin-top:1.5rem}
.sec-lbl:first-child{margin-top:0}
.export-modal{position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:5000;display:none;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(6px)}
.export-modal.open{display:flex}
.export-box{background:var(--dk2);border:1px solid rgba(97,104,80,.35);border-radius:14px;padding:2rem;width:100%;max-width:420px}
.export-box h3{color:#fff;font-size:1rem;font-weight:700;margin-bottom:.4rem}
.export-box p{color:rgba(255,255,255,.45);font-size:.85rem;margin-bottom:1.5rem;line-height:1.55}
.export-box .f-grp label{color:rgba(255,255,255,.5)}
.export-btns{display:flex;gap:.75rem;margin-top:1.25rem}
.export-btns .btn-p{flex:1;justify-content:center}
.btn-cancel{flex:1;justify-content:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.5);padding:.8rem 1.8rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;font-family:inherit;transition:all .2s}
.btn-cancel:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-loading{position:relative;pointer-events:none;opacity:.7}
.btn-loading::after{content:'';width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite;display:inline-block;margin-left:.5rem}
@keyframes spin{to{transform:rotate(360deg)}}
/* ── Tool card as link ── */
a.tool-card-link{display:flex;flex-direction:column;text-decoration:none;color:inherit;cursor:pointer}
a.tool-card-link:hover{transform:translateY(-3px)}
/* ── Newsletter ── */
#newsletter{background:var(--dk);position:relative;overflow:hidden;padding:5rem 2rem;text-align:center}
.nl-in{position:relative;z-index:1;max-width:680px;margin:0 auto}
.nl-title{font-size:clamp(1.8rem,3.5vw,2.6rem);font-weight:800;color:#fff;line-height:1.15;letter-spacing:-.5px;margin-bottom:1rem}
.nl-sub{font-size:.975rem;color:rgba(255,255,255,.5);line-height:1.75;max-width:560px;margin:0 auto 2rem}
.nl-form{display:flex;gap:.75rem;max-width:480px;margin:0 auto;flex-wrap:wrap;justify-content:center}
.nl-input{flex:1;min-width:220px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);color:#fff;padding:.85rem 1.1rem;border-radius:8px;font-size:.9rem;font-family:inherit;outline:none;transition:border-color .2s}
.nl-input:focus{border-color:var(--ac)}
.nl-input::placeholder{color:rgba(255,255,255,.25)}
.nl-disclaimer{font-size:.73rem;color:rgba(255,255,255,.22);margin-top:.85rem;line-height:1.5}
.nl-pills{display:flex;gap:.65rem;flex-wrap:wrap;justify-content:center;margin-top:2rem}
.nl-pill{display:flex;align-items:center;gap:.45rem;background:rgba(97,104,80,.1);border:1px solid rgba(97,104,80,.2);color:rgba(255,255,255,.4);padding:.35rem .9rem;border-radius:100px;font-size:.74rem}
.nl-pill svg{width:13px;height:13px;stroke:var(--ac);flex-shrink:0}
.nl-success{display:none;padding:2rem 0}
.nl-success-ico{width:56px;height:56px;background:rgba(97,104,80,.15);border:1px solid rgba(97,104,80,.35);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.nl-success-ico svg{width:26px;height:26px;stroke:var(--ac)}
.nl-success-title{font-size:1.5rem;font-weight:800;color:#fff;margin-bottom:.4rem}
.nl-success-msg{font-size:.9rem;color:rgba(255,255,255,.45);max-width:380px;margin:0 auto;line-height:1.65}
/* ── Blog ── */
#blog-list{background:var(--lt)}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-top:2.5rem}
.blog-card{background:var(--wh);border-radius:12px;border:1px solid #e4e4dc;overflow:hidden;transition:all .3s;text-decoration:none;color:inherit;display:flex;flex-direction:column}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(0,0,0,.09);border-color:var(--pxl)}
.blog-card-cover{height:148px;background:linear-gradient(135deg,var(--dk2) 0%,rgba(97,104,80,.55) 100%);display:flex;align-items:center;justify-content:center;position:relative}
.blog-card-cover svg{width:38px;height:38px;stroke:rgba(255,255,255,.18)}
.blog-card-body{padding:1.4rem;flex:1;display:flex;flex-direction:column}
.blog-card-meta{display:flex;gap:.6rem;align-items:center;margin-bottom:.7rem;flex-wrap:wrap}
.blog-card-tag{background:rgba(97,104,80,.1);color:var(--p);padding:.18rem .6rem;border-radius:100px;font-size:.7rem;font-weight:700}
.blog-card-date{font-size:.72rem;color:var(--gy)}
.blog-card-title{font-size:.975rem;font-weight:700;color:var(--dk);margin-bottom:.5rem;line-height:1.4}
.blog-card-desc{font-size:.84rem;color:var(--gy);line-height:1.6;margin-bottom:1rem;flex:1}
.blog-card-read{font-size:.78rem;font-weight:700;color:var(--p);display:inline-flex;align-items:center;gap:.3rem;margin-top:auto}
.blog-card-read:hover{color:var(--ac)}
.blog-soon{border:2px dashed rgba(97,104,80,.25);border-radius:16px;padding:3.5rem 2rem;text-align:center;background:rgba(97,104,80,.03)}
.blog-soon-ico{width:52px;height:52px;background:rgba(97,104,80,.08);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.blog-soon-ico svg{width:24px;height:24px;stroke:var(--p)}
.blog-soon-title{font-size:1.1rem;font-weight:700;color:var(--dk);margin-bottom:.5rem}
.blog-soon-desc{font-size:.875rem;color:var(--gy);max-width:480px;margin:0 auto 1.5rem;line-height:1.65}
/* ── FAQ accordion ── */
#faq{background:var(--lt)}
.faq-list{max-width:800px;margin:2.5rem auto 0;display:flex;flex-direction:column;gap:.6rem}
.faq-item{border:1px solid rgba(97,104,80,.2);border-radius:10px;background:var(--wh);overflow:hidden;transition:box-shadow .2s}
.faq-item[open]{box-shadow:0 4px 20px rgba(97,104,80,.12)}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.4rem;cursor:pointer;font-weight:600;font-size:.95rem;color:var(--dk);list-style:none;user-select:none}
.faq-q::-webkit-details-marker{display:none}
.faq-q:hover{color:var(--p)}
.faq-ico{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--lt);display:flex;align-items:center;justify-content:center;position:relative}
.faq-ico::before,.faq-ico::after{content:'';position:absolute;background:var(--p);border-radius:2px;transition:transform .25s}
.faq-ico::before{width:10px;height:2px}
.faq-ico::after{width:2px;height:10px}
.faq-item[open] .faq-ico::after{transform:rotate(90deg);opacity:0}
.faq-a{padding:0 1.4rem 1.2rem;color:var(--gy);font-size:.9rem;line-height:1.7}
.faq-a p{margin:0}
@media(max-width:768px){
  .nav-links{display:none;flex-direction:column;position:absolute;top:68px;left:0;right:0;background:rgba(26,28,24,.98);padding:1.5rem 2rem;gap:1.2rem;border-bottom:1px solid rgba(97,104,80,.3)}
  .nav-links.open{display:flex}
  .hbg{display:flex}
  .opts,.cats-grid,.f-row,.c-grid,.tools-grid{grid-template-columns:1fr}
  .test-body,.test-hd,#t-results{padding:1.5rem}
  .h-stats{gap:1.5rem}
  .modal-body,.modal-hd,.modal-footer{padding:1.25rem}
  .steps-bar .step-it span:not(.step-n){display:none}
}
