/* color-mix-fallback-applied */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}.invisible{visibility:hidden}.visible{visibility:visible}.static{position:static}.container{width:100%}.block{display:block}.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}section.hero{align-items:flex-start;min-height:100vh;display:flex;position:relative;padding:80px 0 0}@media(min-width:769px){section.hero{padding-bottom:160px;min-height:100vh}}.hero-grid-bg{background-image:linear-gradient(var(--border)1px,transparent 1px),linear-gradient(90deg,var(--border)1px,transparent 1px);pointer-events:none;background-size:80px 80px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 30%,#0000)}.hero-glow{background:radial-gradient(circle,var(--accent-glow)0%,transparent 70%);pointer-events:none;width:600px;height:600px;transition:background var(--transition);position:absolute;top:10%;right:-100px}.hero-content{z-index:2;width:100%;position:relative}.hero-inner{grid-template-columns:1fr 380px;align-items:flex-start;gap:64px;display:grid}.hero-eyebrow{opacity:0;animation:fadeIn 1s cubic-bezier(.16,1,.3,1) 0s forwards;align-items:center;gap:12px;margin-bottom:32px;display:flex}.hero-eyebrow-line{background:var(--accent);width:32px;height:1px}.hero-headline{margin-bottom:40px}.hero-headline .line{margin-bottom:-.12em;padding-bottom:.12em;display:block;overflow:hidden}.hero-headline .line-inner{opacity:0;transition:opacity 1.6s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1);display:block;transform:translateY(105%)}.hero-headline.visible .line:nth-child(1) .line-inner{opacity:1;transform:translateY(0);transition-delay:.1s}.hero-headline.visible .line:nth-child(2) .line-inner{opacity:1;transform:translateY(0);transition-delay:.3s}.hero-headline.visible .line:nth-child(3) .line-inner{opacity:1;transform:translateY(0);transition-delay:.5s}@keyframes slideUp{to{opacity:1;transform:translateY(0)}}.hero-sub{opacity:0;max-width:480px;animation:fadeIn 1.2s cubic-bezier(.16,1,.3,1) 1.4s forwards;margin-bottom:48px}@keyframes fadeIn{to{opacity:1}}.hero-actions{opacity:0;animation:fadeIn 1.2s cubic-bezier(.16,1,.3,1) 1.7s forwards;align-items:center;gap:16px;display:flex}.btn-primary{color:#fff;background:var(--accent-btn);border:1px solid var(--accent-btn);cursor:none;transition:background var(--transition),transform .2s;letter-spacing:.01em;align-items:center;gap:8px;padding:14px 28px;font-family:Söhne,sans-serif;font-size:14px;font-weight:500;display:inline-flex}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{color:var(--text-secondary);cursor:none;transition:color var(--transition);background:0 0;border:none;align-items:center;gap:8px;padding:14px 0;font-family:Söhne,sans-serif;font-size:14px;font-weight:500;display:inline-flex}.btn-secondary:hover{color:var(--text-primary)}.btn-arrow{transition:transform .28s var(--ease-out);display:inline-block}.btn-secondary:hover .btn-arrow,.btn-primary:hover .btn-arrow{transform:translate(4px)}.hero-metrics{border-top:1px solid var(--border);opacity:0;animation:fadeIn 1.2s cubic-bezier(.16,1,.3,1) 2s forwards;gap:0;margin-top:64px;padding-top:40px;display:flex}.metric{border-right:1px solid var(--border);flex:1;padding-right:40px}.metric:last-child{border-right:none;padding-left:40px;padding-right:0}.metric:nth-child(2){padding-left:40px}.metric-value{color:var(--metric-color);letter-spacing:-.02em;margin-bottom:8px;font-family:Berkeley Mono,monospace;font-size:clamp(36px,4vw,52px);font-weight:700;line-height:1}.metric-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-size:11px;font-weight:500}.scroll-indicator{opacity:0;animation:fadeIn 1s var(--ease-out)3.2s forwards;flex-direction:column;align-items:center;gap:12px;display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.scroll-indicator-text{letter-spacing:.25em;text-transform:uppercase;color:#f0eee8a6;font-family:Berkeley Mono,monospace;font-size:10px}[data-theme=light] .scroll-indicator-text{color:#080c14a6}.scroll-indicator-line{background:#ffffff47;width:2px;height:64px;position:relative;overflow:hidden}[data-theme=light] .scroll-indicator-line{background:#080c1438}.scroll-indicator-dot{background:var(--accent);width:2px;height:12px;animation:2s cubic-bezier(.4,0,.6,1) 3.4s infinite scrollDot;position:absolute;top:-10px;left:50%;transform:translate(-50%)}@keyframes scrollDot{0%{opacity:1;top:-10px}80%{opacity:.8;top:64px}to{opacity:0;top:64px}}.hero-visual{opacity:0;flex-direction:column;animation:.9s cubic-bezier(.16,1,.3,1) 1.8s forwards slideInFromRight;display:flex;position:relative}@keyframes slideInFromRight{0%{opacity:0;transform:translate(48px)}to{opacity:1;transform:translate(0)}}.hero-visual-frame{border:1px solid var(--border);background:var(--bg-surface);flex-direction:column;justify-content:space-between;width:100%;min-height:620px;padding:40px;display:flex;position:relative;overflow:hidden}.hero-visual-frame:before{content:"";background:linear-gradient(90deg,transparent,var(--accent),transparent);height:1px;position:absolute;top:0;left:0;right:0}.visual-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:32px;font-size:13px;font-weight:500}.visual-bars{flex-direction:column;gap:28px;display:flex}.visual-bar-row{cursor:default;transition:color var(--transition);align-items:center;gap:12px;display:flex}.visual-bar-row:hover .visual-bar-label,.visual-bar-row:hover .visual-bar-value{color:var(--accent)}.visual-bar-row:hover .visual-bar-track{background:var(--accent)}@supports (color: color-mix(in srgb, red, red)){.visual-bar-row:hover .visual-bar-track{background:var(--border);background:color-mix(in srgb,var(--accent)20%,var(--border))}}.visual-bar-label{color:var(--text-secondary);width:110px;transition:color var(--transition);flex-shrink:0;font-family:Berkeley Mono,monospace;font-size:15px}.visual-bar-track{background:var(--border);flex:1;height:3px;position:relative;overflow:hidden}.visual-bar-fill{background:var(--accent);transform-origin:0;transition:transform 1.2s var(--ease-out);position:absolute;top:0;bottom:0;left:0;transform:scaleX(0)}.visual-bar-fill.animated{transform:scaleX(1)}.visual-bar-value{color:var(--accent);text-align:right;width:52px;transition:color var(--transition);flex-shrink:0;font-family:Berkeley Mono,monospace;font-size:15px}.visual-divider{background:var(--border);height:1px;margin:32px 0}.visual-tags{flex-wrap:wrap;gap:10px;display:flex}.visual-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);border:1px solid var(--border);transition:border-color var(--transition),color var(--transition);padding:9px 16px;font-family:Berkeley Mono,monospace;font-size:11px;font-weight:400}.visual-tag:hover{border-color:var(--accent);color:var(--accent)}.ticker-section{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;overflow:hidden}.ticker-track{white-space:nowrap;animation:30s linear infinite ticker;display:flex}.ticker-item{letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary);align-items:center;gap:24px;padding-right:24px;font-size:11px;font-weight:500;display:inline-flex}.ticker-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:4px;height:4px}@keyframes ticker{0%{transform:translate(0)}to{transform:translate(-50%)}}.why-section,.services-section,.projects-section,.testimonials-section,.ai-section,.cta-section,.process-section,.filters-section,.manifesto-section,.postura-section,.uso-section,.tools-section,.collab-section,.cap-section,.contact-manifesto,.featured-section,.articles-section,.related-section{padding:120px 0}.section-eyebrow{align-items:center;gap:12px;margin-bottom:24px;display:flex}.section-eyebrow-line{background:var(--accent);width:24px;height:1px}.why-section{background:var(--bg-base)}.why-headline{font-size:clamp(40px,5vw,72px)!important}.why-headline .why-line{display:block;overflow:hidden}.why-headline .why-line-inner{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);display:block;transform:translateY(100%)}.why-sub{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(16px)}.why-sub.triggered{opacity:1;transform:translateY(0)}.why-stat-delayed{opacity:0;transition:opacity 1.1s cubic-bezier(.25,1,.5,1),transform 1.1s cubic-bezier(.25,1,.5,1);transform:translate(40px)}.why-stat-delayed.stat-visible{opacity:1;transform:translate(0)}@keyframes stat-swing-right{0%{transform:translate(0)}20%{transform:translate(48px)}to{transform:translate(0)}}@keyframes stat-swing-left{0%{transform:translate(0)}20%{transform:translate(-48px)}to{transform:translate(0)}}.why-stat-delayed.stat-visible:nth-child(odd):hover{animation:1.6s ease-out forwards stat-swing-right}.why-stat-delayed.stat-visible:nth-child(2n):hover{animation:1.6s ease-out forwards stat-swing-left}.why-inner{grid-template-columns:5fr 7fr;align-items:start;gap:80px;display:grid}.why-left{flex-direction:column;justify-content:center;align-self:start;display:flex;position:-webkit-sticky;position:sticky;top:100px}.why-right{flex-direction:column;margin-top:56px;display:flex}.why-stat{border-bottom:1px solid var(--border);cursor:default;background:0 0;flex:1;grid-template-columns:1fr 2fr;align-items:center;gap:32px;padding:32px 28px;transition:background .5s cubic-bezier(.16,1,.3,1),border-color .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1);display:grid}.why-stat:nth-child(odd):hover{transform:translate(24px)}.why-stat:nth-child(2n):hover{transform:translate(-24px)}.why-stat:first-child{border-top:1px solid var(--border)}.why-stat:hover{background:var(--bg-elevated);border-color:var(--border-hover)}.why-stat-number{transition:color .5s cubic-bezier(.16,1,.3,1)}.why-stat:hover .why-stat-number{color:var(--text-primary)}.why-stat-number{color:var(--metric-color);letter-spacing:-.02em;font-family:Berkeley Mono,monospace;font-size:clamp(40px,4vw,56px);font-weight:400;line-height:1}.why-stat-title{letter-spacing:-.01em;margin-bottom:8px;font-family:Syne,sans-serif;font-size:20px;font-weight:700}.services-section{background:var(--bg-surface)}.svc-line{display:block;overflow:hidden}.svc-line-inner{opacity:0;transition:opacity 1.6s cubic-bezier(.16,1,.3,1),transform 1.6s cubic-bezier(.16,1,.3,1);display:block;transform:translateY(100%)}.svc-line-inner.revealed{opacity:1;transform:translateY(0)}.svc-sub{opacity:0;transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translate(32px)}.svc-sub.triggered{opacity:1;transform:translate(0)}.services-header{grid-template-columns:7fr 5fr;align-items:end;gap:80px;margin-bottom:64px;display:grid}.services-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.service-card{border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background var(--transition);cursor:none;padding:40px 32px;position:relative;overflow:hidden}.service-card:after{content:"";background:var(--accent);transform-origin:0;height:1px;transition:transform .4s var(--ease-out);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.service-card:hover{background:var(--bg-elevated)}.service-card:hover:after{transform:scaleX(1)}.service-num{color:var(--text-tertiary);letter-spacing:.06em;margin-bottom:32px;font-family:Berkeley Mono,monospace;font-size:11px}.service-title{letter-spacing:-.01em;margin-bottom:12px;font-family:Syne,sans-serif;font-size:20px;font-weight:700}.service-arrow{color:var(--text-tertiary);transition:color var(--transition),transform .28s var(--ease-out);font-size:18px;position:absolute;bottom:32px;right:32px}.service-card:hover .service-arrow{color:var(--accent);transform:translate(3px,-3px)}.projects-section{background:var(--bg-base)}.projects-header{justify-content:space-between;align-items:flex-end;margin-bottom:64px;display:flex}.projects-grid{grid-template-columns:7fr 5fr;gap:2px;display:grid;align-items:stretch}.project-card{background:var(--bg-surface);border:1px solid var(--border);cursor:none;transition:border-color var(--transition);position:relative;overflow:hidden}.project-card:hover{border-color:var(--border-hover)}.project-card.large{grid-row:span 2}.project-img{aspect-ratio:16/10;background:var(--bg-elevated);width:100%;position:relative;overflow:hidden}.project-card.large .project-img{height:100%;aspect-ratio:unset}.project-img-inner{background:linear-gradient(135deg,var(--bg-elevated)0%,var(--bg-surface)100%);will-change:transform;background-position:50%;background-size:cover;justify-content:center;align-items:center;transition:transform .1s linear,scale .55s cubic-bezier(.25,.46,.45,.94);display:flex;position:absolute;inset:-8%;scale:1}.project-card:hover .project-img-inner{scale:1.06}.project-img-overlay{opacity:0;z-index:2;pointer-events:none;background:linear-gradient(#0000 85%,#0006 90%,#000000d1);align-items:flex-end;padding:24px 28px;transition:opacity .45s cubic-bezier(.25,.46,.45,.94);display:flex;position:absolute;inset:0}.project-card:hover .project-img-overlay{opacity:1}.project-img-overlay-title{letter-spacing:-.01em;color:#fff;text-shadow:0 1px 6px #0009,0 2px 12px #0006;font-family:Syne,sans-serif;font-size:18px;font-weight:700;line-height:1.2;transition:transform .45s cubic-bezier(.25,.46,.45,.94);transform:translateY(8px)}.project-card:hover .project-img-overlay-title{transform:translateY(0)}[data-theme=light] .project-img-overlay{background:linear-gradient(#0000 85%,#080c1466 90%,#080c14d1)}.project-placeholder{color:var(--border);letter-spacing:-.04em;transition:color var(--transition);font-family:Syne,sans-serif;font-size:clamp(32px,5vw,64px);font-weight:800}.project-card:hover .project-placeholder{color:#3b6fe826}.project-info{border-top:1px solid var(--border);padding:28px 32px}.project-tags{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.project-tag{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);font-size:10px;font-weight:500}.project-tag+.project-tag:before{content:"·";color:var(--text-tertiary);margin-right:8px}.project-name{letter-spacing:-.01em;margin-bottom:8px;font-family:Syne,sans-serif;font-size:20px;font-weight:700}.project-desc{color:var(--text-secondary);font-size:13px;line-height:1.6}.projects-right{flex-direction:column;gap:2px;display:flex;align-self:stretch;height:100%}.projects-right>.project-card{flex:1;min-height:0}.project-card.large{display:flex;flex-direction:column}.testimonials-section{background:var(--bg-surface)}.testimonials-header{grid-template-columns:5fr 7fr;align-items:end;gap:80px;margin-bottom:64px;display:grid}.testimonials-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.testimonial-card{border-right:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;justify-content:space-between;gap:32px;padding:40px 32px;display:flex}.testimonial-quote{color:var(--text-secondary);font-size:15px;font-style:normal;line-height:1.75;position:relative}.testimonial-quote:before{content:"“";color:var(--accent);opacity:.6;margin-bottom:16px;font-family:Syne,sans-serif;font-size:48px;line-height:.8;display:block}.testimonial-author{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding-top:24px;display:flex}.testimonial-name{font-family:Syne,sans-serif;font-size:15px;font-weight:700}.testimonial-role{color:var(--text-tertiary);letter-spacing:.04em;font-size:12px}.ai-section{background:var(--bg-base);position:relative}.ai-glow{background:radial-gradient(ellipse,var(--accent-glow)0%,transparent 70%);pointer-events:none;clip-path:inset(0);width:800px;height:400px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ai-inner{z-index:2;grid-template-columns:6fr 6fr;align-items:start;gap:80px;display:grid;position:relative}.ai-inner>div:first-child{align-self:start;position:-webkit-sticky;position:sticky;top:100px}.ai-tools{border:1px solid var(--border);opacity:0;flex-direction:column;align-self:center;gap:0;margin-top:0;transition:opacity 1s cubic-bezier(.16,1,.3,1) .2s,transform 1s cubic-bezier(.16,1,.3,1) .2s;display:flex;transform:translate(64px)}.ai-tools.visible{opacity:1;transform:translate(0)}.ai-tool{border-bottom:1px solid var(--border);transition:background var(--transition);align-items:center;gap:16px;padding:20px 24px;display:flex}.ai-tool:last-child{border-bottom:none}.ai-tool:hover{background:var(--bg-elevated)}.ai-tool-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px}.ai-tool-name{flex:1;font-family:Berkeley Mono,monospace;font-size:13px;font-weight:400}.ai-tool-desc{color:var(--text-tertiary);transition:color var(--transition);font-size:12px}.ai-tool:hover .ai-tool-desc{color:var(--accent)}.home-blog-section{background:var(--bg-base);padding:120px 0}.home-blog-header{justify-content:space-between;align-items:flex-end;margin-bottom:64px;display:flex}.home-blog-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:0;display:grid}.home-blog-empty{text-align:center;color:var(--text-tertiary);grid-column:1/-1;padding:80px 0;font-size:14px}@media(max-width:1024px){.home-blog-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.home-blog-section{padding:60px 0}.home-blog-header{flex-direction:column;align-items:flex-start;gap:24px}.home-blog-grid{grid-template-columns:1fr}}.cta-section{background:var(--bg-surface);border-top:1px solid var(--border)}.cta-inner{grid-template-columns:7fr 5fr;align-items:center;gap:80px;display:grid}.cta-form{border:1px solid var(--border);flex-direction:column;gap:0;display:flex}.form-field{border-bottom:1px solid var(--border);flex-direction:column;display:flex}.form-field:last-of-type{border-bottom:none}.form-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);padding:16px 20px 0;font-size:10px;font-weight:500}.form-input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;padding:8px 20px 16px;font-family:Söhne,sans-serif;font-size:15px}.form-input::placeholder{color:var(--text-tertiary)}.form-submit{color:#fff;background:var(--accent-btn);cursor:none;text-align:left;transition:background var(--transition);border:none;justify-content:space-between;align-items:center;width:100%;padding:18px 24px;font-family:Söhne,sans-serif;font-size:14px;font-weight:500;display:flex}.form-submit:hover{background:var(--accent-hover)}footer{background:var(--bg-base);border-top:1px solid var(--border);padding:64px 0 40px}.footer-top{grid-template-columns:3fr 2fr 2fr 2fr;gap:64px;margin-bottom:64px;display:grid}.footer-brand .logo{margin-bottom:16px;font-size:20px}.footer-brand p{color:var(--text-tertiary);max-width:240px;font-size:13px;line-height:1.6}.footer-col-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:20px;font-size:11px;font-weight:500}.footer-links{flex-direction:column;gap:12px;display:flex}.footer-links a{color:var(--text-secondary);transition:color var(--transition),transform var(--transition);font-size:14px;display:inline-block}.footer-links a:hover{color:var(--text-primary);transform:translate(4px)}.footer-scroll-top{border:1px solid var(--border);color:var(--text-tertiary);letter-spacing:.1em;cursor:pointer;transition:color var(--transition),border-color var(--transition),transform var(--transition);background:0 0;border-radius:4px;align-items:center;gap:5px;padding:6px 10px;font-family:Berkeley Mono,monospace;font-size:10px;font-weight:500;display:none}.footer-scroll-top:hover{color:var(--text-primary);border-color:var(--border-hover);transform:translateY(-2px)}.footer-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding-top:32px;display:flex}.footer-bottom p{color:var(--text-tertiary);font-size:12px}.footer-email{color:var(--text-tertiary);transition:color var(--transition);font-family:Berkeley Mono,monospace;font-size:12px}.footer-email:hover{color:var(--accent)}.reveal{opacity:0;transition:opacity 1.1s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1);transform:translateY(28px)}.reveal.visible{opacity:1;transform:translateY(0)}.reveal.revealed{opacity:1;transform:translateY(0)}.hamburger{cursor:pointer;z-index:10001;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;padding:4px;display:none;position:relative}.hamburger span{background:var(--text-primary);transform-origin:50%;border-radius:2px;width:22px;height:2px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s;display:block}.hamburger.open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media(max-width:1024px){.hero-inner{grid-template-columns:1fr;gap:64px}.hero-visual{display:none}.text-hero{font-size:clamp(48px,7vw,72px)}.text-h1{font-size:clamp(36px,5.5vw,52px)}.text-h2{font-size:clamp(24px,3.5vw,36px)}nav{display:none}.hamburger{display:flex}.btn-cta-header,.theme-toggle-wrapper{display:none}.why-inner{grid-template-columns:1fr}.why-left{align-self:auto;position:static}.services-header{grid-template-columns:1fr;gap:24px}.services-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:1fr}.projects-right{display:block}.testimonials-header{grid-template-columns:1fr;gap:24px}.testimonials-grid,.ai-inner{grid-template-columns:1fr}.ai-inner>div:first-child{align-self:auto;position:static}.cta-inner{grid-template-columns:1fr}.footer-top{grid-template-columns:1fr 1fr;gap:40px}.ai-tools{transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)!important;transform:translateY(20px)!important}.ai-tools.visible{transform:translateY(0)!important}.reveal{transform:translateY(16px)}}@media(max-width:640px){.text-hero{font-size:clamp(40px,11vw,56px)}.text-h1{font-size:clamp(32px,9vw,44px)}.text-h2{font-size:clamp(22px,7vw,30px)}.why-section,.services-section,.projects-section,.testimonials-section,.ai-section,.cta-section,.process-section,.filters-section,.manifesto-section,.postura-section,.uso-section,.tools-section,.collab-section,.cap-section,.contact-manifesto,.featured-section,.articles-section,.related-section{padding:60px 0}.services-grid,.footer-top{grid-template-columns:1fr}.footer-bottom{flex-direction:column;align-items:flex-start;gap:20px}.footer-bottom>div{flex-wrap:wrap;gap:12px}.footer-scroll-top{display:flex}.hero-metrics{flex-direction:column;gap:32px}.metric{border-right:none;border-bottom:1px solid var(--border);padding:0 0 32px}.metric:last-child{border-bottom:none;padding:32px 0 0}}.mobile-menu{background:var(--bg-base);z-index:10000;opacity:0;pointer-events:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 32px;transition:opacity .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1);display:none;position:fixed;inset:0;transform:translateY(-12px)}.mobile-menu.open{opacity:1;pointer-events:all;display:flex;transform:translateY(0)}.mobile-nav{flex-direction:column;gap:8px;width:100%;margin-bottom:48px;display:flex}.mobile-nav-link{letter-spacing:-.02em;color:var(--text-primary);border-bottom:1px solid var(--border);opacity:0;padding:10px 0;font-family:Syne,sans-serif;font-size:clamp(32px,9vw,44px);font-weight:700;line-height:1.15;text-decoration:none;transition:color .2s,opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);transform:translateY(16px)}.mobile-nav-link:last-child{border-bottom:none}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--accent)}.mobile-menu.open .mobile-nav-link{opacity:1;transform:translateY(0)}.mobile-menu-cta{text-align:center;opacity:0;justify-content:center;width:100%;transition:color .2s,opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);transform:translateY(12px)}.mobile-menu.open .mobile-menu-cta{opacity:1;transition-delay:.46s;transform:translateY(0)}.mobile-menu-close{border:1px solid var(--border);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:24px}.mobile-menu-close:hover{color:var(--text-primary);border-color:var(--text-primary);background:var(--bg-elevated)}.mobile-menu-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.swipe-hint{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary);letter-spacing:.08em;text-transform:uppercase;pointer-events:none;opacity:0;white-space:nowrap;border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-family:Syne,sans-serif;font-size:11px;font-weight:600;transition:opacity .4s;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.swipe-hint.visible{opacity:1}.mobile-menu-theme{border-top:1px solid var(--border);opacity:0;align-items:center;gap:12px;width:100%;margin-top:32px;padding-top:24px;transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(8px)}.mobile-menu.open .mobile-menu-theme{opacity:1;transition-delay:.54s;transform:translateY(0)}.mobile-menu-theme .theme-toggle-text{letter-spacing:.12em;color:var(--text-tertiary);font-size:11px;font-weight:600}#cookie-banner{z-index:9000;background:var(--bg-elevated);border:1px solid var(--border);opacity:0;width:min(680px,100vw - 48px);transition:transform .5s var(--ease-out),opacity .5s var(--ease-out);pointer-events:none;border-radius:4px;flex-direction:column;gap:20px;padding:28px 32px;display:flex;position:fixed;bottom:32px;left:50%;transform:translate(-50%)translateY(120px);box-shadow:0 24px 64px #00000059}#cookie-banner.visible{opacity:1;pointer-events:all;transform:translate(-50%)translateY(0)}.cookie-banner-top{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.cookie-banner-text .cookie-title{color:var(--text-primary);letter-spacing:.02em;margin-bottom:8px;font-family:Syne,sans-serif;font-size:14px;font-weight:700}.cookie-banner-text p{color:var(--text-secondary);max-width:460px;font-size:12px;line-height:1.6}.cookie-banner-text a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.cookie-banner-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cookie-btn{cursor:pointer;transition:background var(--transition),color var(--transition),opacity var(--transition);letter-spacing:.04em;white-space:nowrap;border:none;border-radius:2px;padding:10px 20px;font-family:Söhne,sans-serif;font-size:12px;font-weight:500}.cookie-btn-accept{background:var(--accent-btn);color:#fff}.cookie-btn-accept:hover{opacity:.85}.cookie-btn-reject{color:var(--text-secondary);border:1px solid var(--border);background:0 0}.cookie-btn-reject:hover{color:var(--text-primary);border-color:var(--border-hover)}.cookie-btn-settings{color:var(--text-secondary);text-underline-offset:2px;background:0 0;padding:10px 0;text-decoration:underline}.cookie-btn-settings:hover{color:var(--text-primary)}#cookie-modal-overlay{z-index:9100;opacity:0;pointer-events:none;background:#0009;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}#cookie-modal-overlay.visible{opacity:1;pointer-events:all}#cookie-modal{background:var(--bg-elevated);border:1px solid var(--border);width:min(560px,100vw - 48px);max-height:90vh;transition:transform .4s var(--ease-out);border-radius:4px;flex-direction:column;gap:28px;padding:40px;display:flex;overflow-y:auto;transform:translateY(16px)}#cookie-modal-overlay.visible #cookie-modal{transform:translateY(0)}.cookie-modal-header{justify-content:space-between;align-items:flex-start;display:flex}.cookie-modal-header h3{color:var(--text-primary);font-family:Syne,sans-serif;font-size:18px;font-weight:700}.cookie-modal-close{cursor:pointer;color:var(--text-tertiary);transition:color var(--transition);background:0 0;border:none;padding:0;font-size:20px;line-height:1}.cookie-modal-close:hover{color:var(--text-primary)}.cookie-modal-desc{color:var(--text-secondary);font-size:13px;line-height:1.65}.cookie-category{border-top:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 0;display:flex}.cookie-category-info h5{color:var(--text-primary);margin-bottom:4px;font-size:13px;font-weight:600}.cookie-category-info p{color:var(--text-secondary);max-width:360px;font-size:12px;line-height:1.55}.cookie-toggle{flex-shrink:0;width:44px;height:24px;position:relative}.cookie-toggle input{opacity:0;width:0;height:0;position:absolute}.cookie-toggle-track{background:var(--border);cursor:pointer;border-radius:12px;transition:background .25s;position:absolute;inset:0}.cookie-toggle input:checked+.cookie-toggle-track{background:var(--accent)}.cookie-toggle-track:after{content:"";width:18px;height:18px;transition:transform .25s var(--ease-out);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px}.cookie-toggle input:checked+.cookie-toggle-track:after{transform:translate(20px)}.cookie-toggle input:disabled+.cookie-toggle-track{opacity:.5;cursor:not-allowed}.cookie-modal-footer{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}:lang(en) .manifesto-line-inner,:lang(ca) .manifesto-line-inner{font-size:clamp(32px,4vw,60px)}:lang(en) .why-line-inner,:lang(ca) .why-line-inner,:lang(en) .services-line-inner,:lang(ca) .services-line-inner,:lang(en) .testimonials-line-inner,:lang(ca) .testimonials-line-inner,:lang(en) .cta-line-inner,:lang(ca) .cta-line-inner,:lang(en) .ai-line-inner,:lang(ca) .ai-line-inner{font-size:clamp(36px,4.5vw,64px)}@media(max-width:768px){:lang(en) .manifesto-line-inner,:lang(ca) .manifesto-line-inner,:lang(en) .why-line-inner,:lang(ca) .why-line-inner,:lang(en) .services-line-inner,:lang(ca) .services-line-inner,:lang(en) .testimonials-line-inner,:lang(ca) .testimonials-line-inner,:lang(en) .cta-line-inner,:lang(ca) .cta-line-inner,:lang(en) .ai-line-inner,:lang(ca) .ai-line-inner{font-size:clamp(28px,8vw,44px)}}@media(max-width:480px){.mobile-nav-link{padding:6px 0;font-size:clamp(24px,7.5vw,32px)}.mobile-nav{gap:4px;margin-bottom:24px}.mobile-menu{justify-content:flex-start;padding:80px 20px 24px;overflow-y:auto}.hero-title{font-size:clamp(36px,12vw,56px)}.contact-hero-title{font-size:clamp(34px,11vw,52px)}.metric-num{font-size:clamp(36px,10vw,52px)}.footer-top{grid-template-columns:1fr;gap:32px}.cookie-banner-actions{flex-direction:column}.cookie-btn{text-align:center;width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}

/* ── FAQ styles (home) ──────────────────────────── */
.faq-section{border-top:1px solid var(--border);padding:100px 0 80px}
.faq-title{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:48px;font-size:clamp(28px,4vw,48px);font-weight:700}
.faq-list{flex-direction:column;gap:0;width:100%;display:flex}
.faq-item{border-bottom:1px solid var(--border)}
.faq-item:first-child{border-top:1px solid var(--border)}
.faq-question{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:24px 0;list-style:none;display:flex;width:100%;background:0 0;border:none;text-align:left;color:var(--text-primary);font-family:inherit}
.faq-question::-webkit-details-marker{display:none}
.faq-question .faq-q-text,.faq-question>span:first-child{color:var(--text-primary);flex:1;font-size:clamp(15px,1.6vw,17px);font-weight:600;line-height:1.4}
.faq-icon{border:1px solid var(--border);width:28px;height:28px;color:var(--text-tertiary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:300;line-height:1;transition:transform .25s,border-color .25s,color .25s;display:flex;margin-left:auto}
.faq-item[open] .faq-icon{border-color:var(--accent);color:var(--accent);transform:rotate(45deg)}
.faq-answer{padding:0 0 24px}
.faq-answer p{color:var(--text-secondary);margin:0;font-size:clamp(14px,1.4vw,15px);line-height:1.75}
.faq-question:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:768px){.faq-section{padding:64px 0 56px}.faq-question .faq-q-text{font-size:15px}.faq-answer p{font-size:14px}}

/* ── Back to top button ─────────────────────────── */
.back-to-top{z-index:150;background:var(--bg-surface);border:1px solid var(--border);width:44px;height:44px;color:var(--text-primary);cursor:pointer;opacity:0;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .3s,transform .3s,background .2s,border-color .2s;display:flex;position:fixed;bottom:32px;right:max(32px,calc((100vw - 1280px)/2 + 32px));transform:translateY(16px)}
.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.back-to-top:hover{background:var(--accent);border-color:var(--accent);color:#fff}

/* overflow-fix-mobile */
@media(max-width:768px){
  .hero-sub{max-width:100%}
  .why-inner{grid-template-columns:1fr}
  .ai-inner{grid-template-columns:1fr}
  .ai-glow{display:none}
  .hero-inner{grid-template-columns:1fr!important;gap:0!important}
  section.hero{min-height:auto!important;padding-bottom:24px!important}
  .hero-visual{display:flex!important;width:100%!important;overflow:hidden!important;margin-top:32px!important}
  .hero-metrics{margin-top:32px;padding-top:24px}
  .hero-headline{margin-bottom:24px}
  .hero-sub{margin-bottom:28px}
  .hero-actions{margin-bottom:0}
}
@media(max-width:480px){
  .hero-sub{font-size:14px}
}

/* grid-fix-mobile */
@media(max-width:900px){
  .why-inner{grid-template-columns:1fr;gap:48px}
  .why-left{position:static}
  .ai-inner{grid-template-columns:1fr;gap:40px}
  .ai-inner>div:first-child{position:static}
  .home-services-grid{grid-template-columns:1fr}
  .home-projects-grid{grid-template-columns:1fr}
}

/* === PREFERS-REDUCED-MOTION (accesibilidad) === */
@media(prefers-reduced-motion:reduce){
  *,::before,::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* Fix: prevent horizontal scroll caused by hero-visual overflow */
body{overflow-x:hidden}


/* === FIX: Paddings de secciones home reducidos en móvil === */
@media (max-width: 480px) {
  .why-section, .services-section, .projects-section,
  .testimonials-section, .ai-section, .cta-section,
  .process-section, .filters-section, .manifesto-section,
  .postura-section, .uso-section, .tools-section,
  .collab-section, .cap-section, .contact-manifesto,
  .featured-section, .articles-section, .related-section {
    padding: 48px 0 !important;
  }
}
@media (max-width: 375px) {
  .why-section, .services-section, .projects-section,
  .testimonials-section, .ai-section, .cta-section,
  .process-section, .filters-section, .manifesto-section,
  .postura-section, .uso-section, .tools-section,
  .collab-section, .cap-section, .contact-manifesto,
  .featured-section, .articles-section, .related-section {
    padding: 40px 0 !important;
  }
}


/* === FIX: projects-right visible en móvil === */
@media (max-width: 640px) {
  .projects-right { display: block !important; margin-top: 16px; }
  .projects-grid { grid-template-columns: 1fr !important; gap: 16px; }
  .projects-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .projects-header .btn-ghost { align-self: flex-start; }
}



/* === FIX v8: Home — reveal visible en móvil === */
@media (max-width: 768px) {
  .reveal,
  .hero-animate,
  .svc-line-inner,
  .why-line-inner {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* === FIX v8: AI+HI layout vertical en móvil === */
/* En desktop: AI+HI en horizontal (comportamiento original) */
.why-stat-number--stacked {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  line-height: 1;
}
.aihi-line,
.aihi-plus {
  display: inline;
}

/* En móvil: AI / + / HI en vertical, cada uno en su línea */
@media (max-width: 768px) {
  .why-stat-number--stacked {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0 !important;
    line-height: 1.05 !important;
  }
  .aihi-line,
  .aihi-plus {
    display: block !important;
    line-height: 1.05 !important;
  }
  .aihi-plus {
    font-size: 0.85em !important;
    color: var(--metric-color) !important;
  }
}

/* === FIX v8: project-card.large imagen visible en móvil === */
/* En desktop: height:100% funciona porque el card ocupa 2 filas (grid-row:span 2) */
/* En móvil (1 columna): el contenedor no tiene altura definida → height:100% = 0 */
/* Solución: restaurar aspect-ratio en móvil para que la imagen tenga altura */
@media (max-width: 1024px) {
  .project-card.large {
    grid-row: unset !important;
  }
  .project-card.large .project-img {
    height: auto !important;
    aspect-ratio: 16/9 !important;
    min-height: 240px !important;
  }
}

/* === FIX v8: CTA section — título y párrafo cortados en móvil === */
/* Problema: .svc-line tiene overflow:hidden + font-size demasiado grande → corta letras */
/* Solución: reducir font-size + overflow:visible + forzar visibilidad de animación */
@media (max-width: 768px) {
  .cta-section .svc-line {
    overflow: visible !important;
  }
  .cta-section .svc-line-inner {
    opacity: 1 !important;
    transform: none !important;
    white-space: normal !important;
  }
  .cta-section .cta-headline {
    font-size: clamp(28px, 8vw, 40px) !important;
    overflow: visible !important;
    line-height: 1.1 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
  }
  .cta-inner > div:first-child {
    overflow: visible !important;
    max-width: 100% !important;
  }
  .cta-section p {
    max-width: 100% !important;
    width: 100% !important;
  }
}
@media (max-width: 480px) {
  .cta-section .cta-headline {
    font-size: clamp(24px, 7.5vw, 34px) !important;
  }
}
/* === FIX: Espaciado compacto entre secciones en móvil === */
@media (max-width: 768px) {
  .why-section,
  .services-section,
  .projects-section,
  .testimonials-section,
  .ai-section,
  .cta-section,
  .process-section {
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }
  .why-inner {
    gap: 24px !important;
  }
  .why-right {
    margin-top: 0 !important;
  }
  .services-header,
  .projects-header,
  .testimonials-header,
  .ai-header,
  .home-blog-header,
  .process-header,
  .faq-title {
    margin-bottom: 24px !important;
  }
}

