/* Usability baseline: text, focus, safe areas and progressive enhancement. */
:root{color-scheme:light}html{scroll-padding-bottom:110px}body{overflow-wrap:break-word}h2,h3{text-wrap:balance}button,a,input,select,textarea,summary{touch-action:manipulation}a,button,input,select,textarea,summary{scroll-margin-block:125px 130px}dialog{overscroll-behavior:contain}button:disabled{opacity:.7;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #008578;outline-offset:5px}.contact-section :focus-visible,.custom-service :focus-visible{outline-color:#91f5df}.contact-grid>*{min-width:0}.contact-email{overflow-wrap:anywhere}.price-line,.estimate-total,.package-total{font-variant-numeric:tabular-nums}.package-total{font-size:12px;margin-top:8px;color:var(--navy)}.price-card ul{font-size:13px}.price-card .hosting{font-size:12px}.aside-logo{width:45px;height:50px;color:var(--navy);margin-bottom:22px}.project-preview[data-project="shop"]{--project-bg:#e3edc8}.project-preview[data-project="didi"]{--project-bg:#e1ecf7}.project-preview[data-project="daniela"]{--project-bg:#dedcf8}.project-preview[data-project="santo"]{--project-bg:#f6d6bc}.project-preview[data-project="norma"]{--project-bg:#dce5df}.project-preview[data-project="toca"]{--project-bg:#f2dfcc}.project-preview[data-project="momo"]{--project-bg:#f6e6ad}.project-preview[data-project="enrique"]{--project-bg:#dfe9dd}.project-preview[data-project="price"]{--project-bg:#f4ebad}.project-preview[data-project="wifi"]{--project-bg:#dce4e4}
.field-error{color:#ffcfbd;font-size:12px;display:block;margin-top:7px}input[aria-invalid="true"],textarea[aria-invalid="true"],select[aria-invalid="true"]{border:2px solid #ffcfbd}.contact-grid form .form-note{font-size:12px;line-height:1.7}.contact-grid label{font-size:12px}.form-note a,.contact-preview a:not(.button){color:#b7fff1;text-decoration:underline;text-underline-offset:3px}.contact-preview{border-top:1px solid #4c6275;margin-top:24px;padding-top:23px}.contact-preview h4{font-size:20px;line-height:1.4;margin:0}.contact-preview textarea{font-size:13px;min-height:155px;line-height:1.65}.contact-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.contact-preview-actions .button{width:auto;margin-top:0;flex:1;min-width:140px}.contact-preview-actions .outline{color:#e9ffff;border-color:#71999e}.contact-preview-actions .outline:hover{background:#234963}.contact-focused .whatsapp-float{visibility:hidden}.gallery-error{padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--ice)}.gallery-error p{font-size:14px;margin-bottom:16px}.hero-visual:before{animation-name:shape-shift}.about-mark:before{animation-name:shape-turn}.steps article:before{width:100%;transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.process-section.in-view .steps article:before{transform:scaleX(1)}
@keyframes shape-shift{to{transform:rotate(8deg) scale(.97)}}@keyframes shape-turn{to{transform:rotate(-10deg)}}
/* The initial content and direct contacts remain useful without JavaScript. */
html:not(.enhanced) .portfolio-toolbar,html:not(.enhanced) #show-more,html:not(.enhanced) .select-package,html:not(.enhanced) #resumen,html:not(.enhanced) #contact-form{display:none}html:not(.enhanced) .hero-copy{animation:none;opacity:1}html:not(.enhanced) .header nav{display:flex}html:not(.enhanced) .menu-toggle{display:none}
.document-page{background:#f4f8fa}.document-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-block:26px;border-bottom:1px solid var(--line)}.document-header img{width:230px;height:auto}.document-header .button{min-height:44px}.document-main{max-width:850px;padding-block:45px 75px}.document-main h1{font-size:clamp(36px,5vw,64px);margin-top:30px;line-height:1.12}.document-main .document-intro{font-size:19px;line-height:1.7;margin-top:23px;max-width:720px}.document-date{font-size:13px;margin-top:20px}.document-main section{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}.document-main h2{font-size:28px;letter-spacing:-.04em;line-height:1.3}.document-main section p{margin-top:16px;line-height:1.8;font-size:16px}.document-main a:not(.button){text-decoration:underline;text-underline-offset:4px}.document-main section .button{margin-top:20px}.terms-prices{margin-top:24px}.terms-prices article{padding:18px 0;border-bottom:1px solid var(--line)}.terms-prices h3{font-size:20px}.document-main .terms-prices p{font-size:14px;margin-top:9px}.document-footer{padding:25px 0 42px;border-top:1px solid var(--line)}.document-footer> a{font-weight:800;font-size:23px;letter-spacing:-.05em}.document-footer nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:13px;margin-top:16px}.document-footer p{font-size:13px;margin-top:17px}.document-footer a:hover{color:var(--deep-teal)}.error-code{font-size:clamp(80px,18vw,170px);font-weight:800;line-height:1;color:#00776e;letter-spacing:-.08em;display:block}.error-actions{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-top:30px}.footer-bottom{align-items:center;flex-wrap:wrap;font-size:11px}.footer-bottom a,.footer-bottom .privacy-link{min-height:32px;display:inline-flex;align-items:center}.cookie-settings-heading{position:sticky;top:-28px;background:white;padding-block:12px;z-index:2}.cookie-settings .cookie-detail{font-size:12px}.cookie-actions button{font-size:12px}.consent-category p{font-size:12px}
@media(max-width:760px){.section-heading h2{font-size:clamp(32px,8.4vw,39px)}input,select,textarea{font-size:16px;min-height:46px}.contact-section p{font-size:15px}.contact-section h2{font-size:clamp(42px,12vw,58px)}.hero-note{font-size:11px}.hero h1{font-size:clamp(22px,9.3cqw,68px)}.headline-line{white-space:normal}.promises p{font-size:12px}.motion-toggle{font-size:12px;min-height:44px}.faq-list summary{font-size:15px;padding-block:22px}.faq-list details p,.steps p{font-size:14px}.step-number{font-size:14px}.project-info p,.project-type{font-size:12px}.filters .filter{font-size:12px;min-height:44px}.about-grid p{font-size:15px}.custom-service p{font-size:14px}.document-header img{width:180px}.document-header .button{font-size:12px;padding:12px 14px}.document-header{gap:15px}.document-main .document-intro{font-size:17px}.document-main h2{font-size:26px}.document-main section p{font-size:15px}.document-footer p{line-height:1.8}.cookie-settings-heading{top:-22px}.cookie-settings h2{font-size:25px}html:not(.enhanced) .header nav{position:static;flex-wrap:wrap;box-shadow:none;border:0;padding:0;font-size:12px}html:not(.enhanced) .nav-wrap{flex-wrap:wrap}.footer-bottom>a{margin-left:0}}
@media(max-width:360px){.brand img{width:165px}.nav-wrap{padding-inline:10px}.menu-toggle{padding-inline:10px}.hero-actions .button{font-size:12px}.cookie-actions{gap:5px}.cookie-actions button{padding-inline:9px}.document-header img{width:155px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
.contact-section-visible .whatsapp-float{visibility:hidden}

body:has(:focus-visible:not(.whatsapp-float)) .whatsapp-float{visibility:hidden}
@media(min-width:761px){.contact-section{overflow:clip}.contact-grid>div:first-child{position:sticky;top:130px;align-self:start}}
@media(max-width:760px){.contact-preview textarea{font-size:16px}}
