/* A shared, restrained motion language. */
:root { --ease-out:cubic-bezier(.22,1,.36,1); --ease-in-out:cubic-bezier(.4,0,.2,1); --duration:280ms; }
.fc-menu-button { display:grid; place-items:center; flex:0 0 42px; line-height:1; padding:0; }
.fc-menu-icon { display:grid; gap:6px; width:15px; }
.fc-menu-icon i { height:1px; width:15px; background:currentColor; display:block; transition:transform var(--duration) var(--ease-out); }
.fc-menu-button.is-open .fc-menu-icon i:first-child { transform:translateY(3.5px) rotate(45deg); }
.fc-menu-button.is-open .fc-menu-icon i:last-child { transform:translateY(-3.5px) rotate(-45deg); }
.fc-menu { inset:0; z-index:50; display:flex; flex-direction:column; justify-content:center; gap:0; padding:115px max(48px,calc((100vw - 1400px)/2)) 48px; overflow-y:auto; overscroll-behavior:contain; border:0; background:var(--paper); color:var(--ink); opacity:1; transform:none; counter-reset:fc-menu-index; }
.fc-menu[hidden] { display:none; }
.fc-menu>a { display:flex; align-items:baseline; gap:34px; padding:20px 0; border-bottom:1px solid #0d0d0d25; color:inherit; font-size:clamp(48px,5.8vw,88px); font-weight:400; line-height:1.05; letter-spacing:-.055em; text-decoration:none; counter-increment:fc-menu-index; }
.fc-menu>a::before { content:counter(fc-menu-index,decimal-leading-zero); flex:0 0 28px; color:var(--blue); font-size:11px; font-weight:500; letter-spacing:0; }
.fc-menu>a::after { content:'↗'; margin-left:auto; font-size:.5em; line-height:1; }
.fc-menu::after { content:'Una idea. Una conversación. Un nuevo punto de partida.'; margin-top:34px; color:#73746e; font-size:12px; line-height:1.5; }
.fc-menu-open .fc-header { z-index:60; background:var(--paper); color:var(--ink); }
.fc-menu-open .fc-nav-links,.fc-menu-open .fc-nav-cta { visibility:hidden; pointer-events:none; }
.fc-menu-open .fc-menu-button { border-color:#0d0d0d40; }
.fc-menu>a:hover,.fc-menu>a:focus-visible { color:var(--blue); }
.fc-nav-links a { position:relative; }
.fc-nav-links a::after { content:''; position:absolute; height:1px; inset:auto 0 4px; background:currentColor; opacity:.7; transform:scaleX(0); transform-origin:left; }
.fc-nav-links a:hover::after,.fc-nav-links a:focus-visible::after { transform:scaleX(1); }
/* Primary light is reserved for the first invitation. Secondary actions stay quiet. */
body .fc-button,body .fc-shell .fc-button { min-height:50px; padding:14px 22px; border-radius:999px; border:1px solid transparent; font-size:13px; font-weight:500; line-height:1.4; letter-spacing:-.01em; gap:28px; box-shadow:none; }
body .fc-button-primary { background:#304ce2; border-color:#8a9aff50; box-shadow:0 0 0 1px #3454ff12,0 7px 30px -16px #3454ff80,inset 0 1px 0 #ffffff20; }
body .fc-shell .fc-button-outline { border-color:#97988c; background:transparent; color:var(--ink); }
body .fc-shell .fc-button-light { background:var(--paper); color:var(--ink); border-color:#ffffff25; }
.fc-nav-cta { display:inline-flex; align-items:center; gap:16px; min-height:44px; padding:11px 18px; border-color:#ffffff42; }
.fc-header.is-paper .fc-nav-cta { border-color:#0d0d0d35; }
.fc-menu-button { border-color:#ffffff40; }
.fc-header.is-paper .fc-menu-button { border-color:#0d0d0d40; }
.fc-button span[aria-hidden],.fc-nav-cta span { display:inline-block; }
body .fc-link:hover,body .fc-link:focus-visible { color:#9aa9ff; }
body .fc-paper .fc-link:hover,body .fc-paper .fc-link:focus-visible { color:#2745df; }
.fc-plan { outline:1px solid transparent; outline-offset:-1px; }
.fc-study-surface { outline:1px solid transparent; outline-offset:-1px; }
.fc-testimonial-trigger:focus-visible,.fc-dialog-close:focus-visible { outline:2px solid #9aa9ff; outline-offset:5px; }
body.fc-motion-enabled :is(.fc-button,.fc-nav-cta,.fc-menu-button,.fc-link,.fc-testimonial-trigger,.fc-dialog-close,.cosmos-controls a,.cosmos-controls button) { transition:transform var(--duration) var(--ease-out),background-color var(--duration) var(--ease-in-out),color var(--duration) var(--ease-in-out),border-color var(--duration) var(--ease-in-out),box-shadow var(--duration) var(--ease-in-out); }
body.fc-motion-enabled :is(.fc-button span[aria-hidden],.fc-nav-cta span,.fc-faq summary span,.fc-service-art,.fc-study,.fc-testimonial-trigger>span:last-child) { transition:transform var(--duration) var(--ease-out); }
body.fc-motion-enabled .fc-nav-links a::after,body.fc-motion-enabled .fc-menu>a::after { transition:transform var(--duration) var(--ease-out); }
body.fc-motion-enabled .fc-menu>a { transition:color var(--duration) var(--ease-in-out); }
body.fc-motion-enabled :is(.fc-service,.fc-plan,.fc-study-surface) { transition:border-color var(--duration),outline-color var(--duration); }
body.fc-motion-enabled .fc-faq details[open] p { animation:fc-answer-in 280ms var(--ease-out); }
body.fc-motion-enabled .fc-testimonial-dialog[open]::backdrop { animation:fc-backdrop-in 300ms var(--ease-out); }
body.fc-motion-enabled .fc-testimonial-dialog.is-closing::backdrop { animation:fc-backdrop-out 220ms var(--ease-in-out) forwards; }
@keyframes fc-answer-in { from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none} }
@keyframes fc-backdrop-in { from{opacity:0}to{opacity:1} }
@keyframes fc-backdrop-out { to{opacity:0} }
@media(hover:hover) and (pointer:fine) {
 body .fc-button-primary:hover { background:#3d58eb; border-color:#a8b5ff8c; box-shadow:0 0 0 1px #657aff12,0 9px 34px -15px #3454ff88,inset 0 1px 0 #ffffff28; }
 body .fc-shell .fc-button-light:hover { background:#fff; color:#202333; border-color:#fff; }
 body .fc-shell .fc-button-outline:hover { background:#dcdedb; color:#0d0d0d; border-color:#424e6e; }
 .fc-nav-cta:hover,.fc-menu-button:hover { border-color:#a5b2ff80; background:#8292ff0d; }
 .is-paper .fc-nav-cta:hover,.is-paper .fc-menu-button:hover,.fc-menu-open .fc-menu-button:hover { border-color:#3454ff80; background:#3454ff08; }
 .fc-testimonial-trigger:hover { background:#1b1e28; border-color:#8e9fff60; box-shadow:0 10px 28px -22px #3454ff60; }
 .fc-dialog-close:hover { background:#292d3a; border-color:#8090d070; }
 .fc-service:hover { border-color:#3454ff; }.fc-plan:hover { outline-color:#3454ff50; }.fc-plan-featured:hover { outline-color:#f2efe850; }.fc-study:hover .fc-study-surface { outline-color:#f2efe850; }
 body.fc-motion-enabled :is(.fc-button,.fc-testimonial-trigger):hover { transform:translateY(-2px); }
 body.fc-motion-enabled .fc-button:hover span[aria-hidden],body.fc-motion-enabled .fc-nav-cta:hover span,body.fc-motion-enabled .fc-testimonial-trigger:hover>span:last-child,body.fc-motion-enabled .fc-menu>a:hover::after { transform:translate(2px,-2px); }
 body.fc-motion-enabled .fc-service:hover .fc-service-art { transform:translateY(-3px); }
 body.fc-motion-enabled .fc-study:hover { transform:translateY(-4px); }
}
body.fc-motion-enabled :is(.fc-button,.fc-nav-cta,.fc-menu-button,.fc-testimonial-trigger,.fc-dialog-close):active { transform:translateY(1px); }
body:not(.fc-motion-enabled) *,body:not(.fc-motion-enabled) *::before,body:not(.fc-motion-enabled) *::after { transition:none!important; animation:none!important; }
body:not(.fc-motion-enabled) .fc-button:hover { transform:none; }
/* Keep touch actions comfortably sized and editorial spacing consistent. */
.fc-case .fc-eyebrow { color:#a0a4b0; }
.fc-shell .fc-plan .fc-button { width:100%; font-size:12px; padding-inline:17px; gap:16px; }
.fc-shell .fc-plan-purpose { line-height:1.6; }
.fc-plan li,.fc-process-list p,.fc-pricing-notes p { font-size:14px; }
.fc-plan-payment { font-size:11px; }
.fc-plan-scope { font-size:12px; }
.fc-study-disclaimer { font-size:12px; }
.fc-process-note { color:#999c92; }
.fc-contact .fc-button-light:focus-visible,.fc-plan-featured .fc-button-light:focus-visible { outline-color:var(--paper); }
.fc-contact-number { opacity:.9; }
.fc-header { transition:background-color 220ms var(--ease-in-out),color 220ms var(--ease-in-out); }
@media(max-width:760px) {
 .fc-menu { padding:100px 24px 32px; }.fc-menu>a { gap:20px; padding:19px 0; font-size:clamp(39px,8vw,62px); }.fc-menu>a::before { flex-basis:20px; font-size:10px; }.fc-menu::after { margin-top:26px; font-size:11px; max-width:30ch; }
 body .cosmos-actions .fc-button { min-height:50px; padding:14px 20px; font-size:13px; gap:25px; }
 .fc-shell .fc-plan .fc-button { font-size:13px; }.fc-nav-cta { gap:9px; }
}
@media(max-height:600px) {
 .fc-menu { justify-content:flex-start; padding-top:85px; padding-bottom:24px; }.fc-menu>a { padding:11px 0; font-size:clamp(36px,5vw,58px); }.fc-menu::after { margin-top:18px; }
}
@media(max-height:500px) and (min-width:601px) {
 .cosmos-copy { top:106px; bottom:auto; left:32px; right:32px; width:auto; display:grid; grid-template-columns:1fr 1fr; gap:10px 32px; }
 .cosmos-copy .fc-eyebrow { grid-column:1; margin:0; font-size:9px; }
 .cosmos-copy h1 { grid-column:1; grid-row:2 / span 2; font-size:44px; max-width:none; }
 .cosmos-description { grid-column:2; grid-row:1 / span 2; font-size:13px; line-height:1.45; margin:0; max-width:34ch; }
 .cosmos-actions { grid-column:2; grid-row:3; gap:8px 18px; }
 body .cosmos-actions .fc-button { min-height:44px; padding:11px 16px; font-size:12px; gap:20px; }
 .cosmos-actions .fc-link { font-size:12px; min-height:30px; }
 .cosmos-credits { display:none; }.cosmos-bottom { left:32px; right:32px; bottom:14px; }.cosmos-bottom p,.cosmos-controls a,.cosmos-controls button { font-size:10px; }
 .is-static .cosmos-copy { display:block; }.is-static .cosmos-description { margin:18px 0; }
}
