/*
Theme Name: Falcon Consulting
Theme URI: https://falconconsulting.mx/
Author: Falcon Consulting
Description: Tema a medida para Falcon Consulting — comercio internacional, inteligencia comercial y desarrollo de negocios. Bilingüe ES/EN, marca animada en la portada, actividades en acordeón y video de fondo. Todo el contenido se edita desde Apariencia > Personalizar.
Version: 3.2.5
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: falcon
Tags: business, one-column, custom-logo, custom-colors, translation-ready
*/

/* ===================== TIPOGRAFIA =====================
   Inter servida desde el propio dominio. Antes se pedia a los servidores de
   Google, lo que obligaba al navegador a abrir dos conexiones externas antes
   de dibujar el primer texto: 1,6 segundos de retraso en movil.
   ====================================================== */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;
  src:url('assets/fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;
  src:url('assets/fonts/inter-500.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;
  src:url('assets/fonts/inter-600.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;
  src:url('assets/fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;
  src:url('assets/fonts/inter-800.woff2') format('woff2')}


/* ==========================================================
   FALCON CONSULTING
   Azul marino #0A3474 · tinta #17243A · tipografía Inter
   ========================================================== */
.fc{
  --navy:#0A3474;
  --navy-800:#072B60;
  --navy-950:#051F49;
  --ink:#17243A;
  --azure:#1B5FBD;
  --sky:#4C8FE0;
  --muted:#5F6B80;
  --muted-2:#8B95A7;
  --mist:#F4F6FA;
  --line:#E1E7F0;
  --line-2:#D3DCE9;

  --ff:'Inter','Segoe UI',Arial,Helvetica,sans-serif;
  --wrap:1140px;
  --pad:clamp(20px,5vw,40px);
  --r:12px;
  --ease:cubic-bezier(.25,.6,.35,1);

  background:#fff;color:var(--ink);font-family:var(--ff);
  font-size:16.5px;line-height:1.68;letter-spacing:-.004em;-webkit-font-smoothing:antialiased;
}
html{scroll-behavior:smooth;scroll-padding-top:108px;-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;background:#fff}

.fc,.fc *,.fc *::before,.fc *::after{box-sizing:border-box}
.fc img,.fc video{max-width:100%;display:block}
.fc a{color:inherit;text-decoration:none}
.fc button,.fc input{font:inherit;color:inherit}
.fc h1,.fc h2,.fc h3,.fc h4{margin:0;font-weight:700;line-height:1.18;letter-spacing:-.028em;color:var(--navy);text-wrap:balance}
.fc p{margin:0}
.fc :focus-visible{outline:2px solid var(--azure);outline-offset:3px;border-radius:3px}

/* Bilingüe: sólo se oculta el idioma inactivo (nunca se fuerza el activo) */
body:not(.lang-en) .fc .t-en{display:none !important}
body.lang-en .fc .t-es{display:none !important}

/* ---------- Estructura ---------- */
.fc .wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.fc .section{padding-block:clamp(78px,9vw,132px)}
.fc .section--mist{background:var(--mist)}

.fc .label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--azure)}
.fc .h1{font-size:clamp(2.1rem,4.4vw,3.3rem);line-height:1.08;letter-spacing:-.035em}
.fc .h2{font-size:clamp(1.7rem,3vw,2.45rem)}
.fc .h3{font-size:clamp(1.12rem,1.7vw,1.35rem)}
.fc .lead{font-size:clamp(1.04rem,1.3vw,1.18rem);color:var(--muted);line-height:1.78;max-width:56ch}

/* ---------- Botones ---------- */
.fc .btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 24px;border:1.5px solid var(--navy);border-radius:6px;
  background:var(--navy);color:#fff;font-size:.92rem;font-weight:600;cursor:pointer;
  transition:background-color .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),box-shadow .25s var(--ease),transform .18s var(--ease);
}
.fc .btn .ar{width:16px;height:16px;flex:none;transition:transform .25s var(--ease)}
.fc .btn:hover{background:var(--azure);border-color:var(--azure);box-shadow:0 8px 22px -12px rgba(10,52,116,.8)}
.fc .btn:hover .ar{transform:translateX(3px)}
.fc .btn:active{transform:translateY(1px)}
.fc .btn--ghost{background:transparent;color:var(--navy);border-color:var(--line-2)}
.fc .btn--ghost:hover{background:transparent;color:var(--azure);border-color:var(--azure);box-shadow:none}
.fc .btn--onDark{background:#fff;border-color:#fff;color:var(--navy)}
.fc .btn--onDark:hover{background:var(--sky);border-color:var(--sky);color:#fff}
.fc .btn--wa{background:#25D366;border-color:#25D366;color:#fff}
.fc .btn--wa:hover{background:#1EBE5B;border-color:#1EBE5B;box-shadow:0 8px 22px -12px rgba(37,211,102,.9)}
.fc .btn .wai{width:19px;height:19px;flex:none}
.fc .btn--sm{padding:10px 18px;font-size:.85rem}
.fc .btn--block{width:100%;justify-content:center}

/* ---------- Encabezado ---------- */
/* Barra superior con el número de contacto */
.fc .hdrwrap{position:fixed;top:0;left:0;right:0;z-index:60}
.fc .topbar{background:var(--navy-950);color:rgba(255,255,255,.78);font-size:.79rem;overflow:hidden;
  max-height:44px;transition:max-height .3s var(--ease),opacity .25s var(--ease)}
.fc .hdrwrap.is-stuck .topbar{max-height:0;opacity:0}
.fc .topbar__in{display:flex;align-items:center;justify-content:flex-end;gap:clamp(12px,2vw,28px);height:44px}
.fc .topbar a{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:color .2s var(--ease)}
.fc .topbar a:hover{color:#fff}
.fc .topbar svg{width:15px;height:15px;flex:none;color:var(--sky)}
.fc .topbar__wa{font-weight:700;color:#fff}
.fc .topbar__wa svg{color:#25D366;width:16px;height:16px}

.fc .hdr{position:relative;background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid transparent;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.fc .hdrwrap.is-stuck .hdr{border-bottom-color:var(--line);box-shadow:0 6px 22px -18px rgba(10,52,116,.7)}
.fc .hdr__in{display:flex;align-items:center;gap:clamp(12px,2vw,30px);height:110px;transition:height .28s var(--ease)}
.fc .hdrwrap.is-stuck .hdr__in{height:88px}
/* LOGO — flex:none + max-width:none evitan que el flex lo comprima
   (antes se deformaba al cambiar de idioma porque el menú en español es más ancho) */
.fc .brand{flex:0 0 auto;display:flex;align-items:center;line-height:0}
.fc .brand img{height:74px;width:auto;max-width:none;flex:none;transition:height .28s var(--ease)}
.fc .hdrwrap.is-stuck .brand img{height:56px}

.fc .nav{display:flex;align-items:center;gap:clamp(11px,1.35vw,19px);margin-left:auto;flex:0 1 auto}
.fc .nav a{position:relative;font-size:.845rem;font-weight:500;color:var(--ink);padding:6px 0;white-space:nowrap;
  transition:color .22s var(--ease)}
.fc .nav a::after{content:"";position:absolute;left:0;bottom:0;height:1.5px;width:100%;background:var(--azure);
  transform:scaleX(0);transform-origin:left;transition:transform .28s var(--ease)}
.fc .nav a:hover{color:var(--navy)}
.fc .nav a:hover::after,.fc .nav a.is-active::after{transform:scaleX(1)}
.fc .nav a.is-active{color:var(--navy);font-weight:600}
.fc .hdr__act{display:flex;align-items:center;gap:12px;margin-left:auto;flex:0 0 auto}
.fc .nav+.hdr__act{margin-left:0}

.fc .lang{position:relative;display:flex;align-items:center;padding:3px;border:1px solid var(--line);border-radius:6px;background:#fff}
.fc .lang button{position:relative;z-index:2;border:0;background:transparent;padding:5px 11px;border-radius:4px;
  font-size:.75rem;font-weight:700;letter-spacing:.07em;color:var(--muted-2);cursor:pointer;transition:color .25s var(--ease)}
.fc .lang button[aria-pressed="true"]{color:#fff}
.fc .lang__pill{position:absolute;z-index:1;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);background:var(--navy);
  border-radius:4px;transition:transform .3s var(--ease)}
body.lang-en .fc .lang__pill{transform:translateX(100%)}

.fc .burger{display:none;width:42px;height:42px;border:1px solid var(--line);background:#fff;border-radius:6px;
  cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.fc .burger i{width:17px;height:1.6px;background:var(--navy);transition:transform .28s var(--ease),opacity .2s var(--ease)}
.fc .burger.is-open i:nth-child(1){transform:translateY(5.6px) rotate(45deg)}
.fc .burger.is-open i:nth-child(2){opacity:0}
.fc .burger.is-open i:nth-child(3){transform:translateY(-5.6px) rotate(-45deg)}

.fc .mnav{position:fixed;top:0;left:0;right:0;z-index:55;background:#fff;border-bottom:1px solid var(--line);
  padding:calc(var(--hdrH,154px) + 20px) var(--pad) 30px;transform:translateY(-101%);transition:transform .34s var(--ease)}
.fc .mnav.is-open{transform:translateY(0)}
.fc .mnav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-size:1rem;font-weight:600;color:var(--navy)}
.fc .mnav .btn{margin-top:20px;color:#fff;border-bottom:1.5px solid var(--navy)}
.fc .mnav .btn:hover{border-color:var(--azure)}
body.fc-lock{overflow:hidden}

/* ---------- Portada ---------- */
.fc .hero{position:relative;overflow:hidden;padding-top:clamp(168px,17vw,214px);padding-bottom:clamp(58px,6.5vw,88px);
  background:linear-gradient(180deg,#fff 0%,var(--mist) 100%)}
.fc .hero__grid{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(28px,4.6vw,60px);align-items:stretch}
.fc .hero h1{margin:16px 0 22px}
.fc .hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* ---------- La marca animada, sola sobre el fondo claro ----------
   Cinco capas de movimiento: halo que respira, anillo girando, segundo anillo
   girando al revés, halcón flotando y un destello que barre el conjunto.
   Además sigue al cursor (assets/js/main.js).
   ------------------------------------------------------------------ */
.fc .hero__vis{position:relative;display:grid;place-items:center;min-height:clamp(360px,36vw,470px);margin:0}
.fc .mark{position:relative;width:100%;max-width:460px;aspect-ratio:537/342;
  will-change:transform;transition:transform .6s var(--ease)}
.fc .mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}

/* halo que respira detrás de la marca */
.fc .mark::before{content:"";position:absolute;left:68.22%;top:50.23%;width:128%;aspect-ratio:1;
  transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(circle,rgba(76,143,224,.30) 0%,rgba(76,143,224,.10) 44%,rgba(76,143,224,0) 70%);
  animation:fcBreathe 7s ease-in-out infinite}
@keyframes fcBreathe{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.8}
  50%    {transform:translate(-50%,-50%) scale(1.15);opacity:1}}

/* destello que barre la marca */
.fc .mark::after{content:"";position:absolute;left:68.22%;top:50.23%;width:165%;aspect-ratio:1;
  transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,rgba(27,95,189,0) 0deg,rgba(27,95,189,.10) 38deg,
    rgba(27,95,189,0) 90deg,rgba(27,95,189,0) 200deg,rgba(76,143,224,.08) 240deg,rgba(27,95,189,0) 292deg);
  -webkit-mask-image:radial-gradient(circle,#000 0%,#000 32%,rgba(0,0,0,.3) 55%,transparent 74%);
  mask-image:radial-gradient(circle,#000 0%,#000 32%,rgba(0,0,0,.3) 55%,transparent 74%);
  animation:fcSheen 22s linear infinite}
@keyframes fcSheen{to{transform:translate(-50%,-50%) rotate(360deg)}}

.fc .mark__ring{opacity:.55;transform-origin:68.22% 50.23%;animation:fcOrbit 38s linear infinite}
.fc .mark__ring2{opacity:.18;transform-origin:68.22% 50.23%;animation:fcOrbit2 26s linear infinite}
.fc .mark__falcon{animation:fcFloat 9s ease-in-out infinite}
@keyframes fcOrbit{to{transform:rotate(360deg)}}
@keyframes fcOrbit2{to{transform:rotate(-360deg)}}
@keyframes fcFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

.fc .hero__cap{position:absolute;left:0;right:0;bottom:0;text-align:center;
  font-size:.68rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-2)}

/* ---------- Cinta con foto de fondo ---------- */
.fc .ribbon{position:relative;background:var(--navy-950);color:rgba(255,255,255,.78);padding:20px 0;overflow:hidden}
.fc .ribbon>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3}
.fc .ribbon::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,31,73,.95) 0%,rgba(7,43,96,.8) 50%,rgba(5,31,73,.95) 100%)}
.fc .ribbon__in{position:relative;z-index:2;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 26px;
  font-size:.74rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase}
.fc .ribbon__in b{color:#fff;font-weight:800}
.fc .ribbon__in i{width:5px;height:5px;border-radius:50%;background:var(--sky);align-self:center}

/* ---------- Áreas de servicio ---------- */
.fc .svc__head{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(26px,4vw,58px);align-items:center}
.fc .svc__head--rev .svc__vis{order:-1}

/* Encabezado de sección con más peso: 01 · INTERNATIONAL TRADE */
.fc .svc__n{display:flex;align-items:center;gap:16px;margin-bottom:20px}
.fc .svc__n b{font-size:clamp(2rem,3.4vw,2.7rem);font-weight:800;line-height:1;letter-spacing:-.05em;
  color:var(--sky);font-variant-numeric:tabular-nums}
.fc .svc__n .label{font-size:.79rem;font-weight:800;letter-spacing:.22em;color:var(--navy)}
.fc .svc__n .rule{flex:1;height:1px;background:var(--line-2)}
.fc .dark .svc__n .label{color:#fff}
.fc .dark .svc__n .rule{background:rgba(255,255,255,.24)}

.fc .svc__head h2{margin-bottom:16px}
.fc .side{border-left:3px solid var(--sky);padding:4px 0 4px 22px;margin-top:16px}
.fc .more>summary .h3,.fc .more>summary{text-align:left}
.fc .side p{margin-top:10px;color:var(--muted);font-size:.97rem}
.fc .side .cap{display:block;margin-top:16px;font-size:.72rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--muted-2)}

/* Fotografía / ilustración / video de cada área */
.fc .svc__vis{position:relative;margin:0;border-radius:14px;overflow:hidden;line-height:0;
  background:var(--navy-950);aspect-ratio:4/3;box-shadow:0 24px 50px -38px rgba(5,31,73,.8)}
.fc .svc__vis>img,.fc .svc__vis>video{width:100%;height:100%;object-fit:cover;
  transition:transform .8s var(--ease)}
.fc .svc__vis:hover>img,.fc .svc__vis:hover>video{transform:scale(1.045)}
.fc .svc__vis::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(5,31,73,0) 46%,rgba(5,31,73,.72) 100%)}
.fc .svc__vis figcaption{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:16px 20px;color:#fff;
  font-size:.69rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;line-height:1.5}
/* la ilustración de línea va sobre claro, sin velo */
.fc .svc__vis--art{background:linear-gradient(160deg,#FBFCFE 0%,#E8EEF8 100%);border:1px solid var(--line)}
.fc .svc__vis--art>img{object-fit:contain;padding:clamp(14px,2.4vw,30px)}
.fc .svc__vis--art::after{display:none}
.fc .svc__vis--art figcaption{color:var(--navy);opacity:.5}
.fc .svc__vis--art:hover>img{transform:scale(1.03)}
/* etiqueta del video */
.fc .vtag{position:absolute;z-index:3;top:14px;left:14px;display:inline-flex;align-items:center;gap:7px;
  padding:6px 11px;border-radius:999px;background:rgba(5,31,73,.62);backdrop-filter:blur(6px);
  color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.fc .vtag i{width:6px;height:6px;border-radius:50%;background:#4ADE80;animation:fcPulse 2.4s ease-in-out infinite}
@keyframes fcPulse{0%,100%{opacity:1}50%{opacity:.25}}

/* ---------- Actividades: lista desplegable sobre marca de agua ---------- */
.fc .actsw{position:relative;margin-top:clamp(44px,5vw,72px);overflow:hidden}
/* marca de agua: el halcón y su círculo, muy tenues, dan profundidad al listado */
.fc .wm{position:absolute;z-index:0;pointer-events:none;user-select:none;
  right:-8%;top:50%;transform:translateY(-50%);width:min(660px,60%);aspect-ratio:537/342;opacity:.075;
  filter:blur(3.5px);
  -webkit-mask-image:radial-gradient(ellipse at center,#000 42%,transparent 78%);
  mask-image:radial-gradient(ellipse at center,#000 42%,transparent 78%)}
.fc .wm--left{right:auto;left:-10%}
.fc .wm img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fc .wm__ring{animation:fcOrbit 70s linear infinite;transform-origin:68.22% 50.23%}
.fc .actsw>*:not(.wm){position:relative;z-index:1}

.fc .acts__t{margin:0 0 4px;padding-bottom:14px;border-bottom:2px solid var(--navy);
  font-size:.72rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--navy)}
.fc .acts{display:grid}
.fc .act{border-bottom:1px solid var(--line)}
.fc .act summary{display:flex;align-items:center;gap:clamp(14px,2vw,26px);padding:24px 4px;cursor:pointer;
  list-style:none;transition:padding-left .28s var(--ease)}
.fc .act summary::-webkit-details-marker{display:none}
.fc .act summary:hover{padding-left:10px}
.fc .act h4{flex:1;font-size:clamp(1.06rem,1.5vw,1.28rem);font-weight:700;color:var(--navy);letter-spacing:-.026em;line-height:1.3}
.fc .act__ch{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1.5px solid var(--line-2);
  border-radius:50%;color:var(--navy);transition:transform .32s var(--ease),background-color .25s var(--ease),border-color .25s var(--ease)}
.fc .act__ch svg{width:15px;height:15px}
.fc .act summary:hover .act__ch{background:var(--navy);border-color:var(--navy);color:#fff}
.fc .act[open] .act__ch{transform:rotate(45deg);background:var(--navy);border-color:var(--navy);color:#fff}
.fc .act__body{overflow:hidden;padding:0 0 26px;animation:fcOpen .34s var(--ease)}
@keyframes fcOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fc .act__body p{font-size:1rem;color:var(--muted);line-height:1.72;max-width:62ch}

/* ---------- Ver más ---------- */
.fc .more{margin-top:20px}
.fc .more>summary{display:inline-flex;align-items:center;gap:10px;cursor:pointer;list-style:none;
  font-size:1.02rem;font-weight:700;letter-spacing:-.02em;color:var(--navy);padding:6px 0;
  transition:color .22s var(--ease)}
.fc .hero .more>summary{font-size:.86rem;font-weight:700;letter-spacing:.03em;color:var(--azure)}
.fc .more>summary::-webkit-details-marker{display:none}
.fc .more>summary svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.fc .more[open]>summary svg{transform:rotate(180deg)}
.fc .more>summary:hover{color:var(--navy)}
.fc .more__body{animation:fcOpen .34s var(--ease)}

/* ---------- Bloque oscuro con fotografía ---------- */
.fc .dark{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.fc .dark>img,.fc .dark>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.42}
.fc .dark::after{content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,rgba(5,31,73,.95) 0%,rgba(7,43,96,.9) 48%,rgba(10,52,116,.8) 100%)}
.fc .dark .wrap{position:relative;z-index:2}
.fc .dark h2,.fc .dark h3{color:#fff}
.fc .dark .label{color:var(--sky)}
.fc .dark .lead{color:rgba(255,255,255,.8)}
.fc .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(34px,4vw,46px)}
.fc .pillar{position:relative;border:1px solid rgba(255,255,255,.18);border-radius:var(--r);padding:26px 24px;
  background:rgba(255,255,255,.04);backdrop-filter:blur(3px);
  transition:background-color .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.fc .pillar:hover{background:rgba(255,255,255,.1);border-color:rgba(76,143,224,.7);transform:translateY(-3px)}
.fc .pillar h3{font-size:1.08rem;letter-spacing:-.025em}
.fc .pillar h3::after{content:"";display:block;width:32px;height:2.5px;border-radius:2px;background:var(--sky);margin:13px 0}
.fc .pillar p{font-size:.92rem;color:rgba(255,255,255,.76);line-height:1.65}

/* ---------- Contacto ---------- */
.fc .contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:start}
.fc .contact__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.fc .info{margin-top:34px;border-top:1px solid var(--line)}
.fc .info>div{display:flex;gap:14px;padding:15px 0;border-bottom:1px solid var(--line)}
.fc .info svg{width:18px;height:18px;color:var(--sky);flex:none;margin-top:3px}
/* La etiqueta incluye sus spans de idioma: sin esto, las etiquetas bilingues
   (CORREO, DIRECCION) heredaban el tamano y color del contenido y se veian
   distintas de las que no llevan span (TEL., WHATSAPP). */
.fc .info small,.fc .info small span{display:block;font-size:.69rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--muted);margin-bottom:0}
.fc .info small{margin-bottom:2px}
.fc .info small span{display:inline}
.fc .info a,.fc .info span{font-size:.94rem;line-height:1.55;color:var(--ink)}
.fc .info a{border-bottom:1px solid var(--line-2);transition:border-color .22s var(--ease),color .22s var(--ease)}
.fc .info a:hover{color:var(--azure);border-color:var(--azure)}

.fc .card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(24px,3vw,36px);
  box-shadow:0 24px 54px -44px rgba(10,52,116,.8)}
.fc .card__head{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:24px}
.fc .card__head h3{margin-top:10px}

.fc .fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.fc .field{position:relative}
.fc .field--full{grid-column:1/-1}
.fc .field input{width:100%;padding:24px 14px 9px;border:1.5px solid var(--line-2);border-radius:6px;background:#fff;
  font-size:.94rem;transition:border-color .22s var(--ease),box-shadow .22s var(--ease)}
.fc .field label{position:absolute;left:14px;top:16px;font-size:.92rem;color:var(--muted-2);pointer-events:none;
  transform-origin:left top;transition:transform .2s var(--ease),color .2s var(--ease)}
.fc .field input:focus{outline:none;border-color:var(--azure);box-shadow:0 0 0 3px rgba(27,95,189,.10)}
.fc .field input:focus+label,.fc .field input:not(:placeholder-shown)+label{transform:translateY(-10px) scale(.76);color:var(--azure)}
.fc .field.is-bad input{border-color:#C2453C}
.fc .err{display:none;margin-top:5px;font-size:.78rem;color:#C2453C}
.fc .field.is-bad .err{display:block}

.fc .group{grid-column:1/-1}
/* La pregunta del grupo: subida de --muted-2 (3.0:1) a --muted (5.4:1). */
.fc .group>p{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.fc .chips{display:flex;flex-wrap:wrap;gap:8px}
.fc .chip input{position:absolute;opacity:0;width:0;height:0}
/* Opciones sin marcar: texto #3D4A5F (9:1) y borde #A6B5CD, para que el
   recuadro se distinga del fondo blanco. Antes el borde daba 1.4:1 y las
   opciones parecian texto suelto en vez de botones. */
.fc .chip>span{display:inline-block;padding:9px 15px;border:1.5px solid #A6B5CD;border-radius:6px;
  font-size:.86rem;font-weight:500;cursor:pointer;color:#3D4A5F;transition:all .22s var(--ease);user-select:none}
.fc .chip>span:hover{border-color:var(--sky);color:var(--navy);background:#F7F9FC}
/* Los idiomas viven dentro del chip: no deben heredar el recuadro. */
.fc .chip>span>span{display:inline;padding:0;border:0;border-radius:0;font-size:inherit;color:inherit}
.fc .chip input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff}
.fc .chip input:focus-visible+span{outline:2px solid var(--azure);outline-offset:2px}
.fc .form__foot{margin-top:24px;display:grid;gap:11px}
.fc .form__note{font-size:.79rem;color:var(--muted-2);line-height:1.55}
.fc .ok{display:none;padding:22px 0;text-align:center}
.fc .ok svg{width:44px;height:44px;color:#1B8F5E;margin:0 auto 14px}
.fc .ok h3{color:var(--navy)}
.fc .ok p{margin-top:8px;font-size:.93rem;color:var(--muted)}
.fc form.is-sent .fields,.fc form.is-sent .form__foot{display:none}
.fc form.is-sent .ok{display:block}

/* ---------- Pie ---------- */
.fc .foot{background:var(--navy-950);color:rgba(255,255,255,.68);padding:clamp(46px,5vw,66px) 0 26px;font-size:.88rem}
/* LOGO del pie — más grande (antes 32px) */
.fc .foot .brandimg{height:62px;width:auto;max-width:none;flex:none;filter:brightness(0) invert(1)}
.fc .foot__grid{display:grid;grid-template-columns:1.15fr 1fr 1.15fr;gap:32px;padding-bottom:30px;
  border-bottom:1px solid rgba(255,255,255,.12)}
.fc .foot h4{color:#fff;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:13px}
.fc .foot ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.fc .foot a{transition:color .22s var(--ease)}
.fc .foot a:hover{color:#fff}
.fc .foot dl{margin:18px 0 0;display:grid;gap:7px;line-height:1.6}
.fc .foot dl b{color:rgba(255,255,255,.92);font-weight:600}
.fc .fc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fc .form__note--err{color:#B42318;font-weight:600}
.fc #scan.is-busy{opacity:.6;pointer-events:none}
.fc .foot__bottom{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:6px 26px;margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.09);
  /* deja libre la esquina donde vive el boton flotante de WhatsApp */
  padding-right:190px;padding-bottom:26px}
.fc .foot__legal{font-size:.79rem;color:rgba(255,255,255,.45)}
.fc .foot__by{font-size:.79rem;color:rgba(255,255,255,.38);letter-spacing:.01em}
.fc .foot__by b{font-weight:600;color:rgba(255,255,255,.62)}
.fc .foot__by a{color:rgba(255,255,255,.62);font-weight:600;text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.2);padding-bottom:1px;transition:color .2s var(--ease),border-color .2s var(--ease)}
.fc .foot__by a:hover,.fc .foot__by a:focus-visible{color:#fff;border-bottom-color:rgba(255,255,255,.7)}
@media(max-width:900px){.fc .foot__bottom{padding-right:0;padding-bottom:78px}}
@media(max-width:640px){.fc .foot__bottom{gap:10px;padding-bottom:74px}}
.fc .social{display:flex;gap:9px;margin-top:18px}
.fc .social a{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);
  border-radius:8px;color:rgba(255,255,255,.82);
  transition:background-color .22s var(--ease),border-color .22s var(--ease),color .22s var(--ease),transform .22s var(--ease)}
.fc .social a:hover{background:rgba(255,255,255,.1);border-color:#fff;color:#fff;transform:translateY(-2px)}
.fc .social svg{width:18px;height:18px}

/* ---------- WhatsApp flotante ---------- */
/* ---------- Pantalla de agradecimiento ---------- */
.fc .thanks{position:fixed;inset:0;z-index:120;display:none;place-items:center;padding:22px;
  background:rgba(5,31,73,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.fc .thanks.is-on{display:grid;animation:fcFade .3s var(--ease)}
@keyframes fcFade{from{opacity:0}to{opacity:1}}
.fc .thanks__box{position:relative;width:min(520px,100%);max-height:92vh;overflow:auto;background:#fff;
  border-radius:var(--r);border-top:4px solid var(--navy);
  padding:clamp(30px,4vw,46px) clamp(24px,3.4vw,44px) clamp(26px,3vw,38px);
  text-align:center;box-shadow:0 40px 90px -40px rgba(0,0,0,.7);animation:fcPop .38s var(--ease)}
@keyframes fcPop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.fc .thanks__mark{position:relative;width:118px;aspect-ratio:537/342;margin:0 auto 18px}
.fc .thanks__mark img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.fc .thanks__mark .mark__ring{opacity:.5;transform-origin:68.22% 50.23%;animation:fcOrbit 30s linear infinite}
.fc .thanks__tick{width:54px;height:54px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;
  background:#E8F7EF;color:#1B8F5E}
.fc .thanks__tick svg{width:29px;height:29px}
.fc .thanks h2{font-size:clamp(1.35rem,2.3vw,1.8rem);letter-spacing:-.03em}
.fc .thanks p{margin-top:12px;color:var(--muted);font-size:1rem;line-height:1.65}
.fc .thanks__meta{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);
  font-size:.8rem;color:var(--muted-2);line-height:1.6}
.fc .thanks__meta b{color:var(--navy);font-weight:600}
.fc .thanks__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.fc .thanks__close{position:absolute;top:12px;right:12px;width:36px;height:36px;display:grid;place-items:center;
  border:1px solid var(--line);background:#fff;border-radius:var(--r);cursor:pointer;color:var(--muted);
  transition:color .2s var(--ease),border-color .2s var(--ease)}
.fc .thanks__close:hover{color:var(--navy);border-color:var(--line-2)}
.fc .thanks__close svg{width:16px;height:16px}
/* Nota sólo para la demo — BORRAR al conectar el formulario en WordPress */
.fc .thanks p.thanks__demo{margin-top:15px;font-size:.75rem;color:var(--muted-2);line-height:1.55}

.fc .wa{position:fixed;right:20px;bottom:20px;z-index:50;display:inline-flex;align-items:center;gap:9px;
  padding:12px 18px 12px 14px;border-radius:999px;background:#25D366;color:#fff;
  font-size:.88rem;font-weight:600;box-shadow:0 14px 30px -14px rgba(0,0,0,.6);
  transition:background-color .22s var(--ease),transform .22s var(--ease)}
.fc .wa:hover{background:#1EBE5B;transform:translateY(-2px)}
.fc .wa svg{width:21px;height:21px;flex:none}

/* ---------- Responsive ---------- */
/* El menú en español es más largo que en inglés: pasamos a hamburguesa antes
   para que nunca comprima el logo */
@media (max-width:1150px){
  .fc .nav{display:none}
  .fc .burger{display:flex}
}
@media (max-width:1000px){
  .fc .hero__grid,.fc .svc__head,.fc .contact{grid-template-columns:1fr}
  .fc .svc__head--rev .svc__vis{order:0}
  .fc .acts,.fc .pillars{grid-template-columns:1fr 1fr}
  .fc .foot__grid{grid-template-columns:1fr 1fr}
  .fc .hero__vis{min-height:300px}
}
@media (max-width:980px){
  .fc .topbar a.topbar__mail{display:none}
}
@media (max-width:780px){
  .fc #ctaTop{display:none}
  .fc .hdr__in{height:88px}
  .fc .hdrwrap.is-stuck .hdr__in{height:74px}
  .fc .brand img{height:60px}
  .fc .hdrwrap.is-stuck .brand img{height:48px}
  .fc .topbar__in{justify-content:center;height:40px}
  .fc .topbar{max-height:40px;font-size:.75rem}
}
@media (max-width:560px){
  .fc .topbar a.topbar__tel{display:none}
}
@media (max-width:640px){
  .fc .acts,.fc .pillars,.fc .fields,.fc .foot__grid{grid-template-columns:1fr}
  .fc .wm,.fc .wm--left{right:-18%;left:auto;width:96%;opacity:.06}
  .fc .wa{padding:0;width:54px;height:54px;justify-content:center;border-radius:50%;right:16px;bottom:16px}
  .fc .wa b{display:none}
  .fc .hero__vis{min-height:260px}
  .fc .svc__n b{font-size:2rem}
  .fc .act h4{min-height:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .fc *,.fc *::before,.fc *::after{transition-duration:.001ms!important;animation:none!important}
}
