/* Fortunato Portal Integral 3.3.0 - capa de experiencia visual 2026.
   Se carga al final para mejorar consistencia sin romper el CMS existente. */

:root{
  --fy-ux-max:1180px;
  --fy-ux-radius:12px;
  --fy-ux-radius-lg:18px;
  --fy-ux-line:#dfe5eb;
  --fy-ux-muted:#5e6b78;
  --fy-ux-shadow:0 16px 42px rgba(18,28,45,.08);
  --fy-ux-shadow-lg:0 24px 70px rgba(18,28,45,.12);
}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
::selection{background:color-mix(in srgb,var(--fy-accent,#3f8246) 24%,transparent);color:inherit}
img{max-width:100%}
a,button,input,select,textarea{touch-action:manipulation}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid color-mix(in srgb,var(--fy-accent,#3f8246) 34%,transparent);outline-offset:3px}
:where(section[id]){scroll-margin-top:96px}

/* Cabecera y navegación */
.fy-header{position:sticky;top:0;z-index:80;backdrop-filter:saturate(1.1) blur(12px);background:rgba(255,255,255,.96)!important;transition:box-shadow .2s ease,border-color .2s ease}
.fy-header.is-scrolled{box-shadow:0 10px 30px rgba(17,24,39,.08)!important;border-bottom-color:#d7dde5!important}
.fy-header__inner{min-height:78px;height:auto!important;padding-block:10px}
.fy-brand img{display:block;max-height:52px;width:auto!important}
.fy-nav ul{align-items:center}
.fy-nav a{position:relative;border-radius:8px!important;padding:10px 11px!important;line-height:1.2;transition:background-color .18s ease,color .18s ease,transform .18s ease}
.fy-nav a:not(.fy-nav__access)::after{content:"";position:absolute;left:11px;right:11px;bottom:5px;height:2px;background:var(--fy-accent,#3f8246);transform:scaleX(0);transform-origin:center;transition:transform .18s ease}
.fy-nav a:not(.fy-nav__access):hover::after,.fy-nav a:not(.fy-nav__access):focus-visible::after{transform:scaleX(1)}
.fy-nav__access{border-radius:9px!important;padding-inline:15px!important;box-shadow:0 6px 16px rgba(29,35,88,.07)!important}
.fy-nav-toggle{width:46px;height:46px;border-radius:10px!important;border:1px solid var(--fy-ux-line)!important;background:#fff!important}
body.fy-nav-is-open{overflow:hidden}

/* Ritmo vertical y encabezados */
.fy-container{width:min(calc(100% - 36px),var(--fy-ux-max))!important}
.fy-section{padding-block:clamp(68px,7.2vw,96px)!important}
.fy-heading{gap:clamp(22px,4vw,56px);margin-bottom:34px}
.fy-heading h2,.fy-about h2,.fy-contact h2{letter-spacing:-.035em}
.fy-heading>p,.fy-lead{color:var(--fy-ux-muted);line-height:1.72}
.fy-kicker{letter-spacing:.075em!important;font-size:.76rem!important}

/* Hero */
.fy-hero--approved{overflow:hidden;border-bottom:1px solid var(--fy-ux-line)}
.fy-hero--approved .fy-hero__grid{gap:clamp(34px,5vw,72px)!important;padding-block:clamp(48px,6vw,76px)!important}
.fy-hero--approved h1{font-size:clamp(2.7rem,5.2vw,4.9rem)!important;line-height:.98!important;max-width:13ch!important}
.fy-hero__lead{line-height:1.72!important;max-width:60ch!important}
.fy-actions{gap:12px!important;flex-wrap:wrap}
.fy-button,.button{border-radius:9px!important;min-height:48px!important;padding-inline:20px!important;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease!important}
.fy-button:hover,.button:hover{transform:translateY(-1px)}
.fy-button--accent{box-shadow:0 8px 20px color-mix(in srgb,var(--fy-primary,#1d2358) 18%,transparent)!important}
.fy-hero--approved .fy-hero__visual{border-radius:var(--fy-ux-radius-lg);box-shadow:var(--fy-ux-shadow-lg);min-height:500px!important}
.fy-hero--approved .fy-hero__visual>img{border-radius:var(--fy-ux-radius-lg)!important}
.fy-hero--approved .fy-hero__brief{border-radius:12px!important;box-shadow:var(--fy-ux-shadow)!important}
.fy-hero__proofs{row-gap:10px!important}
.fy-hero__proofs li{border-radius:10px!important}

/* Credenciales */
.fy-credentials{border-block:1px solid var(--fy-ux-line)}
.fy-credentials__grid{border-radius:var(--fy-ux-radius);overflow:hidden;background:#fff}
.fy-credentials__metric strong{letter-spacing:-.04em}
.fy-credential-link{transition:background-color .18s ease,transform .18s ease}
.fy-credential-link:hover{background:#f7faf8;transform:translateY(-1px)}

/* Tarjetas y bloques */
.fy-service,.fy-values article,.fy-team article,.fy-press article,.fy-experience__stat-card,.fy-procurement-card,.fy-coverage-v2__card{border-radius:var(--fy-ux-radius)!important;box-shadow:0 8px 24px rgba(17,24,39,.045)!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}
.fy-service:hover,.fy-team article:hover,.fy-press article:hover,.fy-experience__stat-card:hover,.fy-procurement-card:hover,.fy-coverage-v2__card:hover{transform:translateY(-3px);box-shadow:var(--fy-ux-shadow)!important}
.fy-service h3,.fy-values h3,.fy-team h3{letter-spacing:-.02em}
.fy-services{gap:18px!important}
.fy-service{padding-inline:18px!important}

/* Nosotros */
.fy-about{gap:clamp(34px,5vw,68px)!important}
.fy-about__image{border-radius:var(--fy-ux-radius-lg)!important;box-shadow:var(--fy-ux-shadow);overflow:hidden}
.fy-about__image>img{min-height:480px;object-fit:cover}
.fy-about__image>div{left:20px!important;right:20px!important;bottom:20px!important;border-radius:11px!important;padding:18px 20px!important}
.fy-values{gap:14px!important}
.fy-values article{padding:20px!important;border:1px solid var(--fy-ux-line);background:#fff}

/* Experiencia y cobertura */
.fy-experience__layout{gap:20px!important}
.fy-experience__stat-card,.fy-procurement-card{padding:26px!important}
.fy-procurement-card__media{border-radius:10px!important}
.fy-coverage-v2{border-radius:var(--fy-ux-radius-lg)!important;border-color:var(--fy-ux-line)!important;box-shadow:var(--fy-ux-shadow)}
.fy-coverage-v2__image-wrap{border-radius:var(--fy-ux-radius-lg)!important}
.fy-coverage-v2__badge{border-radius:12px!important}

/* Metodología / modales */
.fy-process-modal__dialog,.fy-map-modal__dialog{border-radius:var(--fy-ux-radius-lg)!important;box-shadow:0 34px 100px rgba(0,0,0,.34)!important}
.fy-process-modal__close,.fy-map-modal__close{transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.fy-process-modal__close:hover,.fy-map-modal__close:hover{transform:rotate(2deg)}

/* Contacto */
.fy-contact{background:linear-gradient(180deg,#f8fafc,#fff)!important;color:var(--fy-ink)!important;border-top:1px solid var(--fy-ux-line)!important}
.fy-contact__grid{gap:clamp(30px,5vw,64px)!important}
.fy-contact__copy{padding-top:6px}
.fy-contact__copy>p:not(.fy-kicker){font-size:1rem!important;line-height:1.72!important}
.fy-contact dl>div{padding-block:13px!important}
.fy-contact__form{border-radius:var(--fy-ux-radius)!important;border-top-width:1px!important;padding:clamp(22px,3vw,34px)!important;box-shadow:var(--fy-ux-shadow)!important}
.fy-contact__form input,.fy-contact__form select,.fy-contact__form textarea{width:100%;border-radius:8px!important;border:1px solid #cbd5df!important;min-height:46px;padding:11px 12px!important;transition:border-color .18s ease,box-shadow .18s ease}
.fy-contact__form textarea{min-height:150px;resize:vertical}
.fy-contact__form input:hover,.fy-contact__form select:hover,.fy-contact__form textarea:hover{border-color:#aab7c4!important}
.fy-contact__form input:focus,.fy-contact__form select:focus,.fy-contact__form textarea:focus{border-color:var(--fy-primary)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--fy-primary) 12%,transparent)!important;outline:0}
.fy-contact__form button[disabled]{opacity:.68;cursor:wait;transform:none!important}
.fy-form-status:not(:empty){margin-top:12px;padding:11px 13px;border-radius:8px;background:#f4f7fb;border:1px solid var(--fy-ux-line)}
.fy-consent{align-items:flex-start!important}
.fy-consent input{width:18px!important;min-height:18px!important;margin-top:3px}

/* Centro de ayuda */
.fy-help-launcher{right:18px!important;bottom:18px!important;border-radius:999px!important;box-shadow:0 12px 32px rgba(29,35,88,.22)!important;padding:11px 16px!important}
.fy-help{right:18px!important;bottom:76px!important;width:min(410px,calc(100vw - 36px))!important;border-radius:var(--fy-ux-radius)!important;box-shadow:0 26px 70px rgba(17,24,39,.2)!important;overflow:hidden}
.fy-help__quick{gap:8px!important}
.fy-help__quick button{border-radius:8px!important}
.fy-help__form input{border-radius:8px 0 0 8px!important}
.fy-help__form button{border-radius:0 8px 8px 0!important}

/* Pie */
.fy-footer--unified{padding-top:48px!important}
.fy-footer__logo-badge{border-radius:10px!important}
.fy-footer__grid{gap:clamp(28px,4vw,54px)!important}
.fy-footer__grid a,.fy-footer__address{line-height:1.45}
.fy-footer__social a{transition:transform .18s ease,background-color .18s ease}
.fy-footer__social a:hover{transform:translateY(-2px);background:rgba(255,255,255,.08)}

/* Páginas públicas antiguas: prensa, postulaciones y páginas legales */
.press-page,.career-page,.legal-public-page,.press-article-page{background:#fff;color:#202938}
.site-header.site-header--solid,.legal-public-page .site-header{position:sticky!important;top:0;z-index:80;background:rgba(255,255,255,.97)!important;backdrop-filter:blur(12px);box-shadow:0 8px 24px rgba(17,24,39,.05)}
.site-header__inner{min-height:78px!important;height:auto!important;padding-block:10px}
.brand img{max-height:50px!important;width:auto!important}
.page-nav{align-items:center;gap:4px!important}
.page-nav>a:not(.button){border-radius:8px;padding:9px 10px!important}
.page-nav>a:not(.button):hover{background:#f4f7fb}
.press-hero__content,.career-hero__content,.legal-page,.press-article__body,.application-form,.application-guidance,.press-card{border-radius:var(--fy-ux-radius)!important}
.press-card,.application-form,.application-guidance,.legal-page{box-shadow:0 8px 26px rgba(17,24,39,.05)}
.press-card:hover{transform:translateY(-3px);box-shadow:var(--fy-ux-shadow)}
.press-card img,.press-article__image img{border-radius:10px}

@media(max-width:980px){
  html{scroll-padding-top:80px}
  :where(section[id]){scroll-margin-top:80px}
  .fy-header__inner{min-height:70px}
  .fy-nav{position:fixed!important;inset:70px 14px auto 14px!important;max-height:calc(100vh - 86px);overflow:auto;padding:12px!important;border:1px solid var(--fy-ux-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 24px 70px rgba(17,24,39,.18)!important}
  .fy-nav:not(.is-open){display:none!important}
  .fy-nav.is-open{display:block!important}
  .fy-nav ul{display:grid!important;gap:4px!important}
  .fy-nav a{display:block!important;padding:12px 13px!important}
  .fy-nav a::after{display:none}
  .fy-nav__access{text-align:center;margin-top:6px}
  .fy-hero--approved .fy-hero__grid{grid-template-columns:1fr!important}
  .fy-hero--approved .fy-hero__visual{min-height:440px!important}
  .fy-about__image>img{min-height:390px}
}
@media(max-width:720px){
  .fy-container{width:min(calc(100% - 28px),var(--fy-ux-max))!important}
  .fy-section{padding-block:58px!important}
  .fy-utility{display:none!important}
  .fy-header{top:0}
  .fy-header__inner{min-height:66px;padding-block:8px}
  .fy-brand img{max-height:44px}
  .fy-nav{inset:66px 10px auto 10px!important}
  .fy-hero--approved .fy-hero__grid{padding-block:38px 48px!important}
  .fy-hero--approved h1{font-size:clamp(2.35rem,11vw,3.55rem)!important}
  .fy-hero--approved .fy-hero__visual{min-height:390px!important;border-radius:14px}
  .fy-hero--approved .fy-hero__brief{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;width:auto!important;margin:16px!important;padding:20px!important}
  .fy-hero__proofs{display:grid!important;grid-template-columns:1fr!important}
  .fy-hero__proofs li{border-right:0!important;border-bottom:1px solid var(--fy-ux-line)!important;padding:10px 0!important;border-radius:0!important;background:transparent!important}
  .fy-hero__proofs li:last-child{border-bottom:0!important}
  .fy-about__image>img{min-height:330px}
  .fy-contact__grid{grid-template-columns:1fr!important}
  .fy-form-grid{grid-template-columns:1fr!important}
  .fy-footer--unified .fy-footer__grid{grid-template-columns:1fr 1fr!important}
  .fy-help-launcher{right:12px!important;bottom:12px!important}
  .fy-help{right:12px!important;bottom:68px!important;width:calc(100vw - 24px)!important;max-height:calc(100vh - 90px);overflow:auto}
  .site-header__inner{min-height:66px!important;align-items:center}
  .page-nav{flex-wrap:wrap;justify-content:flex-end}
}
@media(max-width:520px){
  .fy-actions .fy-button{width:100%}
  .fy-footer--unified .fy-footer__grid{grid-template-columns:1fr!important}
  .fy-footer__bottom{display:grid!important;gap:8px!important}
  .page-nav{font-size:.82rem;gap:2px!important}
  .page-nav>a:not(.button){padding:7px 8px!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
/* Sala de Prensa 3.3.0: estado de sincronización real */
.press-update-note__next{display:inline;margin-left:.25rem;color:var(--fy-muted,#66727d);font-size:.92em;font-weight:500}
@media(max-width:600px){.press-update-note__next{display:block;margin:.25rem 0 0}}


/* ========================================================================
   Fortunato Portal Integral 3.3.0
   Cabecera corporativa, responsive ampliado y microinteracciones sobrias.
   ======================================================================== */
:root{
  --fy-header-breakpoint:1240px;
  --fy-header-shadow:0 14px 38px rgba(15,23,42,.09);
  --fy-header-line:rgba(29,20,77,.10);
}
.fy-utility{background:linear-gradient(90deg,var(--fy-primary-deep,#120d36),color-mix(in srgb,var(--fy-primary,#1d144d) 82%,#0a2740));border-bottom:1px solid rgba(255,255,255,.08)}
.fy-utility__inner{min-height:34px!important;font-size:.78rem;letter-spacing:.01em}
.fy-utility a{opacity:.94}.fy-utility a:hover{opacity:1}
.fy-header{border-bottom:1px solid var(--fy-header-line)!important;box-shadow:0 4px 18px rgba(15,23,42,.035);isolation:isolate}
.fy-header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,transparent 3%,color-mix(in srgb,var(--fy-accent,#3f8246) 72%,transparent) 24%,transparent 58%);opacity:.42;pointer-events:none}
.fy-header.is-scrolled{box-shadow:var(--fy-header-shadow)!important}
.fy-header__inner{min-height:76px!important;gap:22px!important}
.fy-brand{display:flex!important;align-items:center;flex:0 0 auto;width:auto!important;max-width:230px}
.fy-brand img{width:auto!important;max-width:230px!important;max-height:48px!important;object-fit:contain}
.fy-nav{margin-left:auto;min-width:0}
.fy-nav ul{display:flex;flex-wrap:nowrap!important;justify-content:flex-end;gap:2px!important}
.fy-nav__item{flex:0 0 auto;min-width:0}
.fy-nav a{white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;font-size:.86rem!important;font-weight:650!important;letter-spacing:-.005em;padding:10px 9px!important}
.fy-nav a:not(.fy-nav__access)::after{left:9px!important;right:9px!important;bottom:4px!important;height:2px!important;border-radius:999px}
.fy-nav__link--contact{border:1px solid color-mix(in srgb,var(--fy-primary,#1d144d) 18%,transparent)!important;background:color-mix(in srgb,var(--fy-primary,#1d144d) 3%,#fff)!important;margin-left:3px}
.fy-nav__link--contact:hover,.fy-nav__link--contact:focus-visible{background:color-mix(in srgb,var(--fy-primary,#1d144d) 7%,#fff)!important}
.fy-nav__access{margin-left:5px!important;border:1px solid var(--fy-primary,#1d144d)!important;box-shadow:0 8px 22px rgba(29,20,77,.12)!important;white-space:nowrap!important}
.fy-nav__link.is-active,.fy-nav__link[aria-current="location"]{color:var(--fy-primary-deep,#120d36)!important;background:color-mix(in srgb,var(--fy-accent,#3f8246) 8%,#fff)!important}
.fy-nav__link.is-active::after,.fy-nav__link[aria-current="location"]::after{transform:scaleX(1)!important}

/* Más profundidad visual sin sacrificar sobriedad institucional. */
.fy-hero--approved{position:relative;background:linear-gradient(138deg,var(--fy-primary,#1d144d) 0%,var(--fy-primary-deep,#120d36) 64%,color-mix(in srgb,var(--fy-primary-deep,#120d36) 86%,#071d2b) 100%)!important}
.fy-hero--approved::before{content:"";position:absolute;width:520px;height:520px;left:-210px;top:-250px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fy-accent,#3f8246) 22%,transparent),transparent 68%);pointer-events:none}
.fy-hero--approved::after{content:"";position:absolute;width:440px;height:440px;right:-190px;bottom:-250px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 54px rgba(255,255,255,.018),0 0 0 108px rgba(255,255,255,.012);pointer-events:none}
.fy-hero--approved .fy-container{position:relative;z-index:1}
.fy-hero--approved .fy-hero__visual{overflow:hidden}
.fy-hero--approved .fy-hero__visual>img{transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.fy-hero--approved .fy-hero__visual:hover>img{transform:scale(1.018);filter:saturate(1.03) contrast(1.01)}
.fy-service{overflow:hidden}
.fy-service::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--fy-accent,#3f8246);transform:scaleY(.18);transform-origin:top;transition:transform .25s ease}
.fy-service:hover::before{transform:scaleY(1)}
.fy-section--surface{background:linear-gradient(180deg,color-mix(in srgb,var(--fy-surface,#f7f9f7) 88%,#fff),#fff)!important}
.fy-credentials__metric strong{background:linear-gradient(135deg,var(--fy-primary-deep,#120d36),var(--fy-accent,#3f8246));-webkit-background-clip:text;background-clip:text;color:transparent}
[data-reveal]{transition-duration:.62s!important;transition-timing-function:cubic-bezier(.2,.72,.24,1)!important}

@media(max-width:1240px){
  html{scroll-padding-top:82px}
  :where(section[id]){scroll-margin-top:82px}
  .fy-header__inner{min-height:70px!important;padding-block:8px!important}
  .fy-brand{max-width:218px}.fy-brand img{max-width:218px!important;max-height:44px!important}
  .fy-nav-toggle{display:grid!important;place-content:center;flex:0 0 46px;margin-left:auto;z-index:92}
  .fy-nav-toggle span:not(.fy-sr-only){width:22px;margin:3px auto!important;transform-origin:center}
  .fy-nav-toggle[aria-expanded="true"] span:not(.fy-sr-only):nth-child(1){transform:translateY(8px) rotate(45deg)}
  .fy-nav-toggle[aria-expanded="true"] span:not(.fy-sr-only):nth-child(2){opacity:0}
  .fy-nav-toggle[aria-expanded="true"] span:not(.fy-sr-only):nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .fy-nav{position:fixed!important;top:74px!important;left:50%!important;right:auto!important;bottom:auto!important;transform:translateX(-50%);width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 90px);overflow:auto;padding:12px!important;border:1px solid var(--fy-ux-line)!important;border-radius:16px!important;background:rgba(255,255,255,.985)!important;box-shadow:0 28px 80px rgba(15,23,42,.20)!important;backdrop-filter:blur(16px);z-index:90}
  .fy-nav:not(.is-open){display:none!important}.fy-nav.is-open{display:block!important;animation:fyMenuIn .18s ease-out both}
  .fy-nav ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px!important}
  .fy-nav__item{min-width:0}
  .fy-nav a{display:flex!important;align-items:center;min-height:46px;padding:12px 14px!important;border-radius:10px!important;white-space:normal!important;font-size:.93rem!important}
  .fy-nav a::after{display:none!important}
  .fy-nav__link--contact{margin-left:0!important}
  .fy-nav__item--access{grid-column:1/-1}
  .fy-nav__access{justify-content:center;margin:5px 0 0!important}
  body.fy-nav-is-open::after{content:"";position:fixed;inset:0;background:rgba(12,18,32,.20);backdrop-filter:blur(2px);z-index:70;pointer-events:none}
}
@media(min-width:1241px){.fy-nav-toggle{display:none!important}.fy-nav{display:block!important}}
@media(max-width:720px){
  .fy-nav{top:66px!important;width:calc(100vw - 20px);max-height:calc(100dvh - 78px);border-radius:14px!important}
  .fy-nav ul{grid-template-columns:1fr!important}
  .fy-nav__item--access{grid-column:auto}
  .fy-nav a{min-height:48px;font-size:.96rem!important}
}
@keyframes fyMenuIn{from{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%,0)}}

/* Cabecera coherente en páginas interiores: menú CMS y respuesta táctil 3.3.0. */
.site-header .site-header__inner{position:relative}
.site-header .secondary-nav{margin-left:auto}
.site-header .secondary-nav>ul{flex-wrap:nowrap!important;gap:2px!important}
.site-header .secondary-nav .menu-link{white-space:nowrap!important;font-size:.86rem;padding:10px 9px}
.site-header .secondary-nav .menu-access{white-space:nowrap}
.site-header .nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.site-header .nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.site-header .nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:1240px){
  .site-header .nav-toggle{display:flex!important;margin-left:auto;z-index:102}
  .site-header .main-nav{position:absolute!important;top:100%!important;left:0!important;right:0!important;max-height:calc(100dvh - 78px);overflow:auto;padding:12px 16px 16px!important;background:rgba(255,255,255,.99);border-bottom:1px solid var(--fy-ux-line);box-shadow:0 24px 55px rgba(15,23,42,.16);opacity:0;visibility:hidden;transform:translateY(-7px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:100}
  .site-header .main-nav.is-open{opacity:1;visibility:visible;transform:none}
  .site-header .main-nav>ul{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch!important;gap:5px!important}
  .site-header .secondary-nav .menu-item{min-width:0}
  .site-header .secondary-nav .menu-link,.site-header .secondary-nav .menu-access{display:flex!important;align-items:center;min-height:46px;padding:11px 13px!important;border:1px solid #edf0f4;border-radius:10px!important;background:#fff;white-space:normal!important}
  .site-header .secondary-nav .menu-item--action{grid-column:1/-1;margin:0!important}
  .site-header .secondary-nav .menu-access{justify-content:center;border-color:var(--fy-primary,#1d144d)!important}
}
@media(max-width:620px){
  .site-header .main-nav{padding:9px!important}
  .site-header .main-nav>ul{grid-template-columns:1fr!important}
  .site-header .secondary-nav .menu-item--action{grid-column:auto}
  .site-header .brand{width:min(205px,64vw)!important}
}
/* CTA de acceso visible en menús secundarios adaptables. */
@media(max-width:1240px){
  .site-header .secondary-nav .menu-access{background:var(--fy-primary,#1d144d)!important;color:#fff!important;border-color:var(--fy-primary,#1d144d)!important;box-shadow:0 8px 22px rgba(29,20,77,.12)}
  .site-header .secondary-nav .menu-access:hover,.site-header .secondary-nav .menu-access:focus-visible{background:var(--fy-primary-deep,#120d36)!important;color:#fff!important}
}

/* ========================================================================
   Fortunato Portal Integral 3.4.0
   Hero corporativo claro, más legible y con mejor jerarquía visual.
   ======================================================================== */
.fy-hero--approved{
  position:relative;
  background:
    radial-gradient(700px 320px at -8% -18%, rgba(63,130,70,.10), transparent 58%),
    radial-gradient(620px 300px at 108% 8%, rgba(29,20,77,.08), transparent 58%),
    linear-gradient(180deg,#fbfcfe 0%,#f5f8fb 58%,#ffffff 100%) !important;
  color:#17212b !important;
  border-bottom:1px solid #e6ebf1 !important;
}
.fy-hero--approved::before,
.fy-hero--approved::after{pointer-events:none}
.fy-hero--approved::before{
  content:"";
  position:absolute;
  inset:auto auto -140px -120px;
  width:360px;
  height:360px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(63,130,70,.10), rgba(63,130,70,0) 68%);
}
.fy-hero--approved::after{
  content:"";
  position:absolute;
  top:58px;
  right:-120px;
  width:300px;
  height:300px;
  border-radius:50%;
  border:1px solid rgba(29,20,77,.06);
  box-shadow:0 0 0 46px rgba(29,20,77,.025),0 0 0 92px rgba(29,20,77,.015);
}
.fy-hero--approved .fy-hero__grid{
  align-items:center !important;
  grid-template-columns:minmax(360px,.98fr) minmax(520px,1.1fr) !important;
  gap:clamp(34px,4.5vw,64px) !important;
  padding-block:clamp(56px,7vw,86px) !important;
}
.fy-hero--approved .fy-hero__content{
  position:relative;
  z-index:2;
  max-width:620px;
  padding:0 !important;
}
.fy-hero--approved .fy-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:16px;
  color:var(--fy-accent,#3f8246) !important;
  font-weight:800 !important;
  letter-spacing:.11em !important;
  text-transform:uppercase;
}
.fy-hero--approved .fy-kicker::before{
  content:"";
  width:44px;
  height:2px;
  border-radius:999px;
  background:color-mix(in srgb, var(--fy-accent,#3f8246) 72%, white);
}
.fy-hero--approved h1{
  color:#17213a !important;
  font-size:clamp(3rem,5vw,5rem) !important;
  line-height:.96 !important;
  letter-spacing:-.06em !important;
  max-width:11ch !important;
  margin:0;
  text-wrap:balance;
}
.fy-hero--approved .fy-hero__lead{
  margin-top:22px !important;
  color:#566273 !important;
  font-size:1.045rem !important;
  line-height:1.78 !important;
  max-width:58ch !important;
}
.fy-hero--approved .fy-actions{
  margin-top:30px !important;
  gap:14px !important;
}
.fy-hero--approved .fy-button--accent{
  background:linear-gradient(135deg,var(--fy-primary,#1d144d),var(--fy-primary-deep,#120d36)) !important;
  border-color:var(--fy-primary,#1d144d) !important;
  color:#fff !important;
  box-shadow:0 14px 28px rgba(29,20,77,.18) !important;
}
.fy-hero--approved .fy-button--accent:hover{
  box-shadow:0 18px 34px rgba(29,20,77,.22) !important;
}
.fy-hero--approved .fy-button--secondary{
  background:#fff !important;
  border:1px solid #ccd6e2 !important;
  color:#1a2340 !important;
  box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
}
.fy-hero--approved .fy-button--secondary:hover{
  border-color:#b6c3d2 !important;
  background:#f9fbfc !important;
}
.fy-hero--approved .fy-hero__proofs{
  margin-top:32px !important;
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:12px !important;
}
.fy-hero--approved .fy-hero__proofs li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  min-height:92px;
  padding:16px 16px 14px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid #e4eaf1 !important;
  border-right:1px solid #e4eaf1 !important;
  border-radius:14px !important;
  box-shadow:0 10px 26px rgba(15,23,42,.05);
  color:#324152 !important;
  font-size:.9rem !important;
  font-weight:700 !important;
}
.fy-hero--approved .fy-hero__proofs li:first-child{padding-left:16px !important}
.fy-hero--approved .fy-hero__proofs svg{
  flex:0 0 auto;
  width:22px;
  height:22px;
  color:var(--fy-accent,#3f8246);
}
.fy-hero-effect-diagonal-fade .fy-hero--approved .fy-hero__visual,
.fy-hero-effect-soft-fade .fy-hero--approved .fy-hero__visual,
.fy-hero-effect-clean .fy-hero--approved .fy-hero__visual,
.fy-hero--approved .fy-hero__visual{
  clip-path:none !important;
  position:relative;
  isolation:isolate;
  min-height:560px !important;
  overflow:hidden !important;
  border-radius:28px !important;
  box-shadow:0 28px 70px rgba(15,23,42,.16) !important;
  background:#e9eef4;
}
.fy-hero--approved .fy-hero__visual::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.12) 22%, rgba(255,255,255,0) 42%),
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(15,23,42,.06));
  z-index:1 !important;
}
.fy-hero--approved .fy-hero__visual::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.45);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
  z-index:2;
}
.fy-hero--approved .fy-hero__visual > img{
  position:absolute !important;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit !important;
  filter:saturate(1.01) contrast(1.02) brightness(1.01);
  transform:none !important;
}
.fy-hero--approved .fy-hero__visual:hover>img{
  transform:scale(1.012) !important;
}
.fy-hero--approved .fy-hero__brief{
  position:absolute;
  right:20px !important;
  top:20px !important;
  bottom:auto !important;
  left:auto !important;
  width:min(360px,44%) !important;
  padding:26px 26px 22px !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(205,214,226,.94) !important;
  border-radius:18px !important;
  box-shadow:0 22px 50px rgba(15,23,42,.14) !important;
  color:#162033 !important;
  backdrop-filter:blur(12px);
  z-index:3;
}
.fy-hero--approved .fy-hero__brief > p{
  margin:0 0 10px;
  color:var(--fy-accent,#3f8246) !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
}
.fy-hero--approved .fy-hero__brief h2{
  margin:0 0 12px;
  color:#1a2340 !important;
  font-size:clamp(1.55rem,2vw,2rem) !important;
  line-height:1.14 !important;
  letter-spacing:-.04em !important;
  text-wrap:balance;
}
.fy-hero--approved .fy-hero__brief ul{
  margin:0;
  padding-left:20px;
}
.fy-hero--approved .fy-hero__brief li{
  color:#4c5b6d !important;
  line-height:1.7 !important;
  margin:0 0 4px;
}
@media (max-width:1180px){
  .fy-hero--approved .fy-hero__grid{grid-template-columns:1fr 1fr !important;gap:28px !important}
  .fy-hero--approved h1{font-size:clamp(2.8rem,4.8vw,4.35rem) !important}
  .fy-hero--approved .fy-hero__proofs{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .fy-hero--approved .fy-hero__visual{min-height:510px !important}
  .fy-hero--approved .fy-hero__brief{width:min(340px,50%) !important}
}
@media (max-width:980px){
  .fy-hero--approved .fy-hero__grid{grid-template-columns:1fr !important;padding-block:46px 52px !important}
  .fy-hero--approved .fy-hero__content{max-width:none}
  .fy-hero--approved h1{max-width:12ch !important}
  .fy-hero--approved .fy-hero__proofs{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .fy-hero--approved .fy-hero__visual{min-height:470px !important}
}
@media (max-width:760px){
  .fy-hero--approved h1{font-size:clamp(2.4rem,10.5vw,3.6rem) !important;max-width:11ch !important}
  .fy-hero--approved .fy-hero__lead{font-size:1rem !important;line-height:1.7 !important}
  .fy-hero--approved .fy-actions{display:grid !important;grid-template-columns:1fr !important}
  .fy-hero--approved .fy-button{width:100%}
  .fy-hero--approved .fy-hero__proofs{grid-template-columns:1fr !important;gap:10px !important}
  .fy-hero--approved .fy-hero__proofs li{min-height:auto;padding:14px 14px 13px !important}
  .fy-hero--approved .fy-hero__visual{min-height:390px !important;border-radius:20px !important}
  .fy-hero--approved .fy-hero__brief{left:14px !important;right:14px !important;top:auto !important;bottom:14px !important;width:auto !important;padding:20px 20px 16px !important;border-radius:16px !important}
}

/* Formulario de contacto 3.4.3: estados inequívocos para el usuario. */
.fy-form-status[data-state="pending"]{background:#f4f7fb!important;border-color:#d9e2ec!important;color:#3f4d5e!important}
.fy-form-status[data-state="success"]{background:#eef8f0!important;border-color:#b9dec0!important;color:#255d31!important}
.fy-form-status[data-state="error"]{background:#fff3f2!important;border-color:#edc3bf!important;color:#8b2c24!important}

/* ========================================================================
   Fortunato Portal Integral 3.4.3 - retroalimentación y manejo de errores.
   ======================================================================== */
.fy-contact__form [aria-invalid="true"],
.application-form [aria-invalid="true"]{
  border-color:#b42318!important;
  box-shadow:0 0 0 3px rgba(180,35,24,.10)!important;
}
.fy-contact__form label.has-error,
.application-form .field.has-error,
.application-form label.has-error{
  color:#7a271a;
}
.fy-field-error,.field-error{
  display:block;
  width:100%;
  margin-top:7px;
  color:#b42318;
  font-size:.82rem;
  font-weight:650;
  line-height:1.42;
}
.fy-form-status,.form-status{
  min-height:0;
  line-height:1.5;
}
.fy-form-status:not(:empty),.form-status:not(:empty){
  margin-top:12px;
  padding:12px 14px;
  border:1px solid #d8e0ea;
  border-radius:10px;
  background:#f7f9fc;
  color:#334155;
}
.fy-form-status[data-state="pending"],.form-status[data-state="pending"]{
  border-color:#b8c8dc;
  background:#f3f7fb;
  color:#334155;
}
.fy-form-status[data-state="success"],.form-status[data-state="success"]{
  border-color:#a6d5b1;
  background:#f0f9f2;
  color:#1f5f2b;
}
.fy-form-status[data-state="error"],.form-status[data-state="error"]{
  border-color:#f0b8b3;
  background:#fff4f2;
  color:#8a1c13;
}
.fy-consent.has-error,.application-form .consent.has-error{
  padding:10px 12px;
  border:1px solid #f0b8b3;
  border-radius:9px;
  background:#fff8f7;
}
.application-form .secure-upload.has-error{
  border-color:#b42318!important;
  background:#fff8f7!important;
}
@media(max-width:720px){
  .fy-field-error,.field-error{font-size:.86rem}
  .fy-form-status:not(:empty),.form-status:not(:empty){padding:12px}
}
