/* =========================================================
   FJ Intelligence — estilos de las páginas de área y solución
   Todo va dentro de .fj-pag: ni el tema entra aquí, ni esto
   se escapa al tema. Cada bloque Raw HTML abre su .fj-pag.
   ========================================================= */
.fj-pag {
  --bg:#F4F2EB;--ink:#1D1D1B;--cuerpo:#706F6D;--muted:#8b8a86;--line:#dcd9cf;
  /* mismas familias que fjintelligence.com (Typekit); localmente caen al respaldo */
  --serif:"Quarto A","Quarto B",Georgia,'Times New Roman',serif;
  --sans:"Gotham A","Gotham B",system-ui,-apple-system,'Segoe UI',sans-serif;
  color: var(--ink); font-family: var(--sans); font-weight: 400;
  -webkit-font-smoothing: antialiased;
}
.fj-pag, .fj-pag *, .fj-pag *::before, .fj-pag *::after {
  box-sizing: border-box;
}
.fj-pag h1, .fj-pag h2, .fj-pag h3, .fj-pag p, .fj-pag ul, .fj-pag li,
.fj-pag figure, .fj-pag dl, .fj-pag dd, .fj-pag fieldset, .fj-pag legend {
  margin: 0; padding: 0;
}
.fj-pag ul { list-style: none; }

.fj-pag .hs-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:26px}
.fj-pag .hs-cols p{font-size:16px;line-height:24px;color:var(--cuerpo)}
@media (max-width:900px){
.fj-pag .hs-cols{grid-template-columns:1fr;gap:18px;margin-top:18px}
}
.fj-pag .band.band-first{border-top:0;margin-top:8px;padding-top:0}
.fj-pag .tres{display:grid;grid-template-columns:repeat(3,1fr);gap:56px}
.fj-pag .tres-k{display:block;font-size:14px;line-height:20px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px;padding-top:14px;border-top:1px solid var(--line)}
.fj-pag .tres-i p{font-size:16px;line-height:24px;color:var(--cuerpo)}
.fj-pag .obj-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px}
.fj-pag .obj{border-top:1px solid var(--line);padding-top:16px}
.fj-pag .obj-n{font-family:var(--serif);font-size:16px;color:var(--muted);letter-spacing:.08em}
.fj-pag .obj h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:28.6px;
  color:var(--ink);margin:10px 0 10px}
.fj-pag .obj p{font-size:16px;line-height:24px;color:var(--cuerpo)}
.fj-pag .cont-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:80px;align-items:start}
.fj-pag .form-h{font-family:var(--serif);font-size:28px;line-height:34px;color:var(--ink);margin-bottom:30px}
.fj-pag .f-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.fj-pag .f{display:block;margin-bottom:24px}
.fj-pag .f>span{display:block;font-size:14px;line-height:20px;color:var(--muted);margin-bottom:6px}
.fj-pag .f input, .fj-pag .f textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;
  font-family:var(--sans);font-size:16px;line-height:24px;color:var(--ink);padding:6px 0;
  transition:border-color .3s;resize:vertical}
.fj-pag .f input:focus, .fj-pag .f textarea:focus{outline:none;border-bottom-color:var(--ink)}
.fj-pag .f input::placeholder{color:#b6b4ad}
.fj-pag .f-set{border:0;margin:6px 0 26px}
.fj-pag .f-set legend{font-size:14px;line-height:20px;color:var(--muted);margin-bottom:12px}
.fj-pag .chips{display:flex;flex-wrap:wrap;gap:10px}
.fj-pag .chip{display:inline-flex;align-items:center;gap:9px;font-size:15px;color:var(--ink);cursor:pointer;
  border:1px solid var(--line);border-radius:999px;padding:8px 16px;transition:border-color .25s,background .25s}
.fj-pag .chip:hover{border-color:#c3c0b6}
.fj-pag .chip input{position:absolute;opacity:0;width:0;height:0}
.fj-pag .chip i{width:8px;height:8px;border-radius:50%;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.fj-pag .chip:has(input:checked){background:#eceadf;border-color:#c3c0b6}
.fj-pag .chip:has(input:checked) i{transform:scale(1.45)}
.fj-pag .f-check{display:flex;gap:11px;align-items:flex-start;margin:6px 0 30px;cursor:pointer}
.fj-pag .f-check input{margin-top:4px;accent-color:var(--ink)}
.fj-pag .f-check span{font-size:14px;line-height:20px;color:var(--muted)}
.fj-pag .f-check a{color:var(--ink)}
.fj-pag .f-send{border:0;background:transparent;font-family:var(--sans);font-size:16px;font-weight:500;
  color:var(--ink);cursor:pointer;padding:0 0 3px;border-bottom:1.5px solid var(--ink);
  transition:opacity .25s}
.fj-pag .f-send:hover{opacity:.6}
.fj-pag .cont-aside .tres-k{border-top:0;padding-top:0}
.fj-pag .dir{font-size:16px;line-height:24px;color:var(--cuerpo);margin-bottom:20px}
.fj-pag .dir strong{color:var(--ink);font-weight:500}
.fj-pag .dir a{color:var(--cuerpo);text-decoration:none;border-bottom:1px solid var(--line)}
.fj-pag .dir a:hover{color:var(--ink)}
.fj-pag .dir-nota{font-size:14px;line-height:20px;color:var(--muted);margin-top:32px;
  padding-top:20px;border-top:1px solid var(--line)}
.fj-pag .nos-video{max-width:1400px;margin:26px auto 0;padding:0 56px}
.fj-pag .nos-video video{display:block;width:100%;aspect-ratio:2.35/1;object-fit:cover;
  border-radius:12px;background:#e7e3d8}
.fj-pag .dir-map{display:block;text-decoration:none;color:var(--cuerpo);margin-bottom:20px}
.fj-pag .dir-map strong{color:var(--ink);font-weight:500}
.fj-pag .dir-map-i{display:block;margin-top:8px;font-size:14px;line-height:20px;color:var(--muted);
  transition:color .25s,transform .4s cubic-bezier(.22,.61,.36,1)}
.fj-pag .dir-map:hover .dir-map-i{color:var(--ink);transform:translateX(3px)}
@media (max-width:900px){
.fj-pag .nos-video{padding:0 22px}
.fj-pag .nos-video video{aspect-ratio:16/9}
}
.fj-pag .sec-rev{opacity:0;transform:translateY(16px);
  transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}
.fj-pag .sec-rev.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
.fj-pag .sec-rev{opacity:1;transform:none;transition:none}
}
.fj-pag .inner{--m:60ch;max-width:880px;margin:0 auto;padding:60px 56px 40px;
  transition:max-width .55s cubic-bezier(.22,.61,.36,1)}
html.fj-mapa-plegado .fj-pag .inner{--m:72ch;max-width:1080px}
html.fj-mapa-plegado .fj-pag .wide{max-width:1400px}
.fj-pag .wide{transition:max-width .55s cubic-bezier(.22,.61,.36,1)}
.fj-pag .inner h1{font-family:var(--serif);font-weight:400;font-size:56px;line-height:1.05;
  letter-spacing:-.01em;color:var(--ink);margin-bottom:10px}
.fj-pag .inner h1.h1-svc{font-size:46px}
.fj-pag .inner>p.sub{font-family:var(--serif);font-style:italic;font-size:19px;line-height:1.4;
  font-weight:400;color:var(--muted);margin-bottom:32px;max-width:46ch}
.fj-pag .video-ambient{position:relative;aspect-ratio:21/9;border-radius:12px;overflow:hidden;margin:6px 0 42px;
  background:#e7e3d8}
.fj-pag .video-ambient iframe{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:101%;aspect-ratio:16/9;height:auto;border:0;pointer-events:none}
.fj-pag .vbadge{position:absolute;left:14px;bottom:12px;z-index:3;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:#fff;background:rgba(30,30,28,.55);border-radius:999px;padding:5px 11px;
  backdrop-filter:blur(6px)}
.fj-pag .inner>p{font-size:16px;line-height:24px;color:var(--cuerpo);margin-bottom:18px;max-width:var(--m);
    transition:max-width .55s cubic-bezier(.22,.61,.36,1)}
.fj-pag .inner>p.lede{color:var(--ink);margin-bottom:20px}
.fj-pag .inner section{margin-top:92px}
.fj-pag .tag{display:block;font-size:14px;line-height:20px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px}
.fj-pag .inner section h2{font-family:var(--serif);font-weight:400;font-size:28px;line-height:34px;
    color:var(--ink);margin-bottom:16px}
.fj-pag .inner section h2 a{color:inherit;text-decoration:none;cursor:pointer;position:relative;
    display:inline-flex;align-items:center;gap:.36em}
.fj-pag .inner section h2 a::after{content:'';position:absolute;left:0;right:1.15em;bottom:-.14em;height:1px;
    background:var(--rama,var(--ink));opacity:.55;transform:scaleX(0);transform-origin:left center;
    transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.fj-pag .inner section h2 a:hover::after, .fj-pag .inner section h2 a:focus-visible::after{transform:scaleX(1)}
.fj-pag .h2chev{font-family:var(--sans);font-size:16px;line-height:1;color:var(--muted);
    opacity:.55;transform:translateX(0);
    transition:opacity .35s ease,transform .45s cubic-bezier(.22,.61,.36,1),color .35s}
.fj-pag .inner section h2 a:hover .h2chev{opacity:1;color:var(--rama,var(--ink));transform:translateX(4px)}
.fj-pag .inner section p{font-size:16px;line-height:24px;color:var(--cuerpo);margin-bottom:14px;max-width:var(--m);
  transition:max-width .55s cubic-bezier(.22,.61,.36,1)}
.fj-pag .svc-link{display:inline-block;margin-top:6px;font-size:14px;font-weight:500;color:var(--ink);
  text-decoration:none;border-bottom:1.5px solid var(--line);padding-bottom:2px;cursor:pointer;
  transition:border-color .25s}
.fj-pag .svc-link:hover{border-color:var(--ink)}
.fj-pag .steps{margin-top:26px;display:grid;gap:24px}
.fj-pag .step{display:grid;grid-template-columns:56px 1fr;gap:18px;align-items:start;
  border-top:1px solid var(--line);padding-top:20px}
.fj-pag .step-n{font-family:var(--serif);font-size:16px;color:var(--muted);letter-spacing:.08em}
.fj-pag .step h3{font-size:16px;line-height:24px;font-weight:500;color:var(--ink);margin-bottom:6px}
.fj-pag .step p{font-size:16px;line-height:24px;color:var(--cuerpo);margin:0}
.fj-pag mark.ph{background:#efe3c4;color:#5b4a1c;padding:1px 4px;border-radius:3px}
.fj-pag .ph-note{font-size:14px;line-height:18.2px;color:var(--muted);margin-top:44px;max-width:var(--m)}
.fj-pag .wide{max-width:1280px;margin:0 auto;padding:0 56px}
.fj-pag .band{border-top:1px solid var(--line);margin-top:84px;padding-top:72px}
.fj-pag .band-head{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:start;margin-bottom:52px}
.fj-pag .band-head h2{font-family:var(--serif);font-weight:400;font-size:36px;line-height:36px;
  letter-spacing:.2px;color:var(--ink)}
.fj-pag .band-head p{font-size:16px;line-height:24px;color:var(--cuerpo);max-width:52ch;padding-top:6px}
.fj-pag .caso-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:34px}
.fj-pag .ccard{text-decoration:none;color:var(--ink)}
.fj-pag .cimg{aspect-ratio:16/10.5;border-radius:6px;overflow:hidden;position:relative;
  display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.fj-pag .cimg span{position:relative;z-index:2;color:#fff;font-family:var(--serif);font-size:14px;
  text-shadow:0 1px 12px rgba(0,0,0,.35);padding:0 12px;text-align:center}
.fj-pag .ckicker{font-size:14px;line-height:20px;letter-spacing:.04em;text-transform:uppercase;
  color:var(--muted);margin-bottom:8px}
.fj-pag .ccard h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:28.6px;
  color:var(--ink);margin-bottom:10px}
.fj-pag .ccard p{font-size:16px;line-height:24px;color:var(--cuerpo)}
.fj-pag .act-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}
.fj-pag .acard{text-decoration:none;color:var(--ink)}
.fj-pag .aimg{aspect-ratio:16/10;border-radius:6px;margin-bottom:20px}
.fj-pag .acard h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:28.6px;color:var(--ink)}
.fj-pag .arrow-end{display:block;text-align:right;font-size:22px;color:var(--muted);margin-top:26px}
.fj-pag .cta-band{border-top:1px solid var(--line);margin-top:84px;padding:110px 0 130px}
.fj-pag .cta-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:60px;align-items:start}
.fj-pag .cta-k{font-size:16px;line-height:20.8px;color:var(--ink);padding-top:10px}
.fj-pag .cta-t{font-family:var(--serif);font-weight:400;font-size:36px;line-height:46px;
  letter-spacing:.2px;color:var(--ink)}
.fj-pag .cta-t a{color:var(--ink);text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:1px}
.fj-pag .ph-rioja{background:linear-gradient(135deg,#5c6f4e 0%,#8a8a54 55%,#b7995c 100%)}
.fj-pag .ph-milla{background:linear-gradient(135deg,#4f7391 0%,#7fa3b8 60%,#cbb98a 100%)}
.fj-pag .ph-medipalm{background:linear-gradient(135deg,#3f5a50 0%,#6c8a70 60%,#a9b58a 100%)}
.fj-pag .ph-sigma{background:#fbfaf7;border:1px solid var(--line);
  background-image:radial-gradient(circle at 30% 40%,rgba(201,155,69,.35) 0 3px,transparent 4px),
  radial-gradient(circle at 68% 62%,rgba(84,112,140,.35) 0 3px,transparent 4px),
  linear-gradient(115deg,transparent 48%,rgba(30,30,28,.12) 48.2%,rgba(30,30,28,.12) 48.6%,transparent 49%),
  linear-gradient(65deg,transparent 58%,rgba(30,30,28,.1) 58.2%,rgba(30,30,28,.1) 58.6%,transparent 59%)}
.fj-pag .ph-a1{background:linear-gradient(135deg,#d8cfc0 0%,#efe9dc 60%,#cfd6da 100%)}
.fj-pag .ph-a2{background:linear-gradient(135deg,#efe9dc 0%,#d9d2c4 55%,#c9b28a 100%)}
.fj-pag .ph-a3{background:linear-gradient(135deg,#c9a06a 0%,#e2cba3 55%,#efe9dc 100%)}
@media (max-width:900px){
.fj-pag .inner{padding:34px 22px 20px}
.fj-pag .inner h1{font-size:40px}
.fj-pag .inner h1.h1-svc{font-size:34px}
.fj-pag .inner>p.sub{font-size:17.5px}
.fj-pag .cta-t{font-size:28px;line-height:36px}
.fj-pag .band-head h2{font-size:30px;line-height:32px}
.fj-pag .wide{padding:0 22px}
.fj-pag .band{margin-top:56px;padding-top:48px}
.fj-pag .band-head{grid-template-columns:1fr;gap:14px;margin-bottom:34px}
.fj-pag .caso-cards, .fj-pag .act-cards{grid-template-columns:1fr;gap:38px}
.fj-pag .cta-band{padding:64px 0 84px}
.fj-pag .cta-grid{grid-template-columns:1fr;gap:18px}
.fj-pag .video-ambient{aspect-ratio:16/9;border-radius:14px}
.fj-pag .step{grid-template-columns:1fr;gap:6px}
}

/* el vídeo ambiental se rellena solo desde fj-map.js (data-vimeo) */
.fj-pag .video-ambient { background: #e9e6dc; }
