.md-alert{padding:8px 16px;border-left:3.5px solid #333333;margin-bottom:16px}.md-alert-body > *:last-child{margin-bottom:0}.md-alert-title{display:flex;font-weight:bold;align-items:center;margin-bottom:8px;margin-top:0;& > svg{margin-right:8px}}.md-alert--note{border-color:var(--gh-alert-note-border-color);& > .md-alert-title{color:var(--gh-alert-note-title-color);fill:var(--gh-alert-note-title-color)}}.md-alert--tip{border-color:var(--gh-alert-tip-border-color);& > .md-alert-title{color:var(--gh-alert-tip-title-color);fill:var(--gh-alert-tip-title-color)}}.md-alert--important{border-color:var(--gh-alert-important-border-color);& > .md-alert-title{color:var(--gh-alert-important-title-color);fill:var(--gh-alert-important-title-color)}}.md-alert--warning{border-color:var(--gh-alert-warning-border-color);& > .md-alert-title{color:var(--gh-alert-warning-title-color);fill:var(--gh-alert-warning-title-color)}}.md-alert--caution{border-color:var(--gh-alert-caution-border-color);& > .md-alert-title{color:var(--gh-alert-caution-title-color);fill:var(--gh-alert-caution-title-color)}}
#grav-login{max-width:30rem;margin:5rem auto;background:#fcfcfc;border:4px solid #eee;border-radius:4px;padding:1rem 3rem 3rem 3rem;text-align:center}#grav-login .form-actions{text-align:right}#grav-logout{position:absolute;bottom:5px;right:5px}.alert.info{color:#27ae60}.alert.error{color:#e74c3c}#grav-login p{font-size:small;margin:1rem 0;padding:0;text-align:center}#grav-login .form-actions p{margin-bottom:0}#grav-login .button{vertical-align:middle}#grav-login .delimiter{display:block;font-size:1.6rem;letter-spacing:1px;line-height:1.6rem;position:relative;text-transform:uppercase;margin:1rem 0}#grav-login .delimiter::after,#grav-login .delimiter::before{background-color:#777777;content:"";height:1px;position:absolute;top:0.8rem;width:40%}#grav-login .delimiter::before{background-image:linear-gradient(to right,#777777,#ffffff);left:0}#grav-login .delimiter::after{background-image:linear-gradient(to left,#777777,#ffffff);right:0}#grav-login .rememberme{display:inline-block;float:left;padding:7px 0;vertical-align:middle}#grav-login .rememberme label{font-weight:inherit;display:inline}.login-status{white-space:nowrap;vertical-align:middle}.email-change-pending .notice p{margin:0 0 0.5rem 0}.email-change-actions .button{margin:0 0.5rem 0.5rem 0}#grav-login .passkey-signin,#grav-login .passkey-second-step{margin:0 0 1rem 0}#grav-login .passkey-button{width:100%}#grav-login .passkey-or{display:flex;align-items:center;gap:0.75rem;margin:1rem 0 0 0;opacity:0.65;font-size:0.875rem}#grav-login .passkey-or::before,#grav-login .passkey-or::after{content:"";flex:1;border-top:1px solid currentColor;opacity:0.35}.passkeys-list{list-style:none;margin:0.5rem 0 1rem 0;padding:0}.passkeys-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.5rem 0;border-top:1px solid rgba(0,0,0,0.08)}.passkeys-list li:first-child{border-top:0}.passkeys-list .passkey-who small{display:block;opacity:0.7}.passkeys-list .passkey-actions{white-space:nowrap}.passkey-proof{margin:0 0 0.75rem 0}.passkey-proof label{display:block}
﻿.form-group.has-errors{background:rgba(255,0,0,.05);border:1px solid rgba(255,0,0,.2);border-radius:3px;margin:0 -5px;padding:0 5px}.form-errors{color:#b52b27}.form-honeybear{display:none;position:absolute !important;height:1px;width:1px;overflow:hidden;clip-path:rect(0px,1px,1px,0px)}.form-errors p{margin:0}.form-input-file input{display:none}.form-input-file .dz-default.dz-message{position:absolute;text-align:center;left:0;right:0;top:50%;transform:translateY(-50%);margin:0}.form-input-file.dropzone{position:relative;min-height:70px;border-radius:3px;margin-bottom:.85rem;border:2px dashed #ccc;color:#aaa;padding:.5rem}.form-input-file.dropzone .dz-preview{margin:.5rem}.form-input-file.dropzone .dz-preview:hover{z-index:2}.form-input-file.dropzone .dz-preview .dz-image img{margin:0}.form-input-file.dropzone .dz-preview .dz-remove{font-size:16px;position:absolute;top:3px;right:3px;display:inline-flex;height:20px;width:20px;background-color:red;justify-content:center;align-items:center;color:#fff;font-weight:bold;border-radius:50%;cursor:pointer;z-index:20}.form-input-file.dropzone .dz-preview .dz-remove:hover{background-color:darkred;text-decoration:none}.form-input-file.dropzone .dz-preview .dz-error-message{min-width:140px;width:auto}.form-input-file.dropzone .dz-preview .dz-image,.form-input-file.dropzone .dz-preview.dz-file-preview .dz-image{border-radius:3px;z-index:1}.filepond--root.form-input{min-height:7rem;height:auto;overflow:hidden;border:0}.form-tabs .tabs-nav{display:flex;padding-top:1px;margin-bottom:-1px}.form-tabs .tabs-nav a{flex:1;transition:color .5s ease,background .5s ease;cursor:pointer;text-align:center;padding:10px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #ccc;border-radius:5px 5px 0 0}.form-tabs .tabs-nav a.active{border:1px solid #ccc;border-bottom:1px solid rgba(0,0,0,0);margin:0 -1px}.form-tabs .tabs-nav a.active span{color:inherit}.form-tabs .tabs-nav span{display:inline-block;line-height:1.1}.form-tabs.subtle .tabs-nav{margin-right:0 !important}.form-tabs .tabs-content .tab__content{display:none;padding-top:2rem}.form-tabs .tabs-content .tab__content.active{display:block}.checkboxes{display:inline-block}.checkboxes label{display:inline;cursor:pointer;position:relative;padding:0 0 0 20px;margin-right:15px}.checkboxes label:before{content:"";display:inline-block;width:20px;height:20px;left:0;margin-top:0;margin-right:10px;position:absolute;border-radius:3px;border:1px solid #e6e6e6}.checkboxes input[type=checkbox]{display:none}.checkboxes input[type=checkbox]:checked+label:before{content:"✓";font-size:20px;line-height:1;text-align:center}.checkboxes.toggleable label{margin-right:0}.form-field-toggleable .checkboxes.toggleable{margin-right:5px;vertical-align:middle}.form-field-toggleable .checkboxes+label{display:inline-block}.switch-toggle{display:inline-flex;overflow:hidden;border-radius:3px;line-height:35px;border:1px solid #ccc}.switch-toggle input[type=radio]{position:absolute;visibility:hidden;display:none}.switch-toggle label{display:inline-block;cursor:pointer;padding:0 15px;margin:0;white-space:nowrap;color:inherit;transition:background-color .5s ease}.switch-toggle input.highlight:checked+label{background:#333;color:#fff}.switch-toggle input:checked+label{color:#fff;background:#999}.signature-pad{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;font-size:10px;width:100%;height:100%;max-width:700px;max-height:460px;border:1px solid #f0f0f0;background-color:#fff;padding:16px}.signature-pad--body{position:relative;-webkit-box-flex:1;-ms-flex:1;flex:1;border:1px solid #f6f6f6;min-height:100px}.signature-pad--body canvas{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:4px;box-shadow:0 0 5px rgba(0,0,0,.02) inset}.signature-pad--footer{color:#c3c3c3;text-align:center;font-size:1.2em}.signature-pad--actions{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-top:8px}[data-grav-field=array] .form-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}[data-grav-field=array] .form-row>input,[data-grav-field=array] .form-row>textarea{margin:0;display:inline-block}[data-grav-field=array] .form-row>span[data-grav-array-action]{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-width:1.9rem;min-height:1.9rem;padding:.25rem;border-radius:3px;cursor:pointer;color:inherit;opacity:.45;transition:opacity .2s ease}[data-grav-field=array] .form-row>span[data-grav-array-action]:hover{opacity:1}[data-grav-field=array] .form-row>span[data-grav-array-action=sort]{cursor:grab}[data-grav-field=array] .form-row>span[data-grav-array-action=sort]:active{cursor:grabbing}.form-data.basic-captcha .form-input-wrapper{border:1px solid #ccc;border-radius:5px;display:flex;overflow:hidden}.form-data.basic-captcha .form-input-prepend{display:flex;color:#333;background-color:#ccc;flex-shrink:0}.form-data.basic-captcha .form-input-prepend img{margin:0}.form-data.basic-captcha .form-input-prepend button>svg{margin:0 8px;width:18px;height:18px}.form-data.basic-captcha input.form-input{border:0}
*,*::before,*::after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-body);font-size:var(--fs-base);color:var(--color-text);background-color:var(--color-bg);text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}img,svg{height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus-visible{color:var(--color-accent-hover)}ul,ol{list-style:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:var(--radius-sm)}::selection{background-color:var(--color-accent);color:var(--color-bg)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}}
@font-face{font-family:'Aldrich';src:url('/user/themes/4DF/assets/fonts/aldrich-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'IBM Plex Mono';src:url('/user/themes/4DF/assets/fonts/ibm-plex-mono-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}:root{--color-bg:#000000;--color-text:#ffffff;--color-text-muted:#999999;--color-border:#1a1a1a;--color-border-strong:#2a2a2a;--color-accent:#00aaf9;--color-accent-hover:#0086cc;--color-accent-muted:rgba(0,170,249,0.15);--font-display:'Aldrich','Inter',system-ui,-apple-system,sans-serif;--font-body:'Inter',system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--font-mono:'IBM Plex Mono','JetBrains Mono','Courier New',monospace;--fs-xs:0.75rem;--fs-sm:0.875rem;--fs-base:1rem;--fs-lg:1.125rem;--fs-xl:1.5rem;--fs-2xl:2rem;--fs-3xl:3rem;--fs-4xl:4rem;--fs-display:6rem;--fw-regular:400;--fw-medium:500;--fw-bold:700;--space-xs:0.5rem;--space-sm:1rem;--space-md:2rem;--space-lg:4rem;--space-xl:8rem;--space-2xl:12rem;--max-width:1200px;--max-width-narrow:720px;--header-height:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.5);--shadow-md:0 4px 12px rgba(0,0,0,0.6);--shadow-lg:0 12px 32px rgba(0,0,0,0.7);--transition-fast:150ms ease;--transition-base:250ms ease;--transition-slow:400ms ease;--bp-mobile:480px;--bp-tablet:768px;--bp-desktop:1024px;--bp-wide:1280px}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-regular);line-height:1.2;letter-spacing:-0.02em;color:var(--color-text)}h1{font-size:var(--fs-4xl)}h2{font-size:var(--fs-3xl)}h3{font-size:var(--fs-2xl)}h4{font-size:var(--fs-xl)}h5{font-size:var(--fs-lg)}h6{font-size:var(--fs-base);text-transform:uppercase;letter-spacing:0.1em}p{margin-bottom:var(--space-md);color:var(--color-text)}p.lead{font-size:var(--fs-lg);color:var(--color-text-muted);max-width:var(--max-width-narrow)}a{color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}a:hover,a:focus-visible{color:var(--color-accent)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:var(--space-md)}.container--narrow{max-width:var(--max-width-narrow)}section{padding-block:var(--space-xl);scroll-margin-top:var(--header-height)}section + section{border-top:1px solid var(--color-border)}.section-header{margin-bottom:var(--space-lg)}.section-header h2{margin-bottom:var(--space-sm)}.section-header .accent{color:var(--color-accent)}.site-header{position:sticky;top:0;z-index:100;background:rgba(0,0,0,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);height:var(--header-height);display:flex;align-items:center}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding-block:0}.site-brand{display:flex;align-items:center;gap:12px}.site-brand .logo-mark{font-family:var(--font-display);font-size:20px;letter-spacing:0.04em;color:var(--color-text);line-height:1}.site-brand .logo-mark em{color:var(--color-accent);font-style:normal}.site-brand .logo-label{font-family:var(--font-mono);font-size:9px;letter-spacing:0.24em;color:var(--color-text-muted);text-transform:uppercase;padding-left:12px;border-left:1px solid var(--color-border-strong);line-height:1;transform:translateY(-1px)}@media (max-width:640px){.site-brand .logo-label{display:none}}.nav-desktop{display:flex;align-items:center;gap:var(--space-md);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:0.05em;text-transform:uppercase}.nav-desktop a{color:var(--color-text);position:relative;padding-block:var(--space-xs)}.nav-desktop a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--color-accent);transition:width var(--transition-base)}.nav-desktop a:hover::after,.nav-desktop a:focus-visible::after{width:100%}.nav-cta{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:0.05em;text-transform:uppercase;transition:all var(--transition-base)}.nav-cta:hover,.nav-cta:focus-visible{background:var(--color-accent);color:var(--color-bg);transform:translateY(-1px)}.nav-cta::after{display:none}.nav-desktop a.nav-cta{color:var(--color-accent)}.nav-desktop a.nav-cta:hover,.nav-desktop a.nav-cta:focus-visible{background:var(--color-accent);color:var(--color-bg);transform:translateY(-1px)}.nav-mobile{display:none}@media (max-width:768px){.nav-desktop{display:none}.nav-mobile{display:inline-flex}}.site-footer{background:var(--color-bg);border-top:1px solid var(--color-border);padding-block:var(--space-lg) var(--space-md);margin-top:var(--space-2xl)}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-lg)}.footer-grid h4{font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted);margin-bottom:var(--space-sm)}.footer-brand img{height:32px;margin-bottom:var(--space-sm)}.footer-brand .footer-brand-mark{display:block;font-family:var(--font-display);font-size:24px;letter-spacing:0.04em;color:var(--color-text);margin-bottom:var(--space-xs);line-height:1}.footer-brand .footer-brand-mark em{color:var(--color-accent);font-style:normal}.footer-brand{display:block;color:inherit;text-decoration:none;transition:color var(--transition-fast);cursor:pointer}.footer-brand .footer-brand-mark{transition:color var(--transition-fast)}.footer-brand:focus-visible .footer-brand-mark{color:var(--color-accent)}.footer-brand .footer-brand-tagline{color:var(--color-text-muted);font-size:var(--fs-sm);margin:0}.footer-grid ul{display:flex;flex-direction:column;gap:var(--space-xs)}.footer-grid a{color:var(--color-text);font-size:var(--fs-sm)}.footer-grid a:hover,.footer-grid a:focus-visible{color:var(--color-accent)}.footer-social ul{flex-direction:row;gap:var(--space-md);align-items:center}.footer-social a{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-muted);transition:color var(--transition-fast)}.footer-social a:hover,.footer-social a:focus-visible{color:var(--color-accent)}.footer-social svg{width:24px;height:24px;display:block}.footer-legal-bar{padding-top:var(--space-md);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.copyright{color:var(--color-text-muted);font-size:var(--fs-sm);margin:0}.site-brand:focus-visible,.footer-brand:focus-visible{outline:none}@media (max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-md)}.footer-brand{grid-column:1 / -1}.footer-legal-bar{flex-direction:column;text-align:center}}.btn{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-accent);border-radius:var(--radius-pill);background:transparent;color:var(--color-accent);font-family:var(--font-display);font-size:var(--fs-base);letter-spacing:0.05em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-base)}.btn:hover,.btn:focus-visible{background:var(--color-accent);color:var(--color-bg);transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn--solid{background:var(--color-accent);color:var(--color-bg)}.btn--solid:hover{background:var(--color-accent-hover);color:var(--color-bg)}.btn--ghost{border-color:var(--color-border-strong);color:var(--color-text)}.btn--ghost:hover{border-color:var(--color-accent);background:transparent;color:var(--color-accent)}.text-accent{color:var(--color-accent)}.text-muted{color:var(--color-text-muted)}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.welcome{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;justify-content:center;text-align:center;padding-block:var(--space-2xl);position:relative;overflow:hidden}.welcome::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 30%,var(--color-accent-muted),transparent 60%);pointer-events:none;z-index:0}.welcome .container{position:relative;z-index:1}.welcome__inner{display:flex;flex-direction:column;align-items:center;max-width:1100px;margin:0 auto}.welcome__eyebrow{font-family:var(--font-display);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.2em;color:var(--color-text);margin-bottom:var(--space-md);opacity:0.85}.welcome__title{width:100%;font-size:clamp(var(--fs-xl),4vw,var(--fs-2xl));font-weight:var(--fw-regular);line-height:1.3;letter-spacing:-0.02em;margin-bottom:var(--space-md)}.welcome__title .accent{display:inline-block;white-space:nowrap;color:var(--color-accent);vertical-align:baseline;transition:opacity 1200ms ease,transform 1200ms ease}.welcome__title .accent.is-fading{opacity:0;transform:translateY(-8px)}@media (min-width:641px){.welcome{padding-block:clamp(5rem,13vh,8rem)}.welcome__title{display:flex;flex-direction:column;align-items:center;gap:0.12em;font-size:clamp(2.25rem,4vw,3rem)}}.welcome__lead{font-size:clamp(0.9375rem,1.3vw,var(--fs-base));color:var(--color-text-muted);max-width:640px;margin:0 auto var(--space-lg);line-height:1.65}.welcome__highlight{border-left:3px solid var(--color-accent);padding:var(--space-sm) 0 var(--space-sm) var(--space-md);margin:var(--space-lg) 0;max-width:540px;text-align:left;font-family:var(--font-display);font-size:var(--fs-lg);font-style:italic;color:var(--color-text);background:none;quotes:none}.welcome__highlight::before,.welcome__highlight::after{content:none}.welcome__cta{display:inline-flex;gap:var(--space-md);flex-wrap:wrap;justify-content:center}.welcome__cta .btn{padding:0.875rem 1.5rem;font-size:0.9rem;letter-spacing:0.04em}@media (max-width:640px){.welcome{padding-block:clamp(1.5rem,5vh,2rem)}.welcome__eyebrow{font-size:0.75rem;letter-spacing:0.16em}.welcome__title{min-height:3.9em;font-size:clamp(1.5rem,7vw,1.875rem)}.welcome__title .accent{display:block;width:100%;min-width:0 !important;white-space:normal}.welcome__lead{font-size:0.875rem}}.welcome__scroll-hint{position:absolute;bottom:clamp(2.5rem,5vh,3.5rem);left:50%;transform:translateX(-50%);color:var(--color-text-muted);font-size:var(--fs-sm);font-family:var(--font-display);text-transform:uppercase;letter-spacing:0.2em;animation:bounce 2s infinite;z-index:1}.welcome__particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.welcome__particle{position:absolute;left:var(--x);top:var(--y);width:2px;height:2px;border-radius:50%;background:var(--color-text);opacity:0;animation:welcome__particle-float var(--duration) ease-in-out infinite alternate,welcome__particle-fade var(--duration) ease-in-out infinite;animation-delay:var(--delay)}.welcome__particle:nth-child(odd){width:3px;height:3px;background:var(--color-accent)}@keyframes welcome__particle-float{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--drift-x),var(--drift-y),0)}}@keyframes welcome__particle-fade{0%,100%{opacity:0}50%{opacity:0.5}}@media (prefers-reduced-motion:reduce){.welcome__particle{animation:none !important;opacity:0 !important}}@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0);opacity:0.6}50%{transform:translateX(-50%) translateY(8px);opacity:1}}.servicios__intro{text-align:left;margin:0 0 var(--space-lg)}.servicios__intro h2{margin-bottom:var(--space-sm)}.servicios__intro p{margin-bottom:0;color:var(--color-text-muted)}.servicios__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-sm)}.servicio{background:linear-gradient(145deg,#0a0a0a,#050505);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);text-align:left;transition:border-color var(--transition-base),transform var(--transition-base),background var(--transition-base)}.servicio:hover{border-color:var(--color-accent);transform:translateY(-2px);background:#0a0a0a}.servicio h3{display:flex;align-items:center;gap:var(--space-xs);min-height:40px;font-size:clamp(1rem,1.3vw,var(--fs-lg));margin-bottom:var(--space-sm)}.servicio__icon{display:block;width:40px;height:40px;flex:0 0 40px}.servicio p{color:var(--color-text-muted);font-size:var(--fs-sm);line-height:1.6;margin:0}@media (max-width:1024px){.servicios__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.servicios__grid{grid-template-columns:1fr}.servicio{padding:var(--space-sm)}}.proyectos__header{margin:0 0 var(--space-lg);scroll-margin-top:var(--header-height)}.proyectos__header h2{margin:0 0 var(--space-sm);font-size:var(--fs-3xl);line-height:1.2}.proyectos__header p{margin:0;color:var(--color-text-muted);line-height:1.7}.proyectos__list{display:grid}.proyectos__more{display:flex;justify-content:center;padding-top:var(--space-lg)}.proyectos__more .btn{min-width:12rem;justify-content:center}.proyecto{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(2.5rem,5vw,4rem) 0}.proyecto + .proyecto{border-top:1px solid var(--color-border-strong)}.proyecto:nth-child(even) .proyecto__info{order:2}.proyecto__info{max-width:44ch}.proyecto__type{margin:0 0 0.6rem;color:var(--color-accent);font-size:var(--fs-base)}.proyecto__title{max-width:18ch;margin:0 0 1rem;font-size:clamp(1.4rem,2.2vw,1.6rem);line-height:1.2;text-transform:none;letter-spacing:-0.02em}.proyecto__description{margin:0;color:var(--color-text-muted)}.proyecto__meta{display:flex;flex-wrap:wrap;gap:0.4rem 1.5rem;margin:1.75rem 0 0;padding:1.1rem 0 0;border-top:1px solid var(--color-border-strong);color:var(--color-text-muted);font-size:var(--fs-base);list-style:none}.proyecto__link{display:inline-flex;margin-top:1.5rem;padding:0.6rem 1.5rem;border:1px solid var(--color-accent);border-radius:var(--radius-pill);color:var(--color-accent);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:0.12em;text-transform:uppercase;transition:background var(--transition-base),color var(--transition-base)}.proyecto__link:hover,.proyecto__link:focus-visible{background:var(--color-accent);color:var(--color-bg)}.proyecto__visual{position:relative;aspect-ratio:4 / 3;margin:0;border:1px solid var(--color-border);border-radius:24px;overflow:hidden;background:radial-gradient(ellipse at 25% 20%,rgba(0,170,249,0.16),transparent 60%),#050607}.proyecto__visual img,.proyecto__visual svg{display:block;width:100%;height:100%}.proyecto__visual img{object-fit:cover}.proyecto__visual svg{position:absolute;inset:0}.proyecto__visual path{fill:none;stroke:var(--color-accent);stroke-width:1.5;stroke-linecap:round}.proyecto__visual path:nth-child(1){opacity:0.9}.proyecto__visual path:nth-child(2){opacity:0.55}.proyecto__visual path:nth-child(3){opacity:0.3}.proyectos-page{padding-block:var(--space-xl)}.proyectos-page__header{margin:0 0 var(--space-lg)}.proyectos-page__header h1{margin:0 0 var(--space-sm);font-size:clamp(2.8rem,6vw,4.2rem);line-height:1.05}.proyectos-page__header p{margin:0;color:var(--color-text-muted);line-height:1.7}.proyectos-page__empty{padding-block:var(--space-lg);color:var(--color-text-muted)}@media (max-width:860px){.proyecto{grid-template-columns:1fr}.proyecto:nth-child(even) .proyecto__info{order:1}.proyecto__info{order:1}.proyecto__visual{order:0}}@media (max-width:640px){.proyecto{gap:1.25rem}.proyecto__info{padding-inline:1.25rem}.proyecto__meta{margin-top:1rem;padding-top:1rem}.proyectos .container,.proyectos-page > .container{padding-inline:0.75rem}}.proyecto__visual--detail{margin-block:var(--space-lg)}.proyecto-detalle{padding-block:var(--space-xl)}.proyecto-detalle__back{display:inline-flex;margin-bottom:var(--space-lg);color:var(--color-accent);font-family:var(--font-display)}.proyecto-detalle__type{margin:0 0 var(--space-xs);color:var(--color-accent)}.proyecto-detalle h1{max-width:18ch;margin-bottom:var(--space-sm);font-size:clamp(2.4rem,6vw,4.2rem)}.proyecto-detalle__description{max-width:58ch;color:var(--color-text-muted)}.proyecto-detalle__meta{display:flex;flex-wrap:wrap;gap:0.4rem 1.5rem;margin:0;padding:1.1rem 0 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);list-style:none}.proyecto-detalle__content{max-width:72ch;margin-top:var(--space-lg)}.proyecto-detalle__content p{color:var(--color-text-muted)}.proyecto-detalle__content p:last-child{margin-bottom:0}@media (prefers-reduced-motion:reduce){.proyecto__link{transition:none}}.nosotros__section-header{margin-bottom:var(--space-lg)}.nosotros__section-header h2{margin:0}.nosotros__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,6rem);align-items:start}.nosotros__copy{max-width:640px}.nosotros__copy h3{max-width:16ch;margin:0 0 var(--space-md);font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.2}.nosotros__intro,.nosotros__approach{max-width:58ch;color:var(--color-text-muted);font-size:var(--fs-base);line-height:1.8}.nosotros__intro{color:var(--color-text)}.nosotros__approach{margin-bottom:0}.nosotros__quote{max-width:34ch;margin:var(--space-md) 0 0;padding-left:1.25rem;border-left:2px solid var(--color-accent);color:var(--color-text);font-family:var(--font-display);font-size:var(--fs-lg);line-height:1.45}.nosotros__principles{display:grid;padding:0;margin:0;list-style:none}.nosotros__principles li{position:relative;padding:1.5rem 0 1.5rem 1.5rem;border-top:1px solid var(--color-border-strong)}.nosotros__principles li:last-child{border-bottom:1px solid var(--color-border-strong)}.nosotros__principles li::before{position:absolute;top:2.1rem;left:0;width:0.5rem;height:0.5rem;border-radius:50%;background:var(--color-accent);content:''}.nosotros__principles h4{margin:0;font-size:var(--fs-lg)}.nosotros__principles p{max-width:44ch;margin:0.35rem 0 0;color:var(--color-text-muted);font-size:var(--fs-base);line-height:1.6}@media (max-width:860px){.nosotros__grid{grid-template-columns:1fr;gap:var(--space-lg)}}@media (max-width:480px){.nosotros__section-header{margin-bottom:var(--space-md)}.nosotros__principles li{padding-block:1.25rem}.nosotros__principles li::before{top:1.85rem}}.iniciativas{overflow-x:clip}.iniciativas__header{margin:0 0 var(--space-lg)}.iniciativas__title{margin:0;font-size:clamp(2.8rem,6vw,4.2rem);line-height:1.05}.iniciativas__header p{margin:var(--space-sm) 0 0;color:var(--color-text-muted);line-height:1.7}.iniciativas__ribbon{position:relative;z-index:1;width:calc(100% + 6vw);margin:0 -3vw;overflow:hidden;transform:rotate(-1.2deg);background:var(--color-accent);color:var(--color-bg)}.iniciativas__ribbon-track{display:flex;width:max-content;align-items:center;padding-block:0.55rem;will-change:transform;animation:iniciativas-ribbon-scroll 36s linear infinite;font-family:var(--font-display);font-size:var(--fs-base);font-weight:var(--fw-bold);letter-spacing:0.1em;text-transform:uppercase}.iniciativas__ribbon-group{display:flex;flex:none;align-items:center;white-space:nowrap}.iniciativas__ribbon-track span{padding-inline:1.25rem}.iniciativas__ribbon-track b{font-size:1.2em;font-weight:var(--fw-regular)}@keyframes iniciativas-ribbon-scroll{to{transform:translate3d(-25%,0,0)}}.iniciativa-feature{position:relative;display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);align-items:stretch;margin-top:clamp(3rem,6vw,5rem);border-radius:var(--radius-lg);background:#0b0c0e;color:var(--color-text);box-shadow:12px 12px 0 var(--color-accent)}.iniciativa-feature__badge{position:absolute;top:-0.9rem;right:1.5rem;z-index:2;padding:0.4rem 1rem;transform:rotate(2deg);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-bg);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:0.04em;text-transform:uppercase}.iniciativa-feature__brand{display:flex;min-width:0;min-height:22rem;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(2rem,4vw,3.5rem);border-radius:var(--radius-lg) 0 0 var(--radius-lg);background:#ebecee;color:#0b0c0e}.iniciativa-feature__label{margin:0 0 0.85rem;padding-left:0.65rem;border-left:2px solid var(--color-accent);color:#0a6fb8;font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:0.12em;line-height:1.5;text-transform:uppercase}.iniciativa-feature__wordmark{margin:0;font-family:var(--font-display);font-size:clamp(3.5rem,7vw,5.5rem);line-height:0.95;letter-spacing:-0.04em;color:#0b0c0e}.iniciativa-feature__wordmark span{color:var(--color-accent)}.iniciativa-feature__detail{align-self:center;padding:clamp(2rem,4vw,3.5rem)}.iniciativa-feature__detail > p{margin:0;color:#c4c8ce}.iniciativa-feature__stats{display:flex;flex-wrap:wrap;gap:1rem 0;padding:0;margin:var(--space-md) 0;border-block:1px solid #383c42;list-style:none}.iniciativa-feature__stats li{flex:1 1 auto;padding:0.9rem 1rem 0.9rem 0;margin-right:1rem;border-right:1px solid #383c42}.iniciativa-feature__stats li:last-child{padding-right:0;margin-right:0;border-right:0}.iniciativa-feature__stats strong,.iniciativa-feature__stats span{display:block}.iniciativa-feature__stats strong{font-family:var(--font-display);font-size:clamp(1.5rem,2.8vw,2rem);line-height:1.1}.iniciativa-feature__stats li:nth-child(2) strong{display:inline-block;padding-inline:0.2em;transform:rotate(-1.5deg);background:var(--color-accent);color:#0b0c0e}.iniciativa-feature__stats span{margin-top:0.25rem;color:#b8bcc2;font-size:var(--fs-xs)}.iniciativa-feature__link{display:inline-flex;align-items:center;gap:0.65rem;padding:0.8rem 1.15rem;background:#ebecee;box-shadow:5px 5px 0 var(--color-accent);color:#0b0c0e;font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:0.06em;text-transform:uppercase;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.iniciativa-feature__link:hover,.iniciativa-feature__link:focus-visible{transform:translate(5px,5px);box-shadow:0 0 0 var(--color-accent);color:#0b0c0e}.iniciativa-feature__link svg{width:1em;height:1em;flex:0 0 1em}@media (max-width:900px){.iniciativa-feature{grid-template-columns:1fr}.iniciativa-feature{box-shadow:8px 8px 0 var(--color-accent)}.iniciativa-feature__brand{min-height:16rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:1px solid rgba(0,0,0,0.12)}}@media (max-width:560px){.iniciativas__ribbon-desktop-only{display:none}.iniciativa-feature__badge{right:0.75rem;max-width:calc(100% - 1.5rem);font-size:0.65rem}.iniciativa-feature__brand{min-height:13rem;padding:2rem 1.5rem}.iniciativa-feature__detail{padding:1.5rem}.iniciativa-feature__stats li{margin-right:0.65rem;padding-right:0.65rem}.iniciativa-feature__stats span{max-width:10ch}.iniciativa-feature__link{max-width:100%;font-size:0.72rem}}@media (prefers-reduced-motion:reduce){.iniciativas__ribbon-track{animation:none}.iniciativa-feature__link{transition:none}}.contacto .container{max-width:var(--max-width)}.contacto__intro{text-align:left;margin-bottom:var(--space-lg)}.section-contacto{padding-bottom:3rem}.section-contacto .form-wrapper,.contacto .form-wrapper{max-width:640px;margin-inline:auto}.form-wrapper{margin:0}.form-wrapper form{display:grid;gap:var(--space-md)}.form-wrapper .form-field{display:grid;gap:var(--space-xs)}.form-wrapper .form-label label{font-family:var(--font-display);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.form-wrapper .form-label .required{color:var(--color-accent);margin-left:2px}.form-wrapper .form-input-wrapper{display:block}.form-wrapper input[type="text"],.form-wrapper input[type="email"],.form-wrapper input[type="tel"],.form-wrapper textarea,.form-wrapper select{width:100%;padding:var(--space-sm);background:#0a0a0a;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-base);transition:border-color var(--transition-fast)}.form-wrapper input:focus,.form-wrapper textarea:focus,.form-wrapper select:focus{outline:none;border-color:var(--color-accent)}.form-wrapper textarea{min-height:140px;resize:vertical}.form-wrapper input::placeholder,.form-wrapper textarea::placeholder{color:var(--color-text-muted);opacity:0.7}.form-wrapper form > button[type="submit"],.form-wrapper form > input[type="submit"],.form-wrapper form > .buttons,.form-wrapper form > .form-submit{grid-column:1 / -1;justify-self:center;margin-top:var(--space-sm)}.form-wrapper form > .buttons{display:flex;justify-content:center}.form-wrapper form button[type="submit"],.form-wrapper form input[type="submit"]{display:block;width:fit-content;margin-inline:auto}.form-wrapper .form-errors{color:#ef4444;font-size:var(--fs-sm)}.form-error{padding:var(--space-sm);border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--fs-sm);text-align:left}@media (min-width:641px){.form-wrapper form{grid-template-columns:1fr 1fr}.form-wrapper .form-field:nth-child(3){grid-column:1 / -1}}.contacto__form{display:grid;gap:var(--space-md)}.form-row{display:grid;gap:var(--space-xs)}.form-row label{font-family:var(--font-display);font-size:var(--fs-sm);text-transform:uppercase;letter-spacing:0.1em;color:var(--color-text-muted)}.form-row input,.form-row textarea,.form-row select{width:100%;padding:var(--space-sm);background:#0a0a0a;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--fs-base);transition:border-color var(--transition-fast)}.form-row input:focus,.form-row textarea:focus,.form-row select:focus{outline:none;border-color:var(--color-accent)}.form-row textarea{min-height:140px;resize:vertical}.form-row--inline{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media (max-width:640px){.form-row--inline{grid-template-columns:1fr}}.form-submit{display:flex;justify-content:center;margin-top:var(--space-sm)}.form-message{margin-block-end:var(--space-md);padding:var(--space-sm);border-radius:var(--radius-sm);font-size:var(--fs-sm);text-align:center}.form-message--success{background:var(--color-accent-muted);color:var(--color-accent);border:1px solid var(--color-accent)}.form-message--error{background:rgba(239,68,68,0.15);color:#ef4444;border:1px solid #ef4444}.page-content{padding-block:var(--space-2xl);min-height:60vh}.page-content .section-header{margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-md)}.page-content h1{font-size:clamp(var(--fs-2xl),4vw,var(--fs-3xl));margin-bottom:var(--space-sm)}.page-content h2{font-size:var(--fs-2xl);margin-top:var(--space-lg);margin-bottom:var(--space-md);padding-top:var(--space-md)}.page-content h3{font-size:var(--fs-xl);margin-top:var(--space-md);margin-bottom:var(--space-sm)}.page-body{color:var(--color-text);line-height:1.7}.page-body p{margin-bottom:var(--space-md)}.page-body ul,.page-body ol{margin-bottom:var(--space-md);padding-left:var(--space-lg)}.page-body ul li,.page-body ol li{margin-bottom:var(--space-xs);list-style:disc inside}.page-body blockquote{border-left:3px solid var(--color-accent);padding-left:var(--space-md);margin:var(--space-md) 0;font-style:italic;color:var(--color-text-muted)}.page-body a{color:var(--color-accent);border-bottom:1px solid var(--color-accent-muted)}.page-body a:hover{border-bottom-color:var(--color-accent)}.page-body strong{color:var(--color-text);font-weight:var(--fw-medium)}
