/* V07 · Referencias compactas + industrias horizontales.
   CSS Scroll Snap nativo. Se carga solo en Inicio y Nosotros.
   Fotografías y marcas sin recolorear. Ningún efecto requiere WebGL. */
.ft-client-band { padding:21px 0 14px; background:var(--white); }
.ft-client-heading { display:flex; gap:24px; align-items:center; justify-content:space-between; }
.ft-client-heading h2 { font:700 13px/1.45 var(--font-body); text-transform:none; letter-spacing:0; }
.ft-client-heading p { color:var(--muted); font-size:10px; line-height:1.5; margin-top:3px; }
.ft-rail-controls { display:flex; align-items:center; gap:7px; flex-shrink:0; }
.ft-rail-arrow { width:40px; height:40px; display:inline-grid; place-items:center; border:1px solid var(--line); background:var(--white); border-radius:50%; padding:0; }
.ft-rail-arrow .icon { width:16px; height:16px; }
.ft-arrow-back { transform:rotate(180deg); }
.ft-rail-arrow:disabled { opacity:.35; }
.ft-rail-play { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:0 10px; border:0; background:transparent; color:var(--muted); font-size:10px; }
.ft-play-symbol { width:13px; text-align:center; font-size:12px; }
.ft-rail-viewport { position:relative; overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#bcc3c7 transparent; -webkit-overflow-scrolling:touch; }
.ft-rail-viewport::-webkit-scrollbar { height:4px; }
.ft-rail-viewport::-webkit-scrollbar-thumb { background:#bcc3c7; border-radius:3px; }
.ft-rail-viewport:focus-visible { outline:2px solid var(--orange); outline-offset:4px; }
.ft-rail-viewport [data-rail-item] { scroll-snap-align:start; scroll-margin-inline:3px; }
.ft-rail-viewport.is-dragging { scroll-snap-type:none; cursor:grabbing; user-select:none; }
.ft-rail-viewport.is-dragging a { cursor:grabbing; }
.ft-logo-rail { display:flex; list-style:none; gap:0; margin:12px 0 4px; padding:3px 0 8px; }
.ft-logo-item { flex:0 0 172px; min-width:0; height:82px; display:flex; align-items:center; justify-content:center; padding:7px 17px; border-right:1px solid #eef0ee; }
.ft-logo-item .client-name { height:100%; min-height:0; display:flex; }
.ft-logo-item .client-name img { max-width:138px; max-height:68px; width:auto; height:auto; object-fit:contain; filter:none; opacity:1; }
.ft-logo-item .client-name:hover { transform:none; }
.ft-client-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:5px; }
.ft-rail-hint { color:var(--muted); font-size:10px; line-height:1.6; }
.ft-rail-hint strong { color:var(--ink); font-weight:600; }
.ft-client-directory { margin:0; }
.ft-client-directory summary { display:inline-flex; align-items:center; gap:10px; font:600 10px/1.5 var(--font-body); color:var(--orange-text); cursor:pointer; padding:8px 0; list-style:none; white-space:nowrap; }
.ft-client-directory summary::-webkit-details-marker { display:none; }
.ft-client-directory summary .icon { width:13px; height:13px; }
.ft-client-directory[open] { flex:1; }
.ft-client-bottom:has(.ft-client-directory[open]) { flex-wrap:wrap; }
.ft-directory-content { background:var(--white); padding:0; }
.ft-directory-title { padding-bottom:24px; }
.ft-directory-title h2 { margin-top:12px; font:600 clamp(29px,3vw,42px)/1.05 var(--font-display); max-width:650px; }
.ft-directory-title > p:last-child { color:var(--muted); font-size:12px; margin-top:12px; }
.ft-directory-grid { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.ft-directory-item { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:19px 12px 13px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); min-height:135px; gap:12px; }
.ft-directory-item .client-name { height:78px; min-height:0; }
.ft-directory-item .client-name img { max-width:100%; max-height:74px; width:auto; height:auto; opacity:1; filter:none; object-fit:contain; }
.ft-directory-item .client-name:hover { transform:none; }
.ft-directory-name { font-size:10px; color:var(--muted); text-align:center; line-height:1.5; }
.ft-clients-dialog { padding:0; border:1px solid var(--line); border-radius:10px; width:min(940px,calc(100vw - 40px)); max-width:none; max-height:88vh; max-height:88dvh; background:white; color:var(--ink); }
.ft-clients-dialog::backdrop { background:rgba(12,28,44,.7); }
.ft-clients-dialog .ft-directory-content { padding:0 30px 30px; }
.ft-clients-dialog-bar { display:flex; align-items:center; justify-content:space-between; position:sticky; top:0; z-index:1; padding:12px 22px; background:white; border-bottom:1px solid var(--line); margin-bottom:23px; }
.ft-clients-dialog-bar > span { font:600 10px/1.5 var(--font-body); text-transform:uppercase; letter-spacing:.12em; }
.ft-clients-dialog .ft-dialog-close { width:40px; height:40px; border-radius:50%; }
/* La fila contiene diez tarjetas apaisadas; ninguna desaparece del documento. */
body[data-page="home"] .ft-industry-section { padding:58px 0 40px; background:var(--paper); }
.ft-industry-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:42px; margin-bottom:22px; }
.ft-industry-heading .section-heading { max-width:680px; }
.ft-industry-heading .section-heading h2 { font-size:clamp(36px,3.2vw,46px); }
.ft-industry-lead { width:325px; max-width:36%; padding-bottom:2px; }
.ft-industry-lead > p { font-size:12px; color:var(--muted); line-height:1.8; }
.ft-industry-navigation { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:16px; }
.ft-industry-range { font:11px/1.5 var(--font-mono); white-space:nowrap; color:var(--muted); }
.ft-industry-rail { display:flex; gap:20px; padding:8px 4px 16px; margin:0 -4px; isolation:isolate; }
body[data-page="home"] .ft-industry-rail .industry-card.ft-sector-card {
  flex:0 0 min(560px,49%); min-width:435px; display:grid; grid-template-columns:43% minmax(0,1fr);
  height:282px; min-height:282px; padding:0; margin:0; overflow:hidden;
  border:1px solid var(--line); border-radius:8px; background:white; color:var(--ink);
  align-items:stretch; box-shadow:none;
}
body[data-page="home"] .ft-sector-card .industry-visual { width:100%; height:100%; min-height:0; aspect-ratio:auto; border-radius:0; }
body[data-page="home"] .ft-sector-card .industry-photo-img { width:100%; height:100%; object-fit:cover; }
body[data-page="home"] .ft-sector-card.industry-photo .industry-photo-copy { width:100%; padding:23px 23px 21px; min-width:0; display:flex; align-items:flex-start; justify-content:flex-start; }
.ft-sector-number { font:10px/1.5 var(--font-mono); color:var(--orange-text); display:flex; gap:10px; margin-bottom:24px; }
.ft-sector-number > span { color:var(--muted); font-size:9px; letter-spacing:.07em; }
body[data-page="home"] .ft-sector-card.industry-photo h3 { font:600 27px/1.08 var(--font-display); max-width:240px; margin-bottom:12px; }
body[data-page="home"] .ft-sector-card.industry-photo .industry-photo-copy > p { font-size:11px; line-height:1.65; color:var(--muted); margin:0 0 14px; }
body[data-page="home"] .ft-sector-card .industry-cta { font:600 10px/1.3 var(--font-body); gap:10px; margin-top:auto; color:var(--orange-text); }
body[data-page="home"] .ft-sector-card .industry-cta .icon { width:16px; height:16px; }
body[data-page="home"] .ft-industry-rail .industry-card.ft-sector-card.industry-general { background:var(--night); color:white; }
body[data-page="home"] .ft-sector-card.industry-general .industry-photo-copy > p, .ft-sector-card.industry-general .ft-sector-number > span { color:#c6d0d8; }
body[data-page="home"] .ft-sector-card.industry-general .industry-cta, .ft-sector-card.industry-general .ft-sector-number { color:var(--orange-light); }
.ft-industry-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:5px; }
.ft-rail-dots { display:flex; align-items:center; gap:2px; }
.ft-rail-dots button { background:transparent; border:0; padding:10px 4px; width:26px; height:34px; display:grid; place-items:center; }
.ft-rail-dots button span { display:block; width:100%; height:2px; background:#bec5c9; transform-origin:left; }
.ft-rail-dots button[aria-current="true"] span { background:var(--orange); height:3px; }
.ft-industry-section .scope-note { margin:8px 0 0; font-size:9px; line-height:1.7; color:var(--muted); }
@media(hover:hover) and (pointer:fine) {
 .ft-rail-arrow:not(:disabled):hover { background:var(--night); color:white; border-color:var(--night); }
 .ft-rail-play:hover { color:var(--orange-text); }
 .ft-rail-viewport { cursor:grab; }
 .ft-rail-viewport a { cursor:pointer; }
}
@media(prefers-reduced-motion:no-preference) {
 html.ft-motion-on .ft-rail-arrow { transition:background 180ms,color 180ms; }
 html.ft-motion-on .ft-logo-item img { transition:transform 240ms var(--ft-ease); }
 html.ft-motion-on .ft-logo-item:hover img { transform:scale(1.035); }
 html.ft-motion-on .ft-sector-card:hover .industry-cta .icon { transform:translate(2px,-2px); }
 html.ft-motion-on .ft-sector-card .industry-cta .icon { transition:transform 220ms var(--ft-ease); }
}
html.ft-motion-off .ft-rail-viewport { scroll-behavior:auto; scroll-snap-type:none; }
html.ft-motion-off .ft-logo-item img { transform:none; transition:none; }
@media(prefers-reduced-motion:reduce) {
 .ft-rail-viewport { scroll-behavior:auto; scroll-snap-type:none; }
 .ft-logo-item img { transform:none!important; transition:none!important; }
}
@media(max-width:940px) {
 .ft-industry-heading { gap:25px; }
 .ft-industry-heading .section-heading h2 { font-size:42px; }
 .ft-industry-lead { max-width:37%; }
 body[data-page="home"] .ft-industry-rail .industry-card.ft-sector-card { flex-basis:490px; min-width:0; }
 .ft-logo-item { flex-basis:162px; }
}
@media(max-width:760px) {
 .ft-client-heading { gap:15px; align-items:flex-start; }
 .ft-client-heading h2 { font-size:12px; max-width:300px; }
 .ft-client-heading p { display:none; }
 .ft-client-band { padding:19px 0 12px; }
 .ft-client-heading .ft-rail-arrow { width:34px; height:34px; }
 .ft-logo-item { flex-basis:140px; height:76px; padding:8px 13px; }
 .ft-logo-item .client-name img { max-width:114px; max-height:59px; }
 .ft-client-bottom > .ft-rail-hint { display:none; }
 .ft-client-bottom { justify-content:flex-end; }
 .ft-directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body[data-page="home"] .ft-industry-section { padding:42px 0 28px; }
 .ft-industry-heading { display:block; margin-bottom:13px; }
 .ft-industry-heading .section-heading h2 { font-size:40px; }
 .ft-industry-lead { width:auto; max-width:none; margin-top:17px; }
 .ft-industry-lead > p { max-width:460px; }
 .ft-industry-navigation { margin-top:13px; }
 .ft-industry-rail { gap:14px; }
 .ft-industry-bottom { flex-wrap:wrap; gap:1px 12px; }
 .ft-rail-dots button { width:24px; }
}
@media(max-width:540px) {
 body[data-page="home"] .ft-industry-rail .industry-card.ft-sector-card { flex:0 0 calc(100% - 17px); min-width:0; max-width:none; grid-template-columns:43% minmax(0,1fr); height:243px; min-height:243px; }
 body[data-page="home"] .ft-sector-card.industry-photo .industry-photo-copy { padding:17px 12px; }
 body[data-page="home"] .ft-sector-card.industry-photo h3 { font-size:23px; margin-bottom:10px; }
 body[data-page="home"] .ft-sector-card.industry-photo .industry-photo-copy > p { font-size:10px; line-height:1.65; }
 .ft-sector-number { font-size:10px; margin-bottom:15px; gap:7px; }
 .ft-sector-number > span { font-size:8px; }
 body[data-page="home"] .ft-sector-card .industry-cta { font-size:9px; gap:4px; }
 body[data-page="home"] .ft-sector-card .industry-cta .icon { width:12px; height:12px; }
 .ft-clients-dialog { width:calc(100vw - 24px); max-height:90dvh; }
 .ft-clients-dialog .ft-directory-content { padding:0 16px 20px; }
 .ft-clients-dialog-bar { padding:8px 14px; margin-bottom:18px; }
 .ft-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .ft-directory-title h2 { font-size:31px; }
 .ft-directory-item { padding:14px 9px 11px; min-height:120px; }
 .ft-directory-item .client-name { height:66px; }
 .ft-directory-item .client-name img { max-height:62px; }
}
@media(max-width:360px) {
 .ft-client-heading h2 { font-size:11px; }
 .ft-client-heading .ft-rail-controls { gap:4px; }
 .ft-logo-item { flex-basis:126px; padding-inline:10px; }
 .ft-logo-item .client-name img { max-width:106px; }
 body[data-page="home"] .ft-sector-card.industry-photo h3 { font-size:21px; }
 .ft-rail-dots { gap:0; }
 .ft-rail-dots button { width:23px; }
}
@media print {
 .ft-rail-controls,.ft-rail-dots,.ft-rail-hint,.ft-client-directory>summary { display:none!important; }
 .ft-rail-viewport { overflow:visible; }
 .ft-logo-rail { display:grid; grid-template-columns:repeat(4,1fr); }
 .ft-client-directory { display:none; }
 .ft-industry-rail { display:block; }
 body[data-page="home"] .ft-industry-rail .industry-card.ft-sector-card { width:100%; margin-bottom:12px; break-inside:avoid; transform:none!important; }
}

.ft-rail-viewport.is-dragging .ft-tilt-card { transform:none!important; transition:none!important; }
