/* Motion-scene geometry remains readable when GSAP or JavaScript is unavailable. */
.cc-motion-word { display: inline-block; }
.cc-home .cc-hero h1 { overflow: clip; padding-block: 6px; }
.cc-home .cc-art { transform-origin: 50% 50%; }
.cc-home .cc-discipline-strip { display: block; overflow: clip; padding-inline: 0; }
.cc-discipline-track { width: max-content; min-width: 100%; display: flex; gap: clamp(28px,4vw,80px); align-items: center; white-space: nowrap; padding-inline: 45px; }
.cc-discipline-track > span { flex-shrink: 0; }
.cc-home #quienes-somos { position: relative; overflow: clip; }
.cc-home .cc-manifesto { position: relative; }
.cc-home .cc-manifesto h2 { font-size: clamp(52px,8.7vw,140px); line-height: .98; letter-spacing: -.065em; margin-bottom: 42px; }
.cc-home .cc-manifesto h2 em { font-weight: 400; }
.cc-manifesto-stamp { display: block; color: #b4b6a9; font-size: 100px; line-height: 1; margin-top: 60px; transform-origin: center; width: fit-content; }
.cc-home .cc-manifesto-bottom p { max-width: 490px; }
.cc-home #proceso { overflow: clip; }
.cc-home #servicios { overflow: clip; }
.cc-home .cc-final-cta { overflow: clip; }
.cc-home .cc-footer { overflow: clip; }
.cc-work-image > span { transition: transform .3s, background .3s; }
.cc-work-card:hover .cc-work-image > span { background: var(--accent); transform: rotate(45deg); }
.cc-home .cc-manifesto-bottom a:hover { color: #171a16; border-color: #171a16; }
.cc-motion-toggle { border: 1px solid #ffffff35; background: transparent; color: inherit; font: inherit; padding: 8px 12px; cursor: pointer; }
.cc-motion-toggle:disabled { cursor: default; }
.cc-header .cc-motion-toggle-top { flex: 0 0 32px; padding: 0; width: 32px; height: 32px; min-width: 0; min-height: 0; border: 0; border-radius: 50%; color: var(--muted); display: grid; place-items: center; }
.cc-header .cc-motion-toggle-top:hover { color: var(--accent); background: #ffffff0d; }
.cc-header .cc-motion-toggle-top:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.cc-reduce-motion .cc-motion-toggle-top { color: var(--muted); }
.cc-clients-track { display: flex; width: max-content; flex-shrink: 0; }
.cc-home .client-logo { opacity: .85; filter: grayscale(1) brightness(1.6); }
.cc-home .client-logo:hover { opacity: 1; filter: none; }
.cc-marquee-toggle { margin-top: 16px; border: 1px solid var(--border); color: var(--muted); background: transparent; padding: 9px 14px; font-size: 11px; cursor: pointer; }
.cc-marquee-toggle:hover { color: var(--accent); border-color: var(--accent); }
.cc-home.cc-reduce-motion #quienes-somos { min-height: 0; }
.cc-reduce-motion .cc-motion-word { color: inherit; }
html:has(.cc-reduce-motion) { scroll-behavior: auto; }
.cc-reduce-motion *, .cc-reduce-motion *::before, .cc-reduce-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
@media (min-width: 960px) and (min-height: 500px) {
  .cc-home #quienes-somos { min-height: calc(100svh - 74px); display: flex; align-items: center; padding-block: 70px; }
  .cc-home #proyectos-destacados > .cc-wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; align-items: start; }
  .cc-home #proyectos-destacados .cc-section-head { display: block; position: sticky; top: 125px; }
  .cc-home #proyectos-destacados .cc-section-head h2 { font-size: clamp(48px,5.4vw,88px); }
  .cc-home #proyectos-destacados .cc-section-head > a { margin-top: 30px; }
  .cc-home .cc-work-grid { display: block; min-width: 0; }
  .cc-home .cc-work-card:nth-child(2) { margin-top: 110px; }
  .cc-home .cc-work-card:nth-child(2) .cc-work-image { aspect-ratio: 1.25; }
  .cc-motion-ready #proceso { min-height: calc(100svh - 74px); padding-block: 55px; }
  .cc-motion-ready .cc-process-grid { display: flex; gap: 35px; border-top: 0; width: 100%; }
  .cc-motion-ready .cc-process-step { flex: 0 0 min(40vw,480px); padding: 30px 38px; border: 1px solid #ffffff25; min-height: 270px; }
  .cc-motion-ready .cc-process-step:nth-child(even) { background: #191c1d; }
  .cc-motion-ready .cc-process-step > span { font-size: 44px; font-family: 'Space Grotesk',Arial,sans-serif; letter-spacing: -.06em; }
  .cc-motion-ready .cc-process-step h3 { font-size: 32px; margin-top: 20px; }
}
@media (min-width: 960px) and (min-height: 500px) and (max-height: 700px) {
  .cc-home #quienes-somos { padding-block: 28px; }
  .cc-home .cc-manifesto h2 { font-size: clamp(72px,7vw,105px); margin-bottom: 25px; }
  .cc-manifesto-stamp { margin-top: 30px; font-size: 70px; }
  .cc-motion-ready #proceso { padding-block: 24px; }
  .cc-motion-ready #proceso .cc-section-head { margin-bottom: 24px; }
  .cc-motion-ready #proceso h2 { font-size: 44px; }
  .cc-motion-ready .cc-process-step { min-height: 235px; padding: 24px 30px; }
  .cc-motion-ready .cc-process-step h3 { font-size: 26px; }
}
@media (max-width: 900px) { .cc-header .cc-motion-toggle-top { margin-left: auto; } }
@media (max-width: 600px) { .cc-header .cc-header-inner { gap: 10px; } }
@media (max-width: 999px) { .cc-manifesto-stamp { font-size: 65px; margin-top: 20px; } }
@media (max-width: 600px) {
  .cc-home .cc-manifesto h2 { font-size: clamp(44px,11vw,66px); }
  .cc-home .cc-manifesto { gap: 28px; }
  .cc-manifesto-stamp { display: none; }
  .cc-discipline-track { gap: 25px; font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .cc-home #quienes-somos { min-height: 0; }
  .cc-motion-word { color: inherit; }
}
