.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.portfolio-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px var(--s5);background:var(--ink);color:var(--bone);font-size:12px;letter-spacing:.04em}.portfolio-topbar a{color:inherit;text-decoration:none}.portfolio-topbar a:hover{text-decoration:underline}.portfolio-shell{max-width:1240px;margin:0 auto;padding:0 var(--s5) var(--s9)}.portfolio-hero{padding:var(--s7) 0 var(--s6)}.portfolio-kicker{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--ink-60);margin:0 0 var(--s3)}.portfolio-hero h1{font-size:clamp(28px,3.6vw,46px);letter-spacing:-.03em;margin:0 0 var(--s3);max-width:24ch}.portfolio-hero>p{max-width:62ch;color:var(--ink-60);font-size:15px;line-height:1.6;margin:0 0 var(--s5)}.language-row{display:flex;gap:6px}.language-row button{border:1px solid var(--rule-strong);background:var(--paper);padding:6px 12px;font-size:12px;letter-spacing:.04em;cursor:pointer;border-radius:var(--radius)}.language-row button.active{background:var(--ink);color:var(--bone);border-color:var(--ink)}.portfolio-rule{border-top:1px solid var(--rule-strong);margin-bottom:var(--s6)}.catalog-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s6)}.catalog-tools input,.catalog-tools select{padding:10px 12px;border:1px solid var(--rule-strong);background:var(--paper);font:inherit;font-size:13px;min-width:220px;border-radius:var(--radius)}.catalog-tools strong{font-size:12px;color:var(--ink-60);font-weight:600}.cart-link{margin-left:auto;text-decoration:none;font-size:13px;font-weight:650;border:1px solid var(--ink);padding:9px 14px;border-radius:var(--radius)}.cart-link:hover{background:var(--ink);color:var(--bone)}.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:1px;gap:1px;background:var(--rule-strong);border:1px solid var(--rule-strong)}.catalog-card{background:var(--paper);padding:var(--s4);display:flex;flex-direction:column;gap:6px}.catalog-card img{width:100%;aspect-ratio:1.1;object-fit:contain;background:var(--bone-deep);mix-blend-mode:multiply;margin-bottom:var(--s2)}.catalog-card small{font-size:10px;letter-spacing:.06em;color:var(--ink-60);text-transform:uppercase}.catalog-card h2{font-size:15px;font-weight:650;letter-spacing:-.01em;margin:0}.catalog-card h2 a{text-decoration:none}.catalog-card h2 a:hover{text-decoration:underline}.catalog-card p{font-size:12.5px;color:var(--ink-60);line-height:1.5;margin:0;flex:1 1}.card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:8px;border-top:1px solid var(--rule);font-size:12px}.card-actions strong{font-size:15px;letter-spacing:-.01em}.card-actions button{border:1px solid var(--ink);background:var(--ink);color:var(--bone);padding:7px 13px;font:inherit;font-size:12px;cursor:pointer;border-radius:var(--radius)}.card-actions a{color:var(--ink-60);text-decoration:none;font-size:11px;margin-left:auto}.card-actions a:hover{text-decoration:underline}.card-actions a[href^="/presupuesto"]{color:var(--ink);font-weight:650;margin-left:0;font-size:13px}.empty-state{padding:var(--s9) 0;text-align:center;color:var(--ink-60)}.product-detail{padding-top:var(--s6)}.product-detail>a:first-child{display:inline-block;margin-bottom:var(--s5);font-size:13px;color:var(--ink-60);text-decoration:none}.detail-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s7);gap:var(--s7);align-items:start}.detail-grid img{width:100%;background:var(--bone-deep);object-fit:contain;mix-blend-mode:multiply}.detail-grid h1{font-size:clamp(24px,3vw,36px);margin:var(--s2) 0;letter-spacing:-.02em}.detail-grid p{color:var(--ink-60);font-size:14px;line-height:1.65}.detail-price{font-size:28px;font-weight:700;color:var(--ink);letter-spacing:-.02em;margin:var(--s4) 0 var(--s2)!important}.status-note{font-size:12.5px;color:var(--ink-40)!important}.portfolio-cta{display:inline-block;margin:var(--s4) 0;background:var(--lit);color:var(--paper);padding:12px 20px;text-decoration:none;font-weight:650;font-size:14px;border-radius:var(--radius)}.portfolio-cta:hover{background:var(--lit-deep)}.source-link{display:block;margin-top:var(--s4);font-size:12px;color:var(--ink-40)!important;text-decoration:none}.source-link:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--font-gauge);font-weight:700;font-size:.84rem;letter-spacing:.02em;text-decoration:none;cursor:pointer;padding:var(--s3) var(--s5);border-radius:var(--radius);border:var(--tick-major) solid var(--ink);background:var(--ink);color:var(--bone);transition:transform .12s ease,background-color .15s ease}.btn:hover{background:var(--lit);border-color:var(--lit);color:var(--paper)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:wait}.quote-form{padding-top:var(--s6);max-width:640px}.quote-form label{display:flex;flex-direction:column;gap:9px;font-size:12px;margin-bottom:22px;font-weight:550}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.quote-form input:not([type=checkbox]){width:100%;min-width:0;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper);padding:13px 12px;color:var(--ink);font-size:14px}.quote-form .consent{flex-direction:row;align-items:flex-start;font-weight:400;line-height:1.5}.quote-form .consent input{width:18px;height:18px;flex-shrink:0;accent-color:var(--ink);margin:0}.privacy-note{background:var(--bone-deep);font-size:11px;padding:15px;margin-bottom:20px}.privacy-note p{margin-bottom:0}.form-error{color:var(--danger);font-size:14px}.small{font-size:11px!important;color:var(--ink-60)}.cart-table{width:100%;border-collapse:collapse;margin-bottom:var(--s5)}.cart-table th{text-align:left;font-size:11px;color:var(--ink-60);font-weight:600;padding-bottom:10px;border-bottom:1px solid var(--rule-strong)}.cart-table td{padding:12px 8px 12px 0;border-bottom:1px solid var(--rule);font-size:14px;vertical-align:middle}.cart-table input[type=number]{width:64px;padding:6px;border:1px solid var(--rule-strong);border-radius:var(--radius);font:inherit}.cart-remove{background:none;border:none;color:var(--danger);text-decoration:underline;cursor:pointer;font-size:12px;padding:0}.cart-total{font-size:16px;margin:var(--s4) 0 var(--s6);text-align:right}.cart-total strong{font-size:22px}@media (max-width:760px){.detail-grid{grid-template-columns:1fr}.catalog-tools input{min-width:0;flex:1 1}.form-row{grid-template-columns:1fr;gap:0}}