@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-00.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-01.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-02.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-03.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-04.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-05.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-06.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-00.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-01.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-02.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-03.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-04.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-05.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-06.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-00.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-01.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-02.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-03.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-04.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-05.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-06.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-tight-07.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-tight-08.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-tight-09.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-tight-10.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-tight-11.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-tight-12.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-tight-13.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-tight-07.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-tight-08.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-tight-09.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-tight-10.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-tight-11.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-tight-12.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-tight-13.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-tight-07.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-tight-08.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-tight-09.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-tight-10.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-tight-11.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-tight-12.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-tight-13.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/inter-tight-07.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/inter-tight-08.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/inter-tight-09.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/inter-tight-10.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/inter-tight-11.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/inter-tight-12.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/inter-tight-13.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/inter-tight-07.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/inter-tight-08.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/inter-tight-09.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/inter-tight-10.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/inter-tight-11.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/inter-tight-12.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Inter Tight';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/inter-tight-13.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--red:oklch(39% .125 30);--red-hover:oklch(34% .125 30);--red-bright:oklch(52% .21 27);--red-bright-hover:oklch(47% .20 27);--ink:oklch(10% .01 260);--ink-80:oklch(10% .01 260 / .8);--white:oklch(99% .005 90);--slate:oklch(20% .04 260);--gray-50:oklch(96% .005 260);--gray-100:oklch(93% .006 260);--gray-200:oklch(88% .008 260);--gray-400:oklch(72% .008 260);--gray-500:oklch(48.5% .01 260);--font-display:'Inter Tight',system-ui,sans-serif;--font-body:'Inter',system-ui,sans-serif;--radius-sm:6px;--radius:8px;--radius-lg:12px;--cap-h:38px;--shadow-sm:0 1px 3px oklch(0% 0 0 / .08),0 1px 2px oklch(0% 0 0 / .06);--shadow-md:0 4px 16px oklch(0% 0 0 / .10),0 2px 6px oklch(0% 0 0 / .07);--ease-out-quart:cubic-bezier(.25,1,.5,1);--dur-fast:150ms;--dur:250ms;--dur-slow:400ms;--container:1200px;--gutter:clamp(1.25rem,5vw,3rem);--hdr-stuck:72px;--section-v:clamp(3.25rem,7vw,5rem)}@media (min-width:768px){:root{--hdr-stuck:84px}}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1rem;line-height:1.65;color:var(--ink);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip;overscroll-behavior-x:none}body.is-gallery-open{overflow:hidden}img,video,svg{display:block;max-width:100%}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;padding:0}input,textarea,select{font:inherit}:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:2px}.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.btn{display:inline-block;padding:.875rem 2.25rem;border:2px solid var(--red);background:transparent;border-radius:var(--radius);transition:background var(--dur-fast) var(--ease-out-quart),border-color var(--dur-fast) var(--ease-out-quart),box-shadow var(--dur-fast) var(--ease-out-quart),transform var(--dur-fast) var(--ease-out-quart);text-decoration:none;white-space:nowrap;min-width:44px;cursor:pointer}.btn > span{display:inline-block;font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--ink);transition:color var(--dur-fast) var(--ease-out-quart)}.btn:hover,.btn:focus-visible{background:var(--red)}.btn:hover > span,.btn:focus-visible > span{color:var(--white)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.btn--primary{background:var(--red);border-color:var(--red)}.btn--primary > span{color:var(--white)}.btn--primary:hover,.btn--primary:focus-visible{background:var(--red-hover);border-color:var(--red-hover);box-shadow:0 4px 12px oklch(39% .125 30 / .30)}.btn--outline{background:transparent;border-color:var(--red)}.btn--outline > span{color:var(--ink)}.btn--lg{padding:1.125rem 2.75rem}.btn--lg > span{font-size:15px}.btn--block{display:block;text-align:center}.btn--bar{padding:.8rem 2.5rem;text-align:center}.btn--bar > span{font-size:15px}.eyebrow{display:block;font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}.block{padding-block:var(--section-v)}.block--alt{background:var(--gray-50)}.section-head{margin-bottom:clamp(2.5rem,5vw,4rem);max-width:680px}.section-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.1;letter-spacing:-.025em;margin-top:.5rem}.section-sub{margin-top:.75rem;font-size:1.0625rem;color:var(--gray-500);max-width:56ch}.reveal{opacity:0;transform:translateY(28px);transition:opacity var(--dur-slow) var(--ease-out-quart),transform var(--dur-slow) var(--ease-out-quart)}.reveal.is-visible{opacity:1;transform:none}#proyectos.reveal{transition-duration:1600ms}#proyectos.reveal:not(.is-visible){transform:translateY(48px)}@media (prefers-reduced-motion:no-preference){.hero-eyebrow,.hero-line,.hero-lede,.hero-cta-row,.hero-cta-note{animation:heroRise .8s var(--ease-out-quart) backwards}.hero-line--base{animation-delay:.05s}.hero-line--accent{animation-delay:.15s}.hero-lede{animation-delay:.30s}.hero-cta-row{animation-delay:.45s}.hero-cta-note{animation-delay:.55s}}@keyframes heroRise{from{opacity:0;transform:translateY(28px)}}.site-header{position:fixed;top:0;left:0;right:0;z-index:200;background:var(--white);transition:box-shadow var(--dur) var(--ease-out-quart),background var(--dur) var(--ease-out-quart)}.site-header.scrolled{box-shadow:0 1px 0 var(--gray-200),0 4px 20px oklch(0% 0 0 / .06);backdrop-filter:blur(8px);background:oklch(99% .005 90 / .92)}.hdr-inner{display:flex;justify-content:space-between;align-items:center;height:72px;gap:1.5rem}.brand{display:flex;align-items:center;flex-shrink:0}.brand img{height:32px;width:auto;object-fit:contain}.nav{display:flex;align-items:center;gap:clamp(.75rem,2vw,1.75rem)}.nav-link{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.01em;color:var(--ink);transition:color var(--dur-fast);white-space:nowrap}.nav-link:hover{color:var(--red)}.nav-cta{display:inline-flex;align-items:center;height:36px;padding:0 1.125rem;background:var(--red);color:var(--white);font-family:var(--font-display);font-size:.8125rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;border-radius:var(--radius);transition:background var(--dur-fast),box-shadow var(--dur-fast);white-space:nowrap;min-width:44px}.nav-cta > span{display:inline-block}.nav-cta:hover{background:var(--red-hover);box-shadow:0 3px 10px oklch(39% .125 30 / .28)}.menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;color:var(--ink);border-radius:var(--radius-sm)}.menu-toggle:hover{background:var(--gray-50)}.nav-item{display:inline-flex;align-items:center}.nav-item--has-menu{position:relative}.nav-link--catalog{display:inline-flex;align-items:center;gap:.4rem}.nav-chevron{flex:0 0 auto;transition:transform var(--dur-fast) var(--ease-out-quart)}.nav-item--has-menu:hover .nav-chevron,.nav-item--has-menu:focus-within .nav-chevron{transform:translateY(1px) rotate(180deg)}.nav-submenu{position:absolute;top:100%;right:0;transform:translateY(6px);min-width:240px;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:.375rem;opacity:0;visibility:hidden;transition:opacity var(--dur-fast) var(--ease-out-quart),visibility var(--dur-fast),transform var(--dur-fast) var(--ease-out-quart);transition-delay:120ms;z-index:200}.nav-submenu::before{content:"";position:absolute;top:-10px;left:0;right:0;height:10px}.nav-item--has-menu:hover .nav-submenu,.nav-item--has-menu:focus-within .nav-submenu{opacity:1;visibility:visible;transform:translateY(0);transition-delay:0ms}.nav-submenu a{display:block;padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;color:var(--ink);white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast)}.nav-submenu a:hover{background:var(--gray-50);color:var(--red)}.nav-item--has-menu > .nav-link{padding-inline:1rem;padding-block:.625rem}.nav-submenu-all{border-bottom:1px solid var(--gray-200,#e5e5e5);padding-bottom:.375rem;margin-bottom:.375rem;display:block}@media (max-width:767px){.nav-submenu{display:none}}.mobile-nav{position:fixed;inset:72px 0 0 0;height:calc(100dvh - 72px);background:var(--white);display:flex;flex-direction:column;padding:2rem var(--gutter) 3rem;gap:0;border-top:1px solid var(--gray-200);transform:translateX(100%);transition:transform var(--dur) var(--ease-out-quart),visibility var(--dur);visibility:hidden;z-index:190;overflow-y:auto}.mobile-nav.is-open{transform:translateX(0);visibility:visible}.mobile-nav a{display:block;padding:1rem 0;font-size:1.25rem;font-weight:600;border-bottom:1px solid var(--gray-100);color:var(--ink);transition:color var(--dur-fast)}.mobile-nav a:hover{color:var(--red)}.mobile-nav-cta{display:inline-flex !important;align-items:center;justify-content:center;height:52px;background:var(--red);color:var(--white) !important;text-transform:uppercase;border-radius:var(--radius);margin-top:1.5rem;border-bottom:none !important}.mobile-nav-cta:hover{background:var(--red-hover) !important;color:var(--white) !important}.mobile-nav-sub{display:flex;flex-direction:column}.mobile-nav-sub a{display:block;padding:.625rem 1rem .625rem 1.5rem;font-size:1rem;font-weight:500;border-bottom:1px solid var(--gray-100);color:var(--gray-500);transition:color var(--dur-fast)}.mobile-nav-sub a:hover{color:var(--red)}.hero{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:1fr;min-height:100svh;padding-top:72px;overflow:hidden;background:var(--ink);color:var(--white)}@media (min-width:768px){.hero{padding-top:0;min-height:calc(100svh - 120px)}}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 40%;filter:grayscale(.1) saturate(.85) contrast(.95) brightness(.75)}.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient( to right,oklch(10% .01 260 / .8) 0%,oklch(10% .01 260 / .7) 35%,oklch(10% .01 260 / .45) 52%,oklch(10% .01 260 / .15) 72%,oklch(10% .01 260 / .05) 100% )}.hero-inner{position:relative;z-index:3;display:flex;align-items:stretch;max-width:none;width:100%;margin:0;padding:0}.hero-text{display:flex;flex-direction:column;justify-content:flex-start;width:100%;padding:clamp(2rem,6vh,4rem) var(--gutter) clamp(3rem,6vw,4rem);padding-left:clamp(1.5rem,4vw,4rem)}@media (min-width:768px){.hero-text{justify-content:center;padding-left:clamp(3rem,16vw,16rem)}}.hero-text .eyebrow{margin-bottom:1.25rem}.hero-title{font-family:var(--font-display);font-weight:900;font-size:clamp(2.6rem,5.85vw,4.55rem);line-height:1.02;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:1.5rem;color:var(--white)}.hero-lede{font-size:clamp(1rem,2vw,1.125rem);color:rgba(255,255,255,.80);max-width:44ch;margin-bottom:2rem;line-height:1.6}.hero-cta-row{display:flex;flex-wrap:wrap;gap:.875rem;margin-top:2rem;margin-bottom:1.25rem}.hero-cta-note{font-size:.875rem;color:rgba(255,255,255,.65);margin-top:-.25rem}.hero-cta-row .btn-wa-ico{display:inline-block;width:18px;height:18px;vertical-align:-4px;margin-right:.55rem;color:var(--white)}.servicios-intro{padding-block:clamp(1rem,2.5vw,1.75rem) 0}#servicios .section-head{margin-bottom:clamp(1.25rem,2.5vw,2rem);margin-inline:auto;text-align:center}.svc-carousel{position:relative}.svc-viewport{overflow:hidden;padding:12px 24px 20px;margin:-12px -24px -20px}.svc-track{--svc-gap:clamp(1.75rem,3vw,2.25rem);display:flex;align-items:stretch;gap:var(--svc-gap);transition:transform .5s cubic-bezier(.22,.61,.36,1);will-change:transform}.svc-card{flex:0 0 calc((100% - 2 * var(--svc-gap)) / 3);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}.svc-card-in{height:100%;display:flex;flex-direction:column}.svc-card-media{width:100%;overflow:hidden}.svc-card img{width:100%;aspect-ratio:3 / 2;object-fit:cover;display:block;transition:transform .35s ease}.svc-card-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:0 1.5rem 1.75rem}@media (hover:hover) and (pointer:fine){.svc-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px oklch(0% 0 0 / .18)}.svc-card:hover img{transform:scale(1.03)}}.svc-card-title{font-family:var(--font-display);font-weight:800;letter-spacing:.01em;color:var(--ink);font-size:clamp(1.125rem,1.8vw,1.5rem);line-height:1.15;margin:1.5rem 0 .875rem;min-height:2.3em;text-align:center;align-self:stretch}.svc-card-desc{color:var(--gray-500);line-height:1.7;margin:0}@media (min-width:901px) and (max-width:1079px){.svc-track .svc-card:nth-child(-n + 2) .svc-card-desc{min-height:calc(4 * 1.7em)}}@media (min-width:1080px){.svc-track .svc-card:nth-child(-n + 2) .svc-card-desc{min-height:calc(3 * 1.7em)}}.svc-card-list{list-style:none;margin:.875rem 0 0;padding:0;color:var(--gray-500);font-size:.9375rem;line-height:1.5}.svc-card-list li{position:relative;padding-left:1.125rem;margin-top:.375rem}.svc-card-list li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;background:var(--red)}.svc-card-cta{display:block;width:100%;background:var(--red);padding:.95rem 1.5rem;text-align:center;text-decoration:none;transition:background .18s ease}.svc-card-cta span{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--white)}.svc-card-cta:hover{background:var(--red-hover)}.svc-card-cta:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}@media (prefers-reduced-motion:no-preference){.svc-card{opacity:0;translate:0 24px;transition:opacity 2.8s var(--ease-out-quart),translate 2.8s var(--ease-out-quart),transform .25s ease,box-shadow .25s ease}#servicios.is-visible .svc-card{opacity:1;translate:0 0}#servicios.is-visible .svc-card:nth-child(1){transition-delay:0s,0s,0s,0s}#servicios.is-visible .svc-card:nth-child(2){transition-delay:.5s,.5s,0s,0s}#servicios.is-visible .svc-card:nth-child(3){transition-delay:1s,1s,0s,0s}#servicios.is-visible .svc-card:nth-child(4){transition-delay:1.5s,1.5s,0s,0s}#servicios.is-visible .svc-card:nth-child(5){transition-delay:2s,2s,0s,0s}}.btn--ghost-on-dark{background:transparent;border-color:rgba(255,255,255,.55)}.btn--ghost-on-dark > span{color:var(--white)}.btn--ghost-on-dark:hover,.btn--ghost-on-dark:focus-visible{background:var(--red);border-color:var(--red)}.btn--ghost-on-dark:hover > span,.btn--ghost-on-dark:focus-visible > span{color:var(--white)}@media (max-width:900px){.svc-card{flex-basis:100%}}.cat-cards{background:var(--white);padding-block:var(--section-v)}.cat-cards-title{max-width:22ch;margin-inline:auto;font-family:var(--font-display);font-weight:800;font-size:clamp(1.75rem,4vw,2.75rem);line-height:1.12;letter-spacing:-.01em;text-align:center}.cat-cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:1.75rem;row-gap:1.9rem;max-width:900px;margin:clamp(1.75rem,3vw,2.25rem) auto 0}.cat-card{min-width:0;display:flex;align-items:center;gap:.94rem;padding:.8rem .86rem;color:var(--ink);background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:0 1px 2px rgba(15,15,16,.04),0 1px 3px rgba(15,15,16,.03);text-decoration:none;transition:transform .32s var(--ease-out-quart),box-shadow .32s var(--ease-out-quart),border-color .32s var(--ease-out-quart)}.cat-card-media{flex:0 0 auto;width:64px;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--white);border-radius:var(--radius-sm)}.cat-card-media img{width:100%;height:100%;object-fit:contain;transition:transform .5s var(--ease-out-quart)}.cat-card-name{min-width:0;overflow-wrap:break-word;font-family:var(--font-display);font-weight:700;font-size:1.13rem;line-height:1.2;color:var(--red);transition:color .28s var(--ease-out-quart)}@media (prefers-reduced-motion:no-preference){.cat-card{opacity:0;translate:0 16px}#catalogo-home.is-visible .cat-card{animation:cat-card-in .7s var(--ease-out-quart) forwards}#catalogo-home.is-visible .cat-card:nth-child(1){animation-delay:0s}#catalogo-home.is-visible .cat-card:nth-child(2){animation-delay:.06s}#catalogo-home.is-visible .cat-card:nth-child(3){animation-delay:.12s}#catalogo-home.is-visible .cat-card:nth-child(4){animation-delay:.18s}#catalogo-home.is-visible .cat-card:nth-child(5){animation-delay:.24s}#catalogo-home.is-visible .cat-card:nth-child(6){animation-delay:.3s}#catalogo-home.is-visible .cat-card:nth-child(7){animation-delay:.36s}#catalogo-home.is-visible .cat-card:nth-child(8){animation-delay:.42s}#catalogo-home.is-visible .cat-card:nth-child(9){animation-delay:.48s}}@keyframes cat-card-in{to{opacity:1;translate:0 0}}@media (hover:hover) and (pointer:fine){.cat-card:hover,.cat-card:focus-visible{transform:translateY(-4px);border-color:color-mix(in oklch,var(--red) 35%,var(--gray-200));box-shadow:0 12px 28px rgba(15,15,16,.10),0 4px 10px rgba(15,15,16,.06)}.cat-card:hover .cat-card-media img,.cat-card:focus-visible .cat-card-media img{transform:scale(1.06)}.cat-card:hover .cat-card-name,.cat-card:focus-visible .cat-card-name{color:var(--red-bright)}}.cat-card:focus-visible{outline:2px solid var(--red);outline-offset:3px}@media (max-width:900px){.cat-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:720px;column-gap:1.25rem;row-gap:1.5rem}.cat-card{gap:.75rem;padding:.7rem .75rem}.cat-card-media{width:52px}.cat-card-name{font-size:1rem}}@media (max-width:700px){.cat-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:460px;column-gap:1rem;row-gap:1.3rem}.cat-card{gap:.7rem;padding:.65rem .7rem}.cat-card-media{width:44px}.cat-card-name{font-size:.92rem}.cat-cards-grid > .cat-card:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:calc(50% - .5rem)}}#quienes{padding-block:clamp(2.5rem,5vw,3.5rem)}#quienes .section-head{max-width:none;margin-inline:auto;text-align:center}.about-grid{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media (min-width:768px){.about-grid{grid-template-columns:1fr 1fr;gap:3rem}}@media (max-width:767px){.about-grid{grid-template-columns:1fr}.about-media{order:-1}}.about-text{display:flex;flex-direction:column;gap:1.25rem}.about-text p{font-size:1rem;color:var(--gray-500);line-height:1.7;max-width:52ch}.about-media{display:flex;justify-content:center}.about-logo{width:100%;max-width:560px;height:auto}@media (prefers-reduced-motion:no-preference){.about-logo{opacity:0;transform:translateY(24px) scale(.97);transition:opacity 1s var(--ease-out-quart),transform 1s var(--ease-out-quart)}#quienes.is-visible .about-logo{opacity:1;transform:none;transition-delay:.15s}}.steps-block .container{max-width:1440px}.steps-block .section-head{margin-inline:auto;text-align:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem);margin:3rem 0 0;padding:0;list-style:none}.step{position:relative;background:var(--white);border:1px solid var(--gray-200);border-radius:var(--radius);padding:2.75rem 1.5rem 1.75rem;color:var(--ink);text-align:center;transition:transform .25s ease,box-shadow .25s ease}.step-num{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--red);color:var(--white);font-family:var(--font-display);font-weight:700;font-size:1.375rem;line-height:1;box-shadow:0 0 0 4px oklch(94% 0 0 / .9)}.step-name{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:1.125rem}.step-desc{margin-top:.5rem;color:var(--gray-500);font-size:.9375rem;line-height:1.6}.steps-cta{margin-top:1.25rem;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.5rem,3vw,3rem)}.steps-cta .btn{grid-column:2;display:block}@media (max-width:768px){.steps-cta{grid-template-columns:1fr}.steps-cta .btn{grid-column:1}}@media (hover:hover) and (pointer:fine){.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}}@media (max-width:768px){.steps{grid-template-columns:1fr;row-gap:3.25rem}}@media (prefers-reduced-motion:no-preference){.steps .step{opacity:0;transform:translateY(24px) scale(.96);transition:opacity 1.1s var(--ease-out-quart),transform 1.1s var(--ease-out-quart)}.steps-block.is-visible .step{opacity:1;transform:none}.steps-block.is-visible .step:nth-child(1){transition-delay:0s}.steps-block.is-visible .step:nth-child(2){transition-delay:.4s}.steps-block.is-visible .step:nth-child(3){transition-delay:.8s}}.why-block .container{max-width:clamp(1200px,88vw,1720px)}.why-block .section-head{margin-inline:auto;text-align:center}.why-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start;margin:0;padding:0;list-style:none}@media (min-width:661px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem;row-gap:2.75rem}}@media (min-width:1101px){.why-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}}.why-media{position:relative;margin:0;overflow:hidden;border-radius:var(--radius-lg);aspect-ratio:1 / 1;background:var(--gray-200);isolation:isolate;transition:transform .25s ease,box-shadow .25s ease}.why-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(var(--zoom,1));transition:transform .35s ease}.why-card:hover .why-media{transform:translateY(-4px);box-shadow:0 14px 30px oklch(0% 0 0 / .3)}.why-card:hover .why-media img{transform:scale(calc(var(--zoom,1) * 1.03))}.why-media::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,oklch(0% 0 0 / .06),oklch(0% 0 0 / .02) 46%,oklch(0% 0 0 / .14));pointer-events:none}.why-media--m3 img{object-position:center 32%}.why-media--m4 img{--zoom:1.55;object-position:center 60%}.why-timeline{position:absolute;left:12px;right:12px;bottom:12px;z-index:2;padding:.3rem .85rem;border-radius:var(--radius);background:oklch(12% .01 260 / .82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff}.why-tl-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-block:.5rem;font-size:.8125rem}.why-tl-row + .why-tl-row{border-top:1px solid oklch(100% 0 0 / .14)}.why-tl-row span{font-weight:650}.why-tl-row time{color:oklch(100% 0 0 / .75);font-variant-numeric:tabular-nums;white-space:nowrap}.why-chat{position:absolute;bottom:12px;left:12px;right:12px;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.why-chat p{margin:0}.why-bubble{max-width:88%;padding:.5rem .7rem .35rem;border-radius:var(--radius);border-top-left-radius:3px;background:oklch(99% .003 90 / .96);color:var(--ink);font-size:.8125rem;line-height:1.35;box-shadow:0 1px 3px oklch(0% 0 0 / .18)}.why-bubble--out{align-self:flex-end;border-top-left-radius:var(--radius);border-top-right-radius:3px;background:oklch(95% .05 145 / .96)}.why-bubble time{display:block;margin-top:.15rem;text-align:right;font-size:.65rem;color:var(--gray-500);font-variant-numeric:tabular-nums}.why-copy{margin-top:1.25rem}.why-title{font-family:var(--font-display);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:1.125rem;line-height:1.3}.why-desc{margin-top:.5rem;color:var(--gray-500);font-size:.9375rem;line-height:1.6;max-width:40ch}@media (prefers-reduced-motion:no-preference){.why-grid .why-card{opacity:0;transform:translateY(24px) scale(.96);transition:opacity 1.1s var(--ease-out-quart),transform 1.1s var(--ease-out-quart)}.why-block.is-visible .why-card{opacity:1;transform:none}.why-block.is-visible .why-card:nth-child(1){transition-delay:0s}.why-block.is-visible .why-card:nth-child(2){transition-delay:.4s}.why-block.is-visible .why-card:nth-child(3){transition-delay:.8s}.why-block.is-visible .why-card:nth-child(4){transition-delay:1.2s}}.projects-head{display:flex;align-items:end;justify-content:center;gap:24px;margin-bottom:32px;flex-wrap:wrap;text-align:center}.projects-head .text{max-width:none}.projects-head .text p{color:var(--gray-500);margin-top:10px}#proyectos .container{width:min(90vw,1680px);max-width:none;padding-inline:0}@media (max-width:600px){#proyectos .container{width:auto;max-width:none;padding-inline:18px}.projects-head{margin-bottom:24px}.projects-head .text p{max-width:34ch;margin-inline:auto}.proj-card{min-height:190px}}@media (min-width:601px) and (max-width:1100px){#proyectos .container{width:auto;max-width:none;padding-inline:clamp(24px,5vw,48px)}}.projects-grid{display:grid;grid-template-columns:1fr;gap:11px}@media (min-width:601px){.projects-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:332px 268px 292px 244px;grid-template-areas:"p1 p1 p1 p2 p2 p2" "p5 p5 p6 p6 p7 p7" "p8 p8 p8 p10 p10 p10" "p3 p3 p3 p3 p9 p9"}.projects-grid .proj-img{aspect-ratio:auto;flex:1 1 auto}.proj-card--global{grid-area:p1}.proj-card--sanantonio{grid-area:p2}.proj-card--visitantes{grid-area:p7}.proj-card--esclusas{grid-area:p10}.proj-card--altura{grid-area:p5}.proj-card--albrook{grid-area:p6}.proj-card--puente{grid-area:p8}.proj-card--arrocha{grid-area:p9}.proj-card--tocumen{grid-area:p3}.projects-grid--more{grid-template-rows:repeat(3,calc((332px + 268px + 292px + 244px + 11px) / 3));grid-template-areas:"m1 m1 m1 m2 m2 m2" "m3 m3 m4 m4 m5 m5" "m6 m6 m7 m7 m8 m8"}.proj-card--m1{grid-area:m1}.proj-card--m2{grid-area:m2}.proj-card--m3{grid-area:m3}.proj-card--m4{grid-area:m4}.proj-card--m5{grid-area:m5}.proj-card--m6{grid-area:m6}.proj-card--m7{grid-area:m7}.proj-card--m8{grid-area:m8}}@media (min-width:1101px){.projects-grid{grid-template-columns:repeat(24,minmax(0,1fr));grid-template-rows:calc(clamp(114px,calc( 8.7vw + 12px),134px) + var(--cap-h)) calc(clamp(131px,calc(10.3vw + 14px),157px) + var(--cap-h)) calc(clamp(247px,calc(19.7vw + 26px),303px) + var(--cap-h)) calc(clamp(198px,calc(16.0vw + 20px),236px) + var(--cap-h));gap:13px;grid-template-areas:"p1 p1 p1 p1 p1 p1 p1 p1 p1 p2 p2 p2 p2 p2 p2 p2 p2 p2 p3 p3 p3 p3 p3 p3" "p1 p1 p1 p1 p1 p1 p1 p1 p1 p2 p2 p2 p2 p2 p2 p2 p2 p2 p3 p3 p3 p3 p3 p3" "p5 p5 p5 p5 p5 p5 p5 p5 p6 p6 p6 p6 p6 p6 p6 p6 p7 p7 p7 p7 p7 p7 p7 p7" "p8 p8 p8 p8 p8 p8 p8 p8 p9 p9 p9 p9 p9 p9 p10 p10 p10 p10 p10 p10 p10 p10 p10 p10"}.projects-grid--more{grid-template-areas:"m1 m1 m1 m1 m1 m1 m1 m1 m1 m1 m1 m1 m2 m2 m2 m2 m2 m2 m2 m2 m2 m2 m2 m2" "m1 m1 m1 m1 m1 m1 m1 m1 m1 m1 m1 m1 m2 m2 m2 m2 m2 m2 m2 m2 m2 m2 m2 m2" "m3 m3 m3 m3 m3 m3 m3 m3 m4 m4 m4 m4 m4 m4 m4 m4 m5 m5 m5 m5 m5 m5 m5 m5" "m6 m6 m6 m6 m6 m6 m6 m6 m7 m7 m7 m7 m7 m7 m7 m7 m8 m8 m8 m8 m8 m8 m8 m8"}}.projects-shell{position:relative}.projects-viewport{width:100%;overflow:hidden;margin-block:-10px;padding-block:10px}.projects-track{display:flex;width:200%;transition:transform .55s var(--ease-out-quart)}.projects-track.is-more{transform:translateX(-50%)}.projects-panel{flex:0 0 50%;min-width:0;display:flex}.projects-panel > .projects-grid{flex:1 1 auto}.proj-more-bar{--bar-w:28px;--bar-gap:10px;position:absolute;z-index:2;top:var(--bar-top,0px);left:calc(100% + var(--bar-gap));width:var(--bar-w);height:var(--bar-h,0px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);color:var(--ink);cursor:pointer;padding:0;font:inherit;transition:border-color var(--dur-fast),background var(--dur-fast),color var(--dur-fast),opacity .18s ease}.proj-more-bar.is-back{left:calc(-1 * (var(--bar-w) + var(--bar-gap)))}.proj-more-bar-label{writing-mode:vertical-rl;text-orientation:mixed;font-family:var(--font-display);font-weight:800;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}.proj-more-bar-ico{width:16px;height:16px;flex:0 0 auto;transition:transform var(--dur-fast)}.proj-more-bar.is-back .proj-more-bar-ico{transform:rotate(180deg)}.proj-more-bar:hover{border-color:var(--red);background:var(--red);color:var(--white)}.proj-more-bar:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media (min-width:601px) and (max-width:1100px){.proj-more-bar{--bar-gap:0px}}@media (prefers-reduced-motion:reduce){.projects-track{transition:none}.proj-more-bar-ico{transition:none}.proj-more-bar{transition:border-color var(--dur-fast),background var(--dur-fast),color var(--dur-fast)}}@media (max-width:600px){.projects-viewport{overflow:visible;margin-block:0;padding-block:0}.projects-track{display:block;width:100%;transform:none}.projects-track.is-more{transform:none}.projects-panel{display:block;width:100%}.proj-more-bar{display:none}#projects-panel-more{display:none}}.proj-card{position:relative;background:var(--ink);border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden;isolation:isolate;width:100%;display:flex;flex-direction:column;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease;text-align:left;font:inherit;padding:0}.proj-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px oklch(0% 0 0 / .3)}.proj-card:hover .proj-img img{transform:scale(1.03)}.proj-card:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.proj-img{aspect-ratio:4/3;overflow:hidden;min-height:0;flex:1 0 auto}.proj-img img{width:100%;height:100%;object-fit:cover;object-position:var(--pos,center);transition:transform .35s ease}.proj-card--global{--pos:center 48%}.proj-card--sanantonio{--pos:center 50%}.proj-card--tocumen{--pos:46% 52%}.proj-card--altura{--pos:center 54%}.proj-card--albrook{--pos:center 52%}.proj-card--visitantes{--pos:center 48%}.proj-card--puente{--pos:center 50%}.proj-card--arrocha{--pos:center 52%}.proj-card--esclusas{--pos:center 46%}.proj-card--m1{--pos:center 46%}.proj-card--m2{--pos:center 50%}.proj-card--m3{--pos:center 50%}.proj-card--m4{--pos:center 42%}.proj-card--m5{--pos:center 42%}.proj-card--m6{--pos:center 48%}.proj-card--m7{--pos:center 46%}.proj-card--m8{--pos:center 44%}.proj-caption{position:absolute;inset-inline:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:4px;padding:clamp(14px,1.8vw,22px);pointer-events:none;transition:transform .25s ease}.proj-card:hover .proj-caption{transform:translateY(-3px)}.proj-title{font-family:var(--font-display);font-weight:800;font-size:clamp(.95rem,1.28vw,1.16rem);color:var(--white);letter-spacing:0;line-height:1.1;text-wrap:balance;max-width:24ch;text-shadow:0 1px 2px oklch(0% 0 0 / .6),0 3px 12px oklch(0% 0 0 / .45),0 8px 28px oklch(0% 0 0 / .3)}.proj-descriptor{color:var(--white);opacity:.85;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.09em;line-height:1.2;text-shadow:0 1px 2px oklch(0% 0 0 / .6),0 2px 10px oklch(0% 0 0 / .45)}.proj-card--sm .proj-caption{padding:clamp(10px,1.12vw,14px);gap:3px}.proj-card--sm .proj-title{font-size:clamp(.88rem,1.04vw,.98rem)}@media (prefers-reduced-motion:no-preference){#proyectos .projects-grid .proj-card{opacity:0;translate:0 24px;transition:transform .25s ease,box-shadow .25s ease,opacity .7s var(--ease-out-quart),translate .7s var(--ease-out-quart)}#proyectos.is-visible .proj-card{opacity:1;translate:0 0}#proyectos.is-visible .proj-card:nth-child(1){transition-delay:0s,0s,.05s,.05s}#proyectos.is-visible .proj-card:nth-child(2){transition-delay:0s,0s,.13s,.13s}#proyectos.is-visible .proj-card:nth-child(3){transition-delay:0s,0s,.21s,.21s}#proyectos.is-visible .proj-card:nth-child(4){transition-delay:0s,0s,.29s,.29s}#proyectos.is-visible .proj-card:nth-child(5){transition-delay:0s,0s,.37s,.37s}#proyectos.is-visible .proj-card:nth-child(6){transition-delay:0s,0s,.45s,.45s}#proyectos.is-visible .proj-card:nth-child(7){transition-delay:0s,0s,.53s,.53s}#proyectos.is-visible .proj-card:nth-child(8){transition-delay:0s,0s,.61s,.61s}#proyectos.is-visible .proj-card:nth-child(9){transition-delay:0s,0s,.69s,.69s}}.carousel-arrows{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none}.carousel-arrow{pointer-events:auto;width:44px;height:44px;border-radius:var(--radius);background:var(--red);color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:background .18s ease;margin:0 -22px}.carousel-arrow:hover{background:var(--red-hover)}.carousel-arrow:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.carousel-arrow svg{width:20px;height:20px}@media (max-width:600px){.carousel-arrow{margin:0 4px}}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:28px}.carousel-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-400);transition:background .2s ease,transform .2s ease;padding:0}.carousel-dot.is-active{background:var(--red);transform:scale(1.3)}.gallery-overlay{--gal-pad:clamp(1rem,2vw,1.75rem);--gal-headblock:clamp(3.25rem,7svh,4.25rem);--gal-gap:10px;display:flex;flex-direction:column;position:fixed;inset:0;z-index:500;background:var(--white);padding:var(--gal-pad)}.gallery-overlay[hidden]{display:none}.gallery-close{position:absolute;top:1.25rem;right:1.25rem;z-index:1;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:oklch(0% 0 0 / .06);border:none;border-radius:50%;color:var(--ink);cursor:pointer;padding:0;transition:background var(--dur-fast)}.gallery-close svg{width:20px;height:20px}.gallery-close:hover{background:oklch(0% 0 0 / .12)}.gallery-head{flex:0 0 var(--gal-headblock);display:flex;flex-direction:column;justify-content:flex-start;overflow:hidden;text-align:center;color:var(--ink);padding-top:0;padding-inline:4rem}.gallery-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.15;text-wrap:balance}.gallery-descriptor{margin-top:.15rem;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}.gallery-grid{--avail-w:min(calc(100vw - 2 * var(--gal-pad)),1800px);--avail-h:calc(100svh - 2 * var(--gal-pad) - var(--gal-headblock));--cell-from-w:calc((var(--avail-w) - (var(--gal-cols,3) - 1) * var(--gal-gap)) / var(--gal-cols,3));--cell-from-h:calc((var(--avail-h) - (var(--gal-rows,1) - 1) * var(--gal-gap)) / var(--gal-rows,1) * 4 / 3);--gal-cell:min(var(--cell-from-w),var(--cell-from-h));flex:1 1 auto;min-height:0;width:100%;overflow:hidden;display:grid;grid-template-columns:repeat(var(--gal-cols,3),var(--gal-cell));grid-auto-rows:calc(var(--gal-cell) * 3 / 4);gap:var(--gal-gap);justify-content:center;align-content:center}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);border:1px solid var(--gray-200)}@media (min-width:601px){.gallery-grid img.is-trail{transform:translateX(var(--gal-shift,0px))}}@media (max-width:600px){.gallery-overlay{overflow-y:auto}.gallery-head{flex:0 0 auto;padding-inline:3.5rem;margin-bottom:1rem}.gallery-grid{display:block;width:100%;overflow:visible}.gallery-grid img{width:100%;height:auto;aspect-ratio:4 / 3;margin-bottom:11px}.gallery-grid img:last-child{margin-bottom:0}}.lightbox{display:none;position:fixed;inset:0;z-index:500;background:oklch(5% .01 260 / .94);backdrop-filter:blur(6px);align-items:center;justify-content:center}.lightbox.is-open{display:flex}.lightbox-close{position:absolute;top:1.25rem;right:1.25rem;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:oklch(100% 0 0 / .12);border-radius:50%;color:var(--white);transition:background var(--dur-fast)}.lightbox-close svg{width:20px;height:20px}.lightbox-close:hover{background:oklch(100% 0 0 / .22)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:oklch(100% 0 0 / .12);border-radius:50%;color:var(--white);transition:background var(--dur-fast)}.lightbox-nav svg{width:22px;height:22px}.lightbox-nav.prev{left:1rem}.lightbox-nav.next{right:1rem}.lightbox-nav:hover{background:oklch(100% 0 0 / .22)}.lightbox-content{display:flex;flex-direction:column;align-items:center;max-width:min(92vw,900px);max-height:90svh;gap:1rem}.lightbox-img{border-radius:var(--radius);max-height:78svh;width:100%;object-fit:contain;flex:1 1 auto;min-height:0}.lightbox-caption{flex:0 0 auto;text-align:center;color:var(--white)}.lb-title{font-family:var(--font-display);font-size:1rem;font-weight:700}.lb-descriptor{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:oklch(80% .005 260);margin-top:.25rem}.lightbox-counter{font-size:.75rem;color:oklch(70% .005 260);margin-top:.35rem}.lightbox-nav[hidden],.lightbox-thumbs[hidden],.lightbox-counter[hidden]{display:none}.lightbox-thumbs{display:flex;flex:0 0 auto;gap:.5rem;max-width:100%;overflow-x:auto;padding:.15rem}.lightbox-thumb{flex:0 0 auto;width:56px;height:40px;border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;opacity:.6;transition:opacity var(--dur-fast),border-color var(--dur-fast)}.lightbox-thumb img{width:100%;height:100%;object-fit:cover}.lightbox-thumb:hover{opacity:.85}.lightbox-thumb.is-active{opacity:1;border-color:var(--red-bright)}.prod-img img[data-zoom]{cursor:zoom-in;transition:opacity .15s ease}@media (hover:hover) and (pointer:fine){.prod-img img[data-zoom]:hover{opacity:.88}}.faq-list{border-top:1px solid var(--gray-200);margin-bottom:3rem;display:flex;flex-direction:column}.faq-item{border-bottom:1px solid var(--gray-200)}.faq-btn{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding-block:1.25rem;font-size:1rem;font-weight:600;color:var(--ink);text-align:left;line-height:1.4;transition:color var(--dur-fast)}.faq-btn:hover{color:var(--red)}.faq-icon{flex-shrink:0;color:var(--red);transition:transform var(--dur) var(--ease-out-quart)}.faq-btn[aria-expanded="true"] .faq-icon{transform:rotate(45deg)}.faq-panel{display:grid;grid-template-rows:0fr}.faq-panel[hidden]{display:none}.faq-panel.is-open{grid-template-rows:1fr}.faq-panel-in{overflow:hidden;min-height:0}.faq-panel-in > :last-child{padding-bottom:1.25rem}@media (prefers-reduced-motion:no-preference){.faq-panel{transition:grid-template-rows .38s var(--ease-out-quart)}}.faq-panel p{font-size:.9375rem;color:var(--gray-500);line-height:1.65;max-width:68ch}.faq-contact-list{font-size:.9375rem;color:var(--gray-500);line-height:1.65;display:grid;gap:.375rem}.faq-contact-list a{color:var(--ink);font-weight:600;transition:color var(--dur-fast)}.faq-contact-list a:hover{color:var(--red)}.faq-cta{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}.faq-cta p{font-size:.9375rem;color:var(--gray-500)}.contact-grid{display:grid;grid-template-columns:1fr;gap:3.5rem;align-items:start}@media (min-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:5rem}}.contact-form-col{display:flex;flex-direction:column;gap:.5rem}.contact-form-col .section-title{margin-top:.5rem}.contact-form-col .section-sub{margin-bottom:1.5rem}.form{display:flex;flex-direction:column;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.375rem}.field label{font-size:.8125rem;font-weight:500;color:var(--ink)}.field input,.field textarea{width:100%;min-height:48px;padding:.75rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);font-size:1rem;color:var(--ink);background:var(--white);transition:border-color var(--dur-fast),box-shadow var(--dur-fast);line-height:1.5}.field input::placeholder,.field textarea::placeholder{color:var(--gray-400)}.field input:focus,.field textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px oklch(39% .125 30 / .12)}.field input:invalid:not(:placeholder-shown),.field textarea:invalid:not(:placeholder-shown){border-color:oklch(55% .20 28)}.field textarea{resize:vertical;min-height:120px}#f-detalles{min-height:84px}.field--pick{border:0;padding:0;margin:0;min-width:0}.field--pick legend{font-size:.8125rem;font-weight:500;color:var(--ink);padding:0;margin-bottom:.375rem}.field-ico{display:inline-flex;vertical-align:-3px;margin-right:.375rem;color:var(--red)}.field-ico svg{width:15px;height:15px;display:block}.label-opt{font-weight:400;color:var(--gray-400)}.pick-input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.field .pick-input{width:1px}.seg-row{display:flex;gap:.5rem}.seg-opt{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;padding:.625rem .5rem;text-align:center}.chip-grid{display:flex;flex-wrap:wrap;gap:.5rem}.chip-opt{display:inline-flex;align-items:center;min-height:40px;padding:.5rem .875rem}.seg-opt,.chip-opt{border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);font-size:.9375rem;font-weight:500;color:var(--ink);cursor:pointer;user-select:none;transition:border-color var(--dur-fast),background var(--dur-fast),color var(--dur-fast)}@media (hover:hover) and (pointer:fine){.seg-opt:hover,.chip-opt:hover{border-color:var(--gray-400)}}.pick-input:checked + label{border-color:var(--red);background:oklch(39% .125 30 / .07);color:var(--red);font-weight:600}.pick-input:focus-visible + label{outline:2px solid var(--ink);outline-offset:2px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}@media (max-width:440px){.field-row{grid-template-columns:1fr}}.chip-other-input{display:none;flex:1 1 100%}#f-obra-otro:checked ~ .chip-other-input{display:block}.fin-nose-row{display:flex}.chip-opt--sm{min-height:32px;padding:.25rem .875rem;font-size:.8125rem}.form-success{display:none;padding:1rem;background:oklch(95% .03 150);border-radius:var(--radius-sm);font-size:.9375rem;color:oklch(35% .12 150);line-height:1.5}.form-success.is-visible{display:block}.form-success a{color:oklch(35% .12 150);text-decoration:underline}.form-botcheck{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.form-privacy{margin-top:-.25rem;color:var(--gray-500);font-size:.75rem;line-height:1.5}.contact-info-col{display:flex;flex-direction:column;gap:1.5rem}.contact-card{background:var(--white);border:1.5px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.5rem}.contact-card h3{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:1.25rem}.contact-list{display:flex;flex-direction:column;gap:.875rem}.contact-list li{display:flex;align-items:flex-start;gap:.875rem}.contact-ico{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--gray-50);border-radius:var(--radius-sm);color:var(--ink);flex-shrink:0}.contact-ico svg{width:16px;height:16px}.contact-ico--wa{background:oklch(86% .08 150);color:oklch(35% .15 150)}.contact-list li > span:last-child{display:flex;flex-direction:column;gap:.125rem}.contact-label{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}.contact-list a{font-size:.9375rem;font-weight:500;color:var(--ink);transition:color var(--dur-fast)}.contact-list a:hover{color:var(--red)}.map-frame{border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:16/9;background:var(--gray-100)}.map-frame iframe{width:100%;height:100%;border:none;display:block}.site-footer{background:var(--ink);color:var(--white);padding-top:clamp(4rem,8vw,6rem);padding-bottom:clamp(2rem,4vw,3rem)}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem;padding-bottom:clamp(1.5rem,3vw,2.5rem)}.footer-brand{grid-column:1 / -1}@media (min-width:640px){.footer-grid{column-gap:4rem}}@media (min-width:900px){.footer-grid{grid-template-columns:minmax(0,1fr) auto auto;column-gap:clamp(3rem,5vw,4.5rem)}.footer-brand{grid-column:auto}.footer-grid > .footer-col:nth-of-type(2){transform:translateX(30%)}.footer-grid > .footer-col:nth-of-type(3){transform:translateX(15%)}}.footer-brand{display:flex;flex-direction:column;justify-content:center;gap:1.25rem}.logo-pill{display:inline-flex;align-items:center;align-self:center}.logo-pill img{width:min(100%,660px);height:auto}.ig-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:500;color:oklch(65% .005 260);transition:color var(--dur-fast);align-self:flex-start;margin-top:1.25rem;transform:translateY(20%)}.ig-link:hover{color:var(--white)}.footer-col h3{font-family:var(--font-body);font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:oklch(66% .005 260);margin-bottom:1rem}.footer-col ul{display:flex;flex-direction:column;gap:.625rem}.footer-col li a,.footer-col li{font-size:.875rem;color:oklch(65% .005 260);transition:color var(--dur-fast);line-height:1.4}.footer-col li a:hover{color:var(--white)}.footer-bottom{margin-top:.5rem}.footer-legal{font-size:.75rem;color:oklch(68% .005 260)}@media (max-width:767px){.nav-link{display:none}.menu-toggle{display:flex}.nav-cta{display:none}}@media (min-width:768px){.menu-toggle{display:none}.mobile-nav{display:none}}@media (min-width:768px){.hdr-inner{height:120px;gap:1.75rem}.brand img{height:49px}.nav-cta{height:47px;padding:0 1.35rem;font-size:.9375rem}}.block--alt .contact-card{border-color:var(--gray-200)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}.reveal{opacity:1;transform:none}}.nav-link--active{color:var(--ink) !important;font-weight:600}.cat-hero{background:var(--ink);color:var(--white);padding-top:calc(72px + clamp(1.875rem,3.75vw,3rem));padding-bottom:clamp(1.875rem,3.75vw,3rem)}@media (min-width:768px){.cat-hero{padding-top:clamp(2.5rem,4vw,3rem)}}.cat-hero-inner{max-width:900px}.cat-hero-title{font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.75rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;margin-bottom:1rem}.cat-hero-lede{font-size:1.0625rem;color:oklch(65% .005 260);max-width:56ch;line-height:1.6}@media (max-width:767px){.cat-hero{padding-bottom:1.5rem}.cat-hero-title{font-size:clamp(1.75rem,8vw,2.125rem);margin-bottom:0}.cat-hero-lede{display:none}}.cat-skeleton{font-size:.8125rem;color:var(--gray-400);padding:0 .5rem;line-height:36px}.cat-search{display:flex;align-items:center;gap:.5rem;flex-shrink:0;min-height:44px;padding:0 .75rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-500);transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.cat-search:focus-within{border-color:var(--red);box-shadow:0 0 0 3px oklch(39% .125 30 / .10);color:var(--ink)}.cat-search input{border:none;background:none;font-size:.8125rem;color:var(--ink);outline:none;width:clamp(100px,16vw,200px)}.cat-search input::placeholder{color:var(--gray-400)}@media (pointer:coarse){.cat-search input{font-size:1rem}}.cat-search--box{width:100%;border-radius:var(--radius);padding-inline:.75rem}.cat-search--box input{width:100%;min-width:0}.cat-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}@media (min-width:900px){.cat-layout{grid-template-columns:240px 1fr;gap:2.5rem}}@media (min-width:1200px){.cat-layout{grid-template-columns:260px 1fr;gap:3rem}}.cat-main{min-width:0}.cat-sidebar{min-width:0}@media (min-width:900px){.cat-sidebar{position:sticky;top:calc(var(--hdr-stuck) + 1rem);align-self:start;max-height:calc(100dvh - var(--hdr-stuck) - 2rem);overflow-y:auto;padding-right:.5rem;scrollbar-width:thin;scrollbar-color:var(--gray-200) transparent}.cat-tools{position:static}}.cat-sidebar-title{font-family:var(--font-display);font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-500);padding:0 .75rem .75rem;border-bottom:1px solid var(--gray-200);margin-top:1.5rem;margin-bottom:.5rem}.cat-side-list{display:flex;flex-direction:column;gap:1px;list-style:none}.cat-side-link{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.625rem .75rem;font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--gray-500);background:transparent;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.cat-side-link:hover{background:var(--gray-50);color:var(--ink)}.cat-side-link.is-active{background:var(--ink);color:var(--white);font-weight:600}.cat-side-count{flex-shrink:0;font-size:.6875rem;font-weight:600;color:var(--gray-500)}.cat-side-link.is-active .cat-side-count{color:oklch(100% 0 0 / .6)}@media (max-width:899px){.cat-sidebar-title{display:none}.cat-layout{display:block}.cat-sidebar{display:contents}.cat-search{margin-bottom:.75rem}.cat-tools{position:sticky;top:var(--hdr-stuck);z-index:100;background:var(--white);margin-inline:calc(var(--gutter) * -1);margin-bottom:2rem;padding:.625rem var(--gutter) 0;border-bottom:1px solid var(--gray-200)}.cat-side-list{flex-direction:row;gap:.375rem;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:.75rem}.cat-side-list::-webkit-scrollbar{display:none}.cat-side-link{flex-shrink:0;min-height:40px;padding:0 .875rem;background:var(--gray-50);border-radius:999px;white-space:nowrap;font-size:.8125rem}.cat-side-link.is-active{background:var(--ink);color:var(--white)}.cat-side-count{background:var(--gray-200);border-radius:999px;padding:.1rem .4rem;color:oklch(42% .01 260)}.cat-side-link.is-active .cat-side-count{background:oklch(100% 0 0 / .15);color:var(--white)}}.cat-body{padding-block:2.5rem 4rem}.cat-root{display:flex;flex-direction:column;gap:4rem}.cat-loading{text-align:center;padding:3rem;min-height:100vh;font-size:.9375rem;color:var(--gray-500)}.cat-empty{text-align:center;padding:4rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.cat-empty h3{font-family:var(--font-display);font-size:1.25rem;font-weight:700}.cat-empty p{font-size:.9375rem;color:var(--gray-500)}.cat-empty[hidden]{display:none}.cat-section.is-hidden{display:none}.cat-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--gray-200)}.cat-section-head h2{font-family:var(--font-display);font-size:1.25rem;font-weight:800;letter-spacing:-.015em}.cat-section-head .sub{display:block;font-size:.75rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--gray-500);margin-top:.125rem}.cat-section-count{font-size:.75rem;font-weight:500;color:var(--gray-500);white-space:nowrap}.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}@media (min-width:640px){.cat-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}}@media (min-width:1024px){.cat-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}}.prod-card{display:flex;flex-direction:column;background:var(--white);border:1.5px solid var(--gray-400);border-radius:var(--radius);overflow:hidden;transition:border-color var(--dur-fast),box-shadow var(--dur-fast)}.prod-card.is-hidden{display:none}.prod-card:hover{border-color:var(--ink);box-shadow:var(--shadow-sm)}.prod-img{aspect-ratio:1;background:var(--white);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:1rem}.prod-img img{width:100%;height:100%;object-fit:contain}.prod-img-placeholder{font-family:var(--font-display);font-size:.75rem;font-weight:700;color:var(--gray-400);letter-spacing:.06em;text-transform:uppercase}.prod-body{display:flex;flex-direction:column;gap:.5rem;padding:.875rem;flex:1}.prod-title{font-family:var(--font-display);font-size:.9375rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}.prod-code{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500)}.prod-specs{display:flex;flex-direction:column;gap:.25rem;margin-top:.125rem}.prod-specs li{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;font-size:.75rem;line-height:1.4}.spec-label{color:var(--gray-500);flex-shrink:0;font-weight:500}.spec-value{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums}.prod-variants{width:100%;border-collapse:collapse;font-size:.75rem;margin-top:.25rem}.prod-variants th{text-align:left;font-weight:600;color:var(--gray-500);font-size:.625rem;letter-spacing:.08em;text-transform:uppercase;padding:.25rem 0 .375rem;border-bottom:1px solid var(--gray-100)}.prod-variants td{padding:.3rem 0;border-bottom:1px solid var(--gray-100);color:var(--ink);vertical-align:top}.prod-variants tr:last-child td{border-bottom:none}.prod-variants td:last-child{text-align:right;color:var(--gray-500);font-variant-numeric:tabular-nums}.v-size{font-weight:500}.v-type{color:var(--gray-500);font-size:.6875rem}.v-weight{}.prod-variants:not(.is-expanded) .is-extra{display:none}.prod-variants-toggle{font-size:.75rem;font-weight:600;color:var(--red);margin-top:.375rem;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.prod-variants-toggle:hover{opacity:.75}.prod-note{font-size:.6875rem;color:var(--gray-500);line-height:1.4}.prod-cta{display:flex;align-items:center;justify-content:center;gap:.375rem;margin-top:auto;min-height:44px;background:var(--ink);color:var(--white);font-size:.8125rem;font-weight:600;border-radius:var(--radius-sm);transition:background var(--dur-fast);cursor:pointer}.prod-cta svg{width:14px;height:14px}.prod-cta:hover{background:var(--slate)}.cat-bottom{padding-block:clamp(3.5rem,7vw,5rem)}.cat-bottom-inner{display:grid;grid-template-columns:1fr;gap:2rem;align-items:center}@media (min-width:768px){.cat-bottom-inner{grid-template-columns:1fr auto;gap:4rem}}.cat-bottom-text{display:flex;flex-direction:column;gap:.75rem}.cat-bottom-text .section-title{margin-top:.25rem}.cat-bottom-text p{font-size:1rem;color:var(--gray-500);max-width:52ch}.cat-bottom-actions{display:flex;flex-wrap:wrap;gap:.75rem;flex-shrink:0}.vmodal{display:none;position:fixed;inset:0;z-index:400}.vmodal.is-open{display:block}.vmodal__backdrop{position:absolute;inset:0;background:oklch(0% 0 0 / .5)}.vmodal__panel{position:absolute;bottom:0;left:0;right:0;background:var(--white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:1.5rem var(--gutter) 2rem;max-height:90svh;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}@media (min-width:640px){.vmodal__panel{position:absolute;inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);bottom:auto;width:min(480px,92vw);border-radius:var(--radius-lg);max-height:80svh}}.vmodal__close{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gray-100);color:var(--ink);transition:background var(--dur-fast)}.vmodal__close:hover{background:var(--gray-200)}.vmodal__title{font-family:var(--font-display);font-size:1.125rem;font-weight:700;padding-right:2.5rem;line-height:1.3}.vmodal__code{font-size:.6875rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-500);margin-top:-.5rem}.vmodal__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500)}.vmodal__chips{display:flex;flex-wrap:wrap;gap:.5rem}.variant-chip{height:40px;padding:0 1rem;font-size:.875rem;font-weight:500;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast),color var(--dur-fast);min-width:44px;min-height:44px}.variant-chip:hover{border-color:var(--ink)}.variant-chip.is-selected{background:var(--ink);color:var(--white);border-color:var(--ink)}.qty-stepper{display:flex;align-items:center;gap:1rem}.qty-label{font-size:.875rem;font-weight:600;color:var(--ink);flex:1}.qty-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-size:1.25rem;font-weight:400;border:1.5px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast)}.qty-btn:hover{border-color:var(--ink)}.qty-val{font-family:var(--font-display);font-size:1.125rem;font-weight:700;min-width:2ch;text-align:center}.vmodal__submit{display:flex;align-items:center;justify-content:center;height:52px;background:var(--red);color:var(--white);font-size:1rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:background var(--dur-fast);min-height:44px}.vmodal__submit:hover{background:var(--red-hover)}.cart-overlay{display:none;position:fixed;inset:0;z-index:300;background:oklch(0% 0 0 / .45)}.cart-overlay.is-open{display:block}.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:310;width:min(420px,100vw);background:var(--white);display:flex;flex-direction:column;transform:translateX(100%);visibility:hidden;transition:transform var(--dur) var(--ease-out-quart),visibility var(--dur);box-shadow:-4px 0 32px oklch(0% 0 0 / .12)}.cart-drawer.is-open{transform:translateX(0);visibility:visible}.cart-drawer__hdr{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.25rem;border-bottom:1px solid var(--gray-200);flex-shrink:0}.cart-drawer__title{font-family:var(--font-display);font-size:1rem;font-weight:700}.cart-drawer__close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gray-100);color:var(--ink);transition:background var(--dur-fast)}.cart-drawer__close:hover{background:var(--gray-200)}.cart-drawer__items{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.cart-item{display:grid;grid-template-columns:52px 1fr auto;gap:.75rem;align-items:start;padding:.875rem;background:var(--gray-50);border-radius:var(--radius-sm)}.cart-item__img{width:52px;height:52px;border-radius:var(--radius-sm);background:var(--white);display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0}.cart-item__img img{width:100%;height:100%;object-fit:contain;padding:.25rem}.cart-item__name{font-size:.875rem;font-weight:600;line-height:1.3}.cart-item__meta{font-size:.6875rem;color:var(--gray-500);margin-top:.125rem;line-height:1.4}.cart-item__qty{display:flex;align-items:center;gap:.375rem;margin-top:.5rem}.cart-item__qty-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:1rem;border:1px solid var(--gray-200);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);cursor:pointer;transition:border-color var(--dur-fast);min-width:36px;min-height:36px}.cart-item__qty-btn:hover{border-color:var(--ink)}.cart-item__qty-val{font-size:.875rem;font-weight:600;min-width:1.5ch;text-align:center;font-variant-numeric:tabular-nums}.cart-item__remove{display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:var(--gray-400);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast);min-width:32px;min-height:44px}.cart-item__remove:hover{color:var(--red);background:oklch(39% .125 30 / .06)}.cart-drawer__empty{display:flex;flex-direction:column;align-items:flex-start;gap:.375rem;padding:1.5rem;color:var(--gray-500);font-size:.9375rem;line-height:1.5;list-style:none}.cart-drawer__empty strong{display:block;color:var(--ink);font-size:1rem;font-weight:700;margin-bottom:.125rem}.cart-drawer__footer{padding:1rem 1.25rem 1.5rem;border-top:1px solid var(--gray-200);display:flex;flex-direction:column;gap:.625rem;flex-shrink:0}.cart-drawer__send{display:flex;align-items:center;justify-content:center;gap:.625rem;height:52px;background:oklch(50% .18 150);color:var(--white);font-size:1rem;font-weight:600;border-radius:var(--radius);cursor:pointer;transition:background var(--dur-fast);min-height:44px}.cart-drawer__send:hover{background:oklch(45% .18 150)}.cart-drawer__clear{height:40px;font-size:.875rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:color var(--dur-fast);min-height:44px}.cart-drawer__clear:hover{color:var(--red)}.cart-bubble{position:fixed;top:38px;right:calc(max(0px,(100vw - var(--container)) / 2) + var(--gutter) - clamp(.75rem,2vw,1.75rem) - 44px - 8px);z-index:210;display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--white);color:var(--ink);border:1px solid var(--gray-200);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease-out-quart),box-shadow var(--dur);cursor:pointer}.cart-bubble:hover{transform:scale(1.08);box-shadow:var(--shadow-md)}.cart-bubble__badge{position:absolute;top:-6px;right:-6px;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;background:var(--red);color:var(--white);font-size:.625rem;font-weight:700;border-radius:999px;font-variant-numeric:tabular-nums}.cart-bubble__badge[hidden]{display:none}@keyframes cart-pop{0%{transform:scale(1)}30%{transform:scale(1.18)}60%{transform:scale(.95)}100%{transform:scale(1)}}.cart-bubble.is-pop{animation:cart-pop .35s var(--ease-out-quart)}@media (min-width:768px) and (max-width:1279px){.cart-bubble{top:46px;right:calc(var(--gutter) - 34px);width:28px;height:28px}}@media (max-width:767px){.cart-bubble{top:14px;right:calc(var(--gutter) + 54px)}}.clients-band{background:var(--white);padding-block:clamp(2rem,4vw,3rem);overflow:hidden}.clients-viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.clients-track{display:flex;width:max-content;animation:clients-scroll 45s linear infinite}.clients-track:hover{animation-play-state:paused}.clients-track.is-offscreen{animation-play-state:paused}.clients-set{flex:none;display:flex;align-items:center;gap:clamp(3rem,6vw,5rem);list-style:none;margin:0;padding:0 clamp(3rem,6vw,5rem) 0 0}.clients-set li{display:flex;align-items:center}.clients-set img{display:block;height:clamp(38px,5vw,54px);width:auto;max-width:none}.clients-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes clients-scroll{to{transform:translateX(-50%)}}@media (prefers-reduced-motion:reduce){.clients-track{animation:none;width:auto;display:block}.clients-set:not(:first-child){display:none}.clients-set{flex-wrap:wrap;justify-content:center;row-gap:1.5rem;padding-right:0}.clients-viewport{-webkit-mask-image:none;mask-image:none}}.section-cta{display:flex;justify-content:center;margin-top:clamp(2rem,4vw,3rem)}.section-cta .btn{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;white-space:nowrap}.section-cta .btn-wa-ico{display:block;flex:0 0 auto;width:18px;height:18px;margin:0;color:var(--white)}.site-header{transition:padding var(--dur) var(--ease-out-quart),background var(--dur) var(--ease-out-quart),box-shadow var(--dur) var(--ease-out-quart)}.site-header.scrolled{padding:8px 10px 0;background:transparent;box-shadow:none;backdrop-filter:none}.hdr-inner{transition:height var(--dur) var(--ease-out-quart),width var(--dur) var(--ease-out-quart),max-width var(--dur) var(--ease-out-quart),padding var(--dur) var(--ease-out-quart),border-radius var(--dur) var(--ease-out-quart),box-shadow var(--dur) var(--ease-out-quart)}.site-header.scrolled .hdr-inner{width:100%;height:64px;padding-inline:16px;background:var(--white);border:1px solid var(--gray-200);border-radius:20px;box-shadow:0 10px 28px rgba(0,0,0,.14)}@media (min-width:768px){.site-header{position:sticky;top:0;height:120px;box-sizing:border-box;pointer-events:none}.hdr-inner{pointer-events:auto;height:120px}.site-header.scrolled{padding:12px 16px 0}.site-header.scrolled .hdr-inner{width:min(calc(100% - 32px),1400px);max-width:1400px;height:72px;padding-inline:clamp(1.5rem,3vw,2.5rem);border-radius:28px}.site-header.scrolled .brand img{height:36px}.site-header.scrolled .nav-cta{height:40px}.brand img,.nav-cta{transition:height var(--dur) var(--ease-out-quart)}}.hero{min-height:min(760px,calc(100svh - 72px));padding-top:72px}.hero-bg picture{display:block;width:100%;height:100%}.hero-bg img{filter:none;object-position:66% center}.hero-bg::after{background:linear-gradient(to right,rgba(12,15,18,.88) 0%,rgba(12,15,18,.72) 45%,rgba(12,15,18,.18) 78%,rgba(12,15,18,.08) 100%),linear-gradient(to top,rgba(12,15,18,.35),transparent 38%)}.hero-inner{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.hero-text{justify-content:center;max-width:720px;padding:clamp(2.5rem,6vh,4.5rem) 0}.hero-eyebrow{max-width:none;color:rgba(255,255,255,.82);letter-spacing:0;white-space:nowrap}@media (max-width:560px){.hero-eyebrow{white-space:normal}}.hero-title{max-width:16ch;font-size:clamp(2.65rem,5.4vw,5.25rem);letter-spacing:0}.hero-line{display:block;white-space:nowrap}.hero-line--base{color:var(--white)}.hero-line--accent{color:var(--red)}.hero-lede{margin-bottom:1.25rem;color:rgba(255,255,255,.9)}.hero-proof{display:flex;flex-wrap:wrap;gap:1.5rem;margin:0;padding:0;list-style:none}.hero-proof li{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:.55rem;color:rgba(255,255,255,.82)}.hero-proof strong{color:var(--white);font-family:var(--font-display);font-size:1.6rem}.hero-proof span{font-size:.875rem}.hero-cta-row{margin-top:1.5rem}@media (min-width:768px){.hero{min-height:min(720px,calc(100svh - 160px));padding-top:0}.hero-text{justify-content:center;padding-left:0}.hero-bg img{object-position:center 52%}}@media (max-width:767px){.hero-bg::after{background:linear-gradient(to right,rgba(12,15,18,.88),rgba(12,15,18,.45)),linear-gradient(to top,rgba(12,15,18,.52),transparent 50%)}.hero-title{font-size:clamp(1.75rem,8.9vw,3.25rem)}.hero-proof{gap:.75rem 1.25rem}.hero-proof li{grid-template-columns:1fr;gap:0}.hero-cta-row .btn{width:100%}}.services-layout{width:auto}.svc-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.svc-card{min-width:0;width:auto;flex:none;border:1px solid var(--gray-200);border-radius:6px;background:var(--white);overflow:hidden}.svc-card-in{display:flex;flex-direction:column;min-height:100%;clip-path:none}.svc-card-media{display:none}.svc-card img{width:100%;height:100%;object-fit:cover}.svc-card-body{display:flex;flex-direction:column;min-height:0;padding:1rem .9rem 1.1rem}.svc-card-title{min-height:0;margin:0 0 .5rem;font-size:1.0625rem;text-align:left;letter-spacing:0}.svc-card-desc{min-height:0;font-size:.875rem;line-height:1.55}.svc-card-list{margin-top:.625rem;font-size:.8125rem}.svc-card-list li{margin-top:.3rem;padding-left:1rem}.svc-card-list li::before{width:6px;height:6px}.svc-card-desc--m-hide,.svc-desc-more{display:none}@media (min-width:768px){.svc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.svc-card-desc--m-hide{display:block}.svc-desc-more{display:inline}.svc-card-in{display:grid;grid-template-rows:auto 1fr}.svc-card-media{display:block;aspect-ratio:16 / 7;min-height:0}.svc-card-body{padding:1.35rem}.svc-card-title{min-height:2.5em;margin:1.5rem 0 .875rem;font-size:clamp(1.4rem,1.8vw,1.7rem);text-align:center}.svc-card:nth-child(2) .svc-card-title,.svc-card:nth-child(3) .svc-card-title{min-height:2.5em}.svc-card-desc{min-height:4.8em;font-size:1rem;line-height:1.7}.svc-card-list{font-size:.9375rem}.svc-card-list li{margin-top:.375rem;padding-left:1.125rem}.svc-card-list li::before{width:7px;height:7px}}@media (min-width:1024px){.services-layout{width:100%;max-width:none}.svc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.svc-card-media{aspect-ratio:4 / 3}.svc-card-body{padding:1.1rem}.svc-card-title{min-height:4.6em;font-size:1.35rem}.svc-card-desc{min-height:6.8em;font-size:.975rem}.svc-card-list{font-size:.9375rem}}@media (min-width:1280px){.svc-card-body{display:grid;grid-template-rows:4.75rem 5.25rem auto;align-content:start}.svc-card-title{align-self:center;min-height:0;margin:0}.svc-card-desc{min-height:0;margin:0}}.why-block .container{width:min(90vw,1680px);max-width:none}.why-block .section-head{max-width:1100px;margin-inline:auto;text-align:center}.why-block .section-intro{margin-top:1rem;margin-inline:auto;color:var(--gray-500);font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.65}.why-intro-nowrap{white-space:nowrap}.why-grid{display:grid;grid-template-columns:1fr;gap:clamp(1rem,1.8vw,1.5rem);align-items:stretch;margin:clamp(3rem,4vw,3.5rem) 0 0;padding:0;list-style:none}.why-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:visible;height:100%}.why-copy{flex:1 1 auto;min-height:0;margin:0 0 clamp(1rem,1.5vw,1.25rem);padding:0}.why-title{margin:0 0 .5rem;color:var(--ink);font-size:clamp(1.4rem,2.25vw,2.25rem);letter-spacing:0}.why-title strong{color:var(--red)}.why-desc{max-width:52ch;margin:0;color:var(--gray-500)}.why-media{flex:0 0 auto;width:100%;aspect-ratio:1 / 1;border-radius:var(--radius-lg)}@media (min-width:1101px){.why-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.why-title,.why-desc{min-height:0}.why-copy{display:flex;flex-direction:column}.why-desc{margin-top:auto}}@media (min-width:661px) and (max-width:1100px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.proj-card{border-radius:6px;background:var(--white)}.proj-caption,.proj-card--sm .proj-caption{position:static;flex:0 0 auto;gap:3px;padding:.625rem .9rem;background:var(--white);transform:none;min-height:var(--cap-h);justify-content:center}.proj-card:hover .proj-caption{transform:none}.proj-title,.proj-card--sm .proj-title{color:var(--ink);font-size:.92rem;letter-spacing:0;text-shadow:none}.proj-descriptor{color:var(--gray-500);opacity:1;letter-spacing:0;text-shadow:none}.proj-img{position:relative}.proj-peek{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .5s ease}.proj-peek.is-shown{opacity:1}.proj-count{position:absolute;top:.6rem;right:.6rem;z-index:1;display:flex;align-items:center;gap:.35rem;height:28px;padding:0 .6rem;border-radius:999px;background:oklch(15% .01 260 / .65);color:var(--white);font-size:.75rem;font-weight:600;overflow:hidden;white-space:nowrap;transition:background var(--dur-fast)}.proj-count svg{width:15px;height:15px;flex:0 0 auto}.proj-count-label{display:grid;grid-template-columns:0fr;transition:grid-template-columns .3s ease}.proj-count-label > span{overflow:hidden;white-space:nowrap;opacity:0;transition:opacity .15s ease}.proj-card:hover .proj-count,.proj-card:focus-visible .proj-count{background:oklch(15% .01 260 / .82)}.proj-card:hover .proj-count-label,.proj-card:focus-visible .proj-count-label{grid-template-columns:1fr}.proj-card:hover .proj-count-label > span,.proj-card:focus-visible .proj-count-label > span{opacity:1;transition-delay:.1s}.proj-card:hover .proj-count-n,.proj-card:focus-visible .proj-count-n{display:none}@media (prefers-reduced-motion:reduce){.proj-peek{transition:none}.proj-count-label,.proj-count-label > span{transition:none}}.contact-head{max-width:920px;margin-bottom:clamp(2rem,4vw,3rem)}.contact-head .section-title{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:0}.contact-grid{gap:clamp(2rem,5vw,5rem)}.service-picks{display:flex;flex-wrap:wrap;gap:.5rem}.service-picks .chip-opt{flex:1 1 150px;justify-content:center}.contact-card{border-radius:6px}.direct-contact-actions{display:grid;gap:.75rem;margin-top:1.25rem}.direct-contact-actions .btn{justify-content:flex-start;width:100%}.contact-address{display:grid;gap:.4rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.contact-address a{color:var(--red)}section[id],#cotiza,#proceso,.cat-section{scroll-margin-top:calc(var(--hdr-stuck) + 1rem)}@media (min-width:768px) and (max-width:1199px){.hdr-inner{height:72px}.brand img{height:36px}.nav-link,.nav-cta{display:none}.menu-toggle{display:flex}.mobile-nav{display:flex}}.prod-cta{padding:.65rem .5rem;line-height:1.25;text-align:center}.page-catalog .cart-bubble{position:relative;inset:auto;z-index:auto;flex:0 0 44px;width:44px;height:44px}@media (max-width:1199px){.page-catalog .cart-bubble{flex-basis:40px;width:40px;height:40px}}