/*
 * CGC | Creating Growth Capabilities — Componentes del tema (v0.3, sincronizado con la home final)
 * Se apoya en assets/css/tokens.css (--cgc-*). Convención: clases con prefijo cgc-.
 * Los bloques de WordPress solo llevan estas clases; textos, imágenes y enlaces se editan desde el editor.
 */

/* ---------- Base ---------- */
:root { --cgc-cg: clamp(56px, 5.5vw, 104px); --cgc-offwhite: #F7F9F9; --cgc-lineh: rgba(5,70,82,.22); }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; overflow-x: clip; }
img { max-width: 100%; height: auto; }
:focus-visible { outline: 2px solid var(--cgc-focus); outline-offset: 4px; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks { padding: 0; }
.cgc-wrap { padding-inline: var(--cgc-gutter); }
.cgc-bg-white { background: #fff; }
.cgc-bg-off { background: var(--cgc-offwhite); }
.cgc-label { font: var(--cgc-fw-regular) clamp(13.5px, .85vw, 16px)/1.4 var(--cgc-font-display); letter-spacing: var(--cgc-ls-label); text-transform: uppercase; color: var(--cgc-teal-dark); margin: 0; }
.cgc-hero .cgc-label { color: var(--cgc-sky); }
h1 em, h2 em { font-style: normal; font-weight: var(--cgc-fw-regular); }

/* Enlace de texto (estilo del bloque Botón «Enlace CGC») */
.wp-block-button.is-style-cgc-link .wp-block-button__link {
  display: inline-flex; align-items: center; gap: 12px; background: none; border: 0; border-bottom: 1px solid currentColor; border-radius: 0;
  padding: 0 0 8px; color: inherit; font: var(--cgc-fw-regular) clamp(14px, .95vw, 17px)/1 var(--cgc-font-display);
  letter-spacing: .22em; text-transform: uppercase; text-decoration: none; transition: gap var(--cgc-dur) var(--cgc-ease);
}
.wp-block-button.is-style-cgc-link .wp-block-button__link:hover { gap: 20px; background: none; }
.cgc-linkwrap { margin: 0; }
.cgc-reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s var(--cgc-ease), transform .9s var(--cgc-ease); }
.cgc-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Cabecera ---------- */
.cgc-header {
  position: fixed; inset: 0 0 auto 0; z-index: 60; display: flex; align-items: center; justify-content: flex-start; gap: clamp(70px, 9vw, 170px);
  height: var(--cgc-header-h); padding-inline: var(--cgc-gutter); border-bottom: 1px solid transparent;
  transition: background .4s, backdrop-filter .4s, border-color .4s, height .4s;
}
.admin-bar .cgc-header { top: 32px; }
.cgc-header.is-solid { background: var(--cgc-header-solid); backdrop-filter: blur(14px); border-color: rgba(255,255,255,.1); height: 76px; }
.cgc-brand { margin: 0; }
.cgc-brand img { height: 48px; width: auto; display: block; transition: height .4s; }
.cgc-header.is-solid .cgc-brand img { height: 40px; }
.cgc-nav, .cgc-nav a { color: #fff; }
.cgc-nav .wp-block-navigation__container { gap: clamp(10px, 2vw, 40px); }
.cgc-nav .wp-block-navigation-item__content { font: var(--cgc-fw-regular) 14.5px/1 var(--cgc-font-display); letter-spacing: .18em; text-transform: uppercase; padding: 12px 4px; position: relative; text-decoration: none; }
.cgc-nav .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 4px; right: 4px; bottom: 6px; height: 1px; background: var(--cgc-sky); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--cgc-ease); }
.cgc-nav .wp-block-navigation-item__content:hover::after, .cgc-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.cgc-nav .wp-block-navigation__submenu-icon { display: none; }
.cgc-nav .wp-block-navigation__submenu-container { background: rgba(2,30,36,.97) !important; border: 1px solid rgba(255,255,255,.12) !important; border-radius: 0; padding: 12px 0; min-width: 310px; }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 12px 26px; font-size: 12.5px; letter-spacing: .16em; }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
/* El menú móvil de WordPress se activa a 600 px; aquí se adelanta a 1040 px */
@media (max-width: 1040px) {
  .cgc-header { height: 76px; }
  .cgc-brand img { height: 40px; }
  .cgc-header .cgc-nav { margin-left: auto; }
  .cgc-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; color: #fff; }
  .cgc-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
  .cgc-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--cgc-ink) !important; color: #fff; padding: 100px var(--cgc-gutter) 40px; }
  .cgc-header .is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
  .cgc-header .is-menu-open .wp-block-navigation-item { border-bottom: 1px solid rgba(255,255,255,.14); width: 100%; }
  .cgc-header .is-menu-open .wp-block-navigation-item__content { font-size: 19px; letter-spacing: .14em; padding: 20px 0; }
  .cgc-header .is-menu-open .wp-block-navigation-item__content::after { display: none; }
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; border: 0 !important; padding: 0 0 14px 6px; min-width: 0; }
  .cgc-header .is-menu-open .wp-block-navigation__submenu-icon { display: block; }
}

/* ---------- Carruseles (cabecera y casos) ---------- */
.cgc-carousel { position: relative; overflow: hidden; background: var(--cgc-ink); color: #fff; padding: 0; margin: 0; }
.cgc-hero { height: min(86vh, 880px); min-height: 720px; }
.cgc-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.4s ease, visibility 0s 1.4s; margin: 0; }
.cgc-slide.is-on { opacity: 1; visibility: visible; transition: opacity 1.4s ease; }
.cgc-art { position: absolute; inset: 0; overflow: hidden; }
.cgc-art svg { width: 100%; height: 100%; display: block; }
.cgc-hero .cgc-slide .cgc-art { transform: translate3d(var(--px,0px), var(--py,0px), 0) scale(1.08); transition: transform .9s ease-out; }
.cgc-hero .cgc-slide::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, rgba(2,30,36,.94) 0%, rgba(2,30,36,.82) 34%, rgba(2,30,36,.35) 66%, rgba(2,30,36,.05) 100%), linear-gradient(0deg, rgba(2,30,36,.75), transparent 40%); }
.cgc-slide__txt { position: absolute; z-index: 2; left: var(--cgc-gutter); top: calc(50% + 36px); transform: translateY(-50%); width: min(66%, 1320px); text-shadow: 0 2px 24px rgba(2,30,36,.55); }
.cgc-slide__txt > * { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--cgc-ease), transform .9s var(--cgc-ease); }
.cgc-slide.is-on .cgc-slide__txt > * { opacity: 1; transform: none; }
.cgc-slide.is-on .cgc-slide__txt > :nth-child(1) { transition-delay: .35s; }
.cgc-slide.is-on .cgc-slide__txt > :nth-child(2) { transition-delay: .5s; }
.cgc-slide.is-on .cgc-slide__txt > :nth-child(3) { transition-delay: .65s; }
.cgc-slide.is-on .cgc-slide__txt > :nth-child(4) { transition-delay: .8s; }
.cgc-display { color: #fff; font-size: clamp(40px, 4vw, 78px); font-weight: 200; line-height: 1.1; letter-spacing: var(--cgc-ls-heading); margin: 22px 0 24px; max-width: none; }
.cgc-display em { color: var(--cgc-sky); }
.cgc-slide__txt p:not(.cgc-label) { font-size: clamp(21px, 1.6vw, 30px); color: #eef7f8; max-width: 46em; margin: 0 0 34px; }
.cgc-slide__txt .cgc-linkwrap a { color: #fff; }

/* Controles generados por JS: barras (cabecera) o puntos (casos) */
.cgc-ctrl { position: absolute; z-index: 5; left: var(--cgc-gutter); right: var(--cgc-gutter); bottom: clamp(24px, 4vh, 44px); display: flex; align-items: center; }
.cgc-dots { display: flex; gap: 10px; flex: 1; max-width: 520px; }
.cgc-dot { flex: 1; height: 26px; background: none; border: 0; cursor: pointer; position: relative; padding: 0; }
.cgc-dot::before { content: ""; position: absolute; left: 0; right: 0; top: 12px; height: 2px; background: rgba(255,255,255,.3); }
.cgc-dot i { position: absolute; left: 0; top: 12px; height: 2px; width: 0; background: var(--cgc-sky); }
.cgc-dot.is-on i { animation: cgc-fill var(--cgc-t, 7s) linear forwards; }
.cgc-dot.is-done i { width: 100%; }
.cgc-carousel.is-still .cgc-dot.is-on i { animation: none; width: 100%; }
@keyframes cgc-fill { to { width: 100%; } }
.cgc-carousel--points .cgc-dots { flex: none; max-width: none; gap: 6px; }
.cgc-carousel--points .cgc-dot { flex: none; width: 26px; }
.cgc-carousel--points .cgc-dot::before { left: 6px; right: 6px; top: 6px; bottom: 6px; height: auto; border-radius: 50%; border: 1.5px solid currentColor; background: transparent; }
.cgc-carousel--points .cgc-dot.is-on::before { background: currentColor; }
.cgc-carousel--points .cgc-dot i { display: none; }

/* Casos de éxito: fondo blanco roto, foto lateral a toda la altura (40 %) */
.cgc-story { height: min(88vh, 880px); min-height: 620px; }
.cgc-carousel--light { background: var(--cgc-offwhite); color: var(--cgc-ink); }
.cgc-carousel--light .cgc-ctrl { right: auto; color: var(--cgc-teal-deep); }
.cgc-carousel--light .cgc-slide__txt { top: 50%; right: calc(var(--cgc-panel-w) + 64px); width: auto; text-shadow: none; }
.cgc-panel { position: absolute !important; top: 0; bottom: 0; right: 0; width: var(--cgc-panel-w); min-height: 0 !important; padding: 0 !important; overflow: hidden; background: var(--cgc-ink); margin: 0; }
.cgc-panel img, .cgc-acard img, .cgc-ncard__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cgc-panel .wp-block-cover__inner-container { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 56px 24px 22px; background: linear-gradient(0deg, rgba(2,30,36,.9), transparent); }
.cgc-panel__ctx { color: #fff; font: 400 17px var(--cgc-font-display); margin: 0; }
.cgc-panel__kicker { display: block; font: 400 10.5px var(--cgc-font-display); letter-spacing: .24em; text-transform: uppercase; color: var(--cgc-sky); margin: 0 0 3px; }
.cgc-ct { color: var(--cgc-teal-deep); font-size: clamp(34px, 3.6vw, 70px); font-weight: 300; line-height: 1.12; margin: 16px 0 0; max-width: none; }
.cgc-result { margin-top: clamp(20px, 3vh, 32px); padding-top: 20px; border-top: 1px solid var(--cgc-line); }
.cgc-result__label { display: flex; align-items: center; gap: 12px; font: 400 clamp(12px, .8vw, 15px) var(--cgc-font-display); letter-spacing: .28em; text-transform: uppercase; color: var(--cgc-teal-bright); margin: 0 0 12px; }
.cgc-result__label::before { content: ""; width: 28px; height: 1px; background: var(--cgc-teal-bright); }
.cgc-carousel--light .cgc-slide__txt .cgc-result__text { font: 300 clamp(26px, 2.4vw, 46px)/1.3 var(--cgc-font-display); color: var(--cgc-teal-deep); margin: 0; max-width: none; }
.cgc-carousel--light .cgc-slide__txt .cgc-desc { font-size: clamp(20px, 1.5vw, 29px); line-height: 1.55; color: var(--cgc-muted); max-width: 54em; margin: 22px 0 0; }
.cgc-carousel--light .cgc-slide__txt .cgc-label { color: var(--cgc-teal-dark); }

/* ---------- Creating · Growth · Capabilities ---------- */
.cgc-words { display: grid; grid-template-columns: repeat(3, 1fr); background: var(--cgc-offwhite); margin: 0; padding: 0 var(--cgc-gutter); }
.cgc-word { position: relative; padding: clamp(40px, 4.4vw, 72px) clamp(24px, 3vw, 56px); transition: background .5s var(--cgc-ease); margin: 0; }
.cgc-word:first-child { padding-left: 0; }
.cgc-word:not(:first-child) { border-left: 1px solid transparent; border-image: linear-gradient(180deg, rgba(5,70,82,0), rgba(5,70,82,.34) 22%, rgba(5,70,82,.34) 78%, rgba(5,70,82,0)) 1; }
.cgc-word:hover { background: rgba(255,255,255,.4); }
.cgc-word__t { font: 200 clamp(34px, 4.2vw, 66px)/1 var(--cgc-font-display); letter-spacing: -.025em; color: var(--cgc-teal-deep); margin: 0 0 clamp(16px, 2vw, 28px); white-space: nowrap; }
.cgc-word p:not(.cgc-word__t) { color: var(--cgc-muted); font-size: clamp(18px, 1.2vw, 21px); line-height: 1.55; max-width: 22em; margin: 0; }

/* ---------- Servicios: cuatro tarjetas fijas ---------- */
.cgc-services { background: #fff; padding: clamp(52px, 6vw, 88px) 0 clamp(70px, 9vw, 120px); }
.cgc-rail-head { display: flex; flex-direction: column; gap: 18px; margin-bottom: clamp(36px, 5vw, 64px); padding-inline: var(--cgc-gutter); }
.cgc-rail-head > * { margin: 0; }
.cgc-rail-head h2 { max-width: none; font-size: var(--cgc-fs-h2); }
.cgc-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; padding-inline: var(--cgc-gutter); }
.cgc-acard { position: relative; aspect-ratio: 3 / 4.7; color: #fff; overflow: hidden; background: var(--cgc-ink); display: flex !important; align-items: flex-end !important; padding: 34px 30px !important; min-height: 0 !important; margin: 0; }
.cgc-acard::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(2,30,36,.98) 0%, rgba(2,30,36,.92) 40%, rgba(2,30,36,.4) 66%, rgba(2,30,36,.05) 100%); }
.cgc-acard .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; padding: 0; }
.cgc-acard img { transition: transform 1.2s var(--cgc-ease); filter: saturate(.7) contrast(1.05); }
.cgc-acard:hover img { transform: scale(1.06); }
.cgc-acard h3 { color: #fff; font-size: clamp(26px, 1.9vw, 32px); font-weight: 300; margin: 0 0 12px; text-shadow: 0 1px 18px rgba(2,30,36,.6); }
.cgc-acard h3 a { color: inherit; text-decoration: none; }
.cgc-acard h3 a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.cgc-acard p { color: #eaf4f6; font-size: clamp(17px, 1.15vw, 20px); line-height: 1.5; margin: 0 0 18px; }
.cgc-acard .cgc-linkwrap a { color: #fff; font-size: 12.5px; }

/* ---------- Sobre CGC ---------- */
.cgc-about { position: relative; background: #fff; padding: clamp(80px, 9vw, 130px) var(--cgc-gutter) clamp(40px, 5vw, 72px); }
.cgc-about::after { content: ""; position: absolute; left: var(--cgc-gutter); right: var(--cgc-gutter); bottom: 0; height: 1px; background: var(--cgc-line); }
.cgc-about__top { display: grid; grid-template-columns: .95fr 1.05fr; gap: clamp(30px, 5vw, 96px); align-items: center; }
.cgc-about__photo { margin: 0; }
.cgc-about__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.cgc-about__copy h2 { margin: 16px 0 22px; max-width: none; }
.cgc-about__copy p:not(.cgc-label) { color: var(--cgc-muted); max-width: 36em; margin: 0 0 32px; font-size: clamp(20px, 1.45vw, 25px); }
.cgc-about__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(28px, 3.4vw, 64px); margin-top: clamp(56px, 6vw, 96px); }
.cgc-about__col { position: relative; padding-top: 30px; margin: 0; }
.cgc-about__col::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--cgc-gradient); }
.cgc-about__col h3 { font-size: clamp(24px, 1.9vw, 32px); font-weight: 400; margin: 0 0 14px; }
.cgc-about__col p { color: var(--cgc-muted); font-size: clamp(18px, 1.3vw, 22px); line-height: 1.6; margin: 0; }

/* ---------- Actualidad ---------- */
.cgc-news { background: #fff; padding: clamp(20px, 3vw, 44px) 0 0; }
.cgc-rail { display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: var(--cgc-gutter); padding: 0; scroll-padding-inline: 0; list-style: none; }
.cgc-rail::-webkit-scrollbar { display: none; }
.cgc-rail > * { scroll-snap-align: start; flex: none; margin: 0; width: min(380px, 78vw); }
.cgc-prog { height: 1px; background: var(--cgc-stone); margin: 34px var(--cgc-gutter) 0; position: relative; cursor: pointer; }
.cgc-prog::before { content: ""; position: absolute; inset: -16px 0; }
.cgc-prog i { position: absolute; left: 0; top: -1px; height: 3px; background: var(--cgc-teal-bright); width: 25%; transition: left .2s, width .2s; }
.cgc-ncard { position: relative; margin: 0; }
.cgc-ncard__img { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: var(--cgc-ink); min-height: 0 !important; padding: 0 !important; margin: 0; }
.cgc-ncard__img::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(2,30,36,.6), transparent 30%); }
.cgc-ncard__img img { transition: transform 1.2s var(--cgc-ease); filter: saturate(.7) contrast(1.05); }
.cgc-ncard:hover .cgc-ncard__img img { transform: scale(1.06); }
.cgc-ncard__img .wp-block-cover__inner-container { position: absolute; z-index: 2; top: 24px; left: 24px; right: 24px; width: auto; padding: 0; }
.cgc-ncard__cat { font: 300 12.5px var(--cgc-font-display); letter-spacing: .22em; text-transform: uppercase; color: #fff; margin: 0; }
.cgc-ncard h3 { font-size: clamp(27px, 1.9vw, 32px); font-weight: 300; line-height: 1.2; margin: 24px 0 10px; }
.cgc-ncard h3 a { color: inherit; text-decoration: none; }
.cgc-ncard h3 a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.cgc-ncard:hover h3 a { color: var(--cgc-teal-bright); }
.cgc-ncard p { color: var(--cgc-muted); font-size: clamp(17px, 1.15vw, 20px); margin: 0 0 16px; }
/* Versión dinámica (últimas entradas) */
.cgc-newsq .wp-block-post-template { list-style: none; margin-block: 0; margin-inline: var(--cgc-gutter); padding: 0; display: flex; gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.cgc-newsq .wp-block-post-template::-webkit-scrollbar { display: none; }
.cgc-newsq .wp-block-post-template > li { flex: none; scroll-snap-align: start; width: min(380px, 78vw); margin: 0; }
.cgc-newsq .cgc-ncard { width: 100%; }
.cgc-newsq .wp-block-post-featured-image { aspect-ratio: 3 / 4; overflow: hidden; margin: 0; background: var(--cgc-ink); position: relative; }
.cgc-newsq .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.05); transition: transform 1.2s var(--cgc-ease); }
.cgc-newsq .cgc-ncard:hover img { transform: scale(1.06); }
.cgc-newsq .cgc-ncard__cat { position: absolute; top: 24px; left: 24px; z-index: 2; margin: 0; }
.cgc-newsq .cgc-ncard__cat a { color: #fff; text-decoration: none; font: 300 12.5px var(--cgc-font-display); letter-spacing: .22em; text-transform: uppercase; text-shadow: 0 1px 10px rgba(2,30,36,.8); }
.cgc-newsq .wp-block-post-title { font-size: clamp(27px, 1.9vw, 32px); font-weight: 300; line-height: 1.2; margin: 24px 0 10px; }
.cgc-newsq .wp-block-post-title a { color: inherit; text-decoration: none; }
.cgc-newsq .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 3; }
.cgc-newsq .wp-block-post-excerpt { color: var(--cgc-muted); font-size: clamp(17px, 1.15vw, 20px); }
.cgc-newsq .wp-block-post-excerpt__more-link { display: none; }

/* ---------- Carreras profesionales ---------- */
.cgc-careers { position: relative; min-height: min(88vh, 880px); display: flex; align-items: center; background: #fff; overflow: hidden; padding: 0; margin: 0; }
.cgc-careers .cgc-panel { z-index: 0; top: var(--cgc-cg); bottom: var(--cgc-cg); right: var(--cgc-gutter); }
.cgc-careers__txt { padding: calc(var(--cgc-cg) + 40px) calc(var(--cgc-panel-w) + var(--cgc-gutter) + 64px) calc(var(--cgc-cg) + 40px) var(--cgc-gutter); position: relative; z-index: 1; }
.cgc-careers h2 { margin: 18px 0 22px; max-width: none; white-space: nowrap; font-size: clamp(44px, 4.6vw, 92px); }
.cgc-careers__txt p:not(.cgc-label) { color: var(--cgc-muted); max-width: 40em; margin: 0 0 32px; font-size: clamp(22px, 1.65vw, 32px); }
.cgc-careers .cgc-label { font-size: clamp(14px, .9vw, 17px); }

/* ---------- Pie ---------- */
.cgc-footer { background: var(--cgc-ink); color: #b9d0d4; padding: 90px var(--cgc-gutter) 34px; font-size: clamp(16px, 1.1vw, 19px); }
.cgc-footer a { color: inherit; text-decoration: none; }
.cgc-footer a:hover { color: #fff; }
.cgc-footer__grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: 50px; }
.cgc-footer h4 { font: 400 12px var(--cgc-font-display); letter-spacing: .26em; text-transform: uppercase; color: var(--cgc-sky); margin: 0 0 18px; }
.cgc-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 9px; }
.cgc-footer .cgc-brand img { height: 84px; margin-bottom: 20px; }
.cgc-footer__info { margin-top: 18px; font-size: 15px; display: grid; gap: 4px; }
.cgc-footer__info p { margin: 0; }
.cgc-footer__legal { border-top: 1px solid rgba(255,255,255,.14); margin-top: 60px; padding-top: 24px; font-size: 14px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.cgc-footer__legal p { margin: 0; }

/* ---------- Responsive ---------- */
@media (max-width: 1040px) {
  .cgc-hero { height: auto; min-height: 640px; }
  .cgc-slide__txt { width: auto; right: var(--cgc-gutter); top: auto; bottom: 130px; transform: none; }
  .cgc-hero .cgc-slide::after { background: linear-gradient(0deg, rgba(2,30,36,.92) 0%, rgba(2,30,36,.8) 50%, rgba(2,30,36,.45) 100%); }
  .cgc-words { grid-template-columns: 1fr; }
  .cgc-word, .cgc-word:first-child { padding: 28px 0; border: 0; border-image: none; border-top: 1px solid var(--cgc-lineh); }
  .cgc-word:first-child { border-top: 0; }
  .cgc-word__t { font-size: clamp(40px, 11vw, 64px); }
  .cgc-cards { grid-template-columns: 1fr 1fr; }
  .cgc-acard { aspect-ratio: 3 / 3.8; }
  .cgc-about__top, .cgc-about__cols { grid-template-columns: 1fr; }
  .cgc-carousel--light .cgc-panel { display: none !important; }
  .cgc-carousel--light .cgc-slide__txt { right: var(--cgc-gutter); transform: translateY(-50%); top: 50%; bottom: auto; }
  .cgc-carousel--light .cgc-desc { display: none; }
  .cgc-story { min-height: 640px; }
  .cgc-careers { flex-direction: column; align-items: stretch; min-height: 0; }
  .cgc-careers .cgc-panel { position: relative !important; top: auto; bottom: auto; right: auto; width: auto; height: 320px; margin: 0 var(--cgc-gutter) 40px; order: 2; }
  .cgc-careers__txt { padding: 90px var(--cgc-gutter) 40px; order: 1; }
  .cgc-careers h2 { white-space: normal; }
  .cgc-news { padding-bottom: clamp(40px, 6vw, 70px); }
  .cgc-footer__grid { grid-template-columns: 1fr 1fr; }
  .cgc-footer__grid > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  body { font-size: 17px; }
  .cgc-cards { grid-template-columns: 1fr; }
  .cgc-acard { aspect-ratio: 3 / 3.4; }
  .cgc-footer__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cgc-reveal, .cgc-slide__txt > * { opacity: 1; transform: none; transition: none; }
  .cgc-slide, .cgc-slide.is-on { transition: none; }
  .cgc-hero .cgc-slide .cgc-art { transform: scale(1.04); transition: none; }
  .cgc-art .cgc-rot, .cgc-art .cgc-fl, .cgc-art .cgc-pls { animation: none !important; }
}

/* Fondos animados (generados por JS) */
@keyframes cgc-spin { to { transform: rotate(360deg); } }
@keyframes cgc-dash { to { stroke-dashoffset: -48; } }
@keyframes cgc-pls { 0%, 100% { transform: scale(1); opacity: .9; } 50% { transform: scale(1.6); opacity: .35; } }
.cgc-art .cgc-rot { animation: cgc-spin 60s linear infinite; }
.cgc-art .cgc-fl { animation: cgc-dash 2.4s linear infinite; }
.cgc-art .cgc-pls { transform-box: fill-box; transform-origin: center; animation: cgc-pls 3.2s ease-in-out infinite; }
.cgc-slide:not(.is-on) .cgc-rot, .cgc-slide:not(.is-on) .cgc-fl, .cgc-slide:not(.is-on) .cgc-pls { animation-play-state: paused; }
/* ===== Extras v0.4 ===== */
/* Desplegable del menú: panel blanco con barra de marca, texto en caja normal y flecha al pasar el ratón */
.cgc-nav .wp-block-navigation__submenu-container {
  background: #fff !important; border: 0 !important; border-radius: 0; padding: 8px 0 !important; min-width: 380px;
  box-shadow: 0 34px 70px rgba(2,30,36,.28); border-top: 4px solid transparent !important; border-image: linear-gradient(90deg,#054652,#045360,#008C9E) 1 !important; margin-top: 0;
}
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 1px solid var(--cgc-stone); }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:last-child { border-bottom: 0; }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  position: relative; display: block; color: var(--cgc-teal-deep); font: 300 clamp(18px,1.2vw,21px)/1.25 var(--cgc-font-display); letter-spacing: 0; text-transform: none;
  padding: 18px 56px 18px 32px; transition: background .25s, color .25s, padding .3s var(--cgc-ease);
}
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before { content: "→"; position: absolute; right: 30px; top: 50%; transform: translate(-8px,-50%); opacity: 0; color: var(--cgc-teal-bright); transition: opacity .25s, transform .3s var(--cgc-ease); }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--cgc-offwhite); color: var(--cgc-teal-bright); padding-left: 40px; }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover::before { opacity: 1; transform: translate(0,-50%); }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
@media (max-width: 1040px) {
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; border: 0 !important; border-image: none !important; margin-top: 0; min-width: 0; background: transparent !important; padding: 0 0 14px 6px !important; }
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 0; }
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #fff; font: 300 18px/1.3 var(--cgc-font-display); padding: 11px 0; }
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before { display: none; }
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: transparent; padding-left: 0; }
}
/* Estilos de sección (panel «Estilos» del editor) */
.wp-block-group.is-style-cgc-section-white { background: #fff; }
.wp-block-group.is-style-cgc-section-off { background: var(--cgc-offwhite); }
.wp-block-group.is-style-cgc-section-dark { background: var(--cgc-ink); color: #dbe9ec; }
.wp-block-group.is-style-cgc-section-dark :is(h1,h2,h3,h4,.cgc-label,p) { color: #fff; }
.wp-block-group.is-style-cgc-section-dark .cgc-label { color: var(--cgc-sky); }
.wp-block-cover.is-style-cgc-tint img { filter: saturate(.7) contrast(1.05); }
.wp-block-cover.is-style-cgc-bright img { filter: none; }
/* Cabecera de páginas interiores */
.cgc-pagehead { position: relative; overflow: hidden; background: var(--cgc-ink); color: #fff; padding: clamp(150px, 16vw, 230px) var(--cgc-gutter) clamp(70px, 8vw, 120px); margin: 0; }
.cgc-pagehead::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(2,30,36,.9) 0%, rgba(2,30,36,.55) 50%, rgba(2,30,36,.1) 100%); pointer-events: none; }
.cgc-pagehead__txt { position: relative; z-index: 2; max-width: min(66%, 1200px); }
.cgc-pagehead .cgc-label { color: var(--cgc-sky); }
.cgc-pagehead .cgc-display { margin-bottom: 20px; }
.cgc-pagehead__txt > p:not(.cgc-label) { font-size: clamp(20px, 1.5vw, 28px); color: #eef7f8; max-width: 44em; margin: 0; }
/* Texto con imagen */
.cgc-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 96px); align-items: center; padding: clamp(70px, 8vw, 120px) var(--cgc-gutter); background: #fff; margin: 0; }
.cgc-split__img { margin: 0; }
.cgc-split__img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.cgc-split__txt h2 { margin: 16px 0 20px; }
.cgc-split__txt p:not(.cgc-label) { color: var(--cgc-muted); font-size: clamp(20px, 1.45vw, 25px); margin: 0 0 30px; max-width: 34em; }
.cgc-split.is-style-cgc-reverse .cgc-split__img { order: 2; }
.cgc-cols3 { padding: clamp(70px, 8vw, 120px) var(--cgc-gutter); background: #fff; margin: 0; }
.cgc-cols3__head h2 { margin: 16px 0 0; }
.cgc-cols3 .cgc-about__cols { margin-top: clamp(40px, 5vw, 72px); }
.cgc-linkband { background: var(--cgc-offwhite); padding: clamp(70px, 8vw, 120px) var(--cgc-gutter); margin: 0; }
.cgc-linkband__in h2 { margin: 0 0 28px; max-width: 18em; }
/* Entrada individual y listados */
.cgc-post { padding: clamp(130px, 13vw, 190px) var(--cgc-gutter) clamp(70px, 8vw, 120px); background: #fff; }
.cgc-post__meta { display: flex; gap: 22px; align-items: baseline; flex-wrap: wrap; margin-bottom: 14px; }
.cgc-post__meta a { text-decoration: none; color: var(--cgc-teal-dark); }
.cgc-post__date { color: var(--cgc-muted); font-size: 16px; margin: 0; }
.cgc-post__title { font-size: clamp(34px, 3.8vw, 68px); font-weight: 200; line-height: 1.1; margin: 0 0 clamp(28px, 3vw, 48px); max-width: 20em; }
.cgc-post__img { margin: 0 0 clamp(36px, 4vw, 64px); }
.cgc-post__img img { width: 100%; max-height: 640px; object-fit: cover; }
.cgc-post__body { font-size: clamp(19px, 1.3vw, 22px); line-height: 1.7; }
.cgc-post__body > * { max-width: 760px; margin-inline: auto; }
.cgc-post__back { max-width: 760px; margin: 56px auto 0; }
.cgc-newslist { padding: clamp(60px, 7vw, 100px) var(--cgc-gutter); background: #fff; }
.cgc-newsgrid .wp-block-post-template { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 24px; margin-inline: 0; overflow: visible; }
.cgc-newsgrid .wp-block-post-template > li { width: auto; }
.cgc-pagination { margin-top: 56px; gap: 18px; font: 300 18px var(--cgc-font-display); }
@media (max-width: 1040px) { .cgc-split { grid-template-columns: 1fr; } .cgc-split.is-style-cgc-reverse .cgc-split__img { order: 0; } .cgc-pagehead__txt { max-width: none; } .cgc-newsgrid .wp-block-post-template { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .cgc-newsgrid .wp-block-post-template { grid-template-columns: 1fr; } }

/* =====================================================================
   v0.5 · Páginas de área (réplica del prototipo «AI & Data Services»)
   Bloques: cgc-pagehead · cgc-reto · cgc-chev · cgc-scards · cgc-impact · cgc-vcards · cgc-cta
   ===================================================================== */
@keyframes cgc-phdrift { 0% { transform: translate3d(-6%,-4%,0) scale(1); } 50% { transform: translate3d(5%,4%,0) scale(1.12); } 100% { transform: translate3d(8%,-5%,0) scale(1.05); } }
/* Grupos en rejilla: sin el margen superior que WordPress añade a los hijos */
:is(.cgc-chev, .cgc-cv, .cgc-scards, .cgc-scard, .cgc-aimpact, .cgc-vcards, .cgc-cta__in, .cgc-feat, .cgc-pagehead).is-layout-flow > * { margin-block-start: 0; }

/* ---------- Cabecera de página interior ---------- */
.cgc-pagehead { padding: clamp(150px, 15vw, 220px) var(--cgc-gutter) clamp(70px, 8vw, 120px); isolation: isolate; }
.cgc-pagehead::before { content: ""; position: absolute; inset: -20%; z-index: 0; pointer-events: none; background: radial-gradient(40% 50% at 30% 40%, rgba(0,140,158,.5), transparent 70%), radial-gradient(35% 45% at 75% 65%, rgba(108,203,216,.32), transparent 70%); animation: cgc-phdrift 16s ease-in-out infinite alternate; }
.cgc-pagehead::after { background: linear-gradient(90deg, rgba(2,30,36,.78) 0%, rgba(2,30,36,.4) 55%, rgba(2,30,36,0) 100%); z-index: 0; }
.cgc-pagehead > .cgc-art { z-index: 1; }
.cgc-pagehead__txt { position: relative; z-index: 2; max-width: none; width: min(72%, 1400px); }
.cgc-pagehead .cgc-display { color: #fff; font-size: clamp(44px, 5.3vw, 96px); line-height: 1.08; margin: 20px 0 22px; }
.cgc-pagehead__txt > p:not(.cgc-label):not(.cgc-crumbs) { width: min(100%, 38em); max-width: none; font-size: clamp(22px, 1.8vw, 32px); line-height: 1.5; color: #eef7f8; margin: 0; }
.cgc-pagehead__txt > p.cgc-crumbs, .cgc-crumbs { font: 300 15px/1.4 var(--cgc-font-display); letter-spacing: .14em; text-transform: uppercase; color: #c9e0e3; margin: 0 0 26px; }
.cgc-crumbs a { color: inherit; text-decoration: none; }
.cgc-crumbs a:hover { color: #fff; }

/* ---------- Secciones ---------- */
.cgc-pg { position: relative; background: #fff; padding: clamp(70px, 8vw, 120px) var(--cgc-gutter); margin: 0; }
.cgc-pg h2 { margin: 16px 0 0; max-width: none; }
.cgc-sh { margin: 0 0 clamp(28px, 3.2vw, 52px) !important; font-size: clamp(36px, 4vw, 70px); font-weight: 200; letter-spacing: -.015em; color: var(--cgc-teal-deep); }

/* El reto */
.cgc-reto { padding-bottom: 0; }
.cgc-reto .cgc-reto__t { font: 200 clamp(34px, 4.3vw, 78px)/1.15 var(--cgc-font-display); color: var(--cgc-teal-deep); letter-spacing: -.01em; margin: 16px 0 0; max-width: none; }

/* Lo que vemos → Lo que aportamos (chevrones) */
.cgc-chev { display: grid; gap: 14px; }
.cgc-cv { display: grid; grid-template-columns: 1fr 1fr; position: relative; transform-origin: center; filter: drop-shadow(0 0 0 transparent); transition: transform .45s var(--cgc-ease), filter .3s, opacity .35s; }
.cgc-cv__a, .cgc-cv__b { margin: 0; }
.cgc-cv__a { background: #E4ECED; position: relative; z-index: 1; clip-path: polygon(0 0, calc(100% - 34px) 0, 100% 50%, calc(100% - 34px) 100%, 0 100%); padding: clamp(24px, 2.2vw, 36px) 70px clamp(24px, 2.2vw, 36px) clamp(26px, 2.6vw, 44px); }
.cgc-cv__b { background: var(--cgc-teal-deep); color: #fff; margin-left: -34px; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 34px 50%); padding: clamp(24px, 2.2vw, 36px) clamp(26px, 2.6vw, 44px) clamp(24px, 2.2vw, 36px) 60px; }
.cgc-cv .cgc-cv__k { display: block; font: 400 13px/1.3 var(--cgc-font-display); letter-spacing: .2em; text-transform: uppercase; color: var(--cgc-teal-dark); margin: 0 0 8px; }
.cgc-cv__b .cgc-cv__k { color: var(--cgc-sky); }
.cgc-cv h3 { font-size: clamp(25px, 2.1vw, 36px); font-weight: 400; line-height: 1.2; margin: 0 0 6px; }
.cgc-cv__b h3 { color: #fff; }
.cgc-cv p:not(.cgc-cv__k) { margin: 0; font: 400 clamp(19px, 1.5vw, 25px)/1.45 var(--cgc-font-body); color: var(--cgc-muted); }
.cgc-cv__b p:not(.cgc-cv__k) { color: #d6e9ec; }
.cgc-cv:hover { transform: scale(1.045); z-index: 3; filter: drop-shadow(0 14px 26px rgba(2,30,36,.22)); }
.cgc-cv:hover ~ .cgc-cv { transform: translateY(clamp(14px, 1.4vw, 24px)); }
.cgc-cv:has(~ .cgc-cv:hover) { transform: translateY(calc(-1 * clamp(14px, 1.4vw, 24px))); }
.cgc-chev:has(.cgc-cv:hover) .cgc-cv:not(:hover) { opacity: .72; }

/* Nuestras soluciones (tarjetas con icono) */
.cgc-scards { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(14px, 1.6vw, 24px); }
.cgc-scard { position: relative; display: flex; flex-direction: column; min-height: clamp(400px, 31vw, 500px); padding: clamp(26px, 2.4vw, 40px); background: #fff; border: 1.5px solid #9DBBC1; transition: border-color .3s, box-shadow .3s, transform .35s var(--cgc-ease); margin: 0; }
.cgc-scard::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 4px; background: linear-gradient(90deg, #054652, #008C9E); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--cgc-ease); }
.cgc-scard::before { content: "→"; position: absolute; right: clamp(22px, 2vw, 34px); top: clamp(26px, 2.4vw, 40px); font: 300 24px var(--cgc-font-display); color: var(--cgc-teal-bright); opacity: 0; transform: translateX(-10px); transition: opacity .35s, transform .35s; }
.cgc-scard:hover { transform: translateY(-6px); border-color: var(--cgc-teal-bright); box-shadow: 0 0 0 1px var(--cgc-teal-bright), 0 16px 36px rgba(2,30,36,.1); }
.cgc-scard:hover::after { transform: scaleX(1); }
.cgc-scard:hover::before { opacity: 1; transform: none; }
.cgc-ic { width: 56px; height: 56px; border: 1px solid var(--cgc-line); border-radius: 50%; display: grid; place-items: center; color: var(--cgc-teal-deep); background: #F7F9F9; transition: background .35s, color .35s, border-color .35s; }
.cgc-ic svg { width: 26px; height: 26px; }
.cgc-scard:hover .cgc-ic { background: var(--cgc-teal-deep); color: #fff; border-color: var(--cgc-teal-deep); }
.cgc-scard h3 { font-size: clamp(28px, 2.2vw, 38px); font-weight: 400; line-height: 1.25; min-height: 2.5em; margin: 30px 0 12px; }
.cgc-scard p { margin: 0; color: #3D5B61; font-size: clamp(20px, 1.5vw, 25px); line-height: 1.5; }

/* Impacto de la IA: foto + texto largo */
.cgc-impact { background: #F7F9F9; padding-top: 0; padding-bottom: 0; }
.cgc-aimpact { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(30px, 5vw, 96px); align-items: stretch; }
.cgc-aimpact__ph { position: relative; min-height: 420px !important; align-self: stretch; display: flex !important; align-items: flex-end !important; padding: clamp(24px, 2.6vw, 44px) !important; color: #fff; overflow: hidden; margin: 0; }
.cgc-aimpact__ph img { filter: saturate(.7) contrast(1.05); }
.cgc-aimpact__ph::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(2,30,36,.92), rgba(2,30,36,.2) 60%); }
.cgc-aimpact__ph .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; }
.cgc-aimpact__ph .cgc-aimpact__k { font: 400 13px/1.3 var(--cgc-font-display); letter-spacing: .24em; text-transform: uppercase; color: var(--cgc-sky); margin: 0; }
.cgc-aimpact__ph .cgc-aimpact__q { font: 300 clamp(24px, 2.2vw, 38px)/1.2 var(--cgc-font-display); color: #fff; margin: 10px 0 0; }
.cgc-aimpact__tx { padding: clamp(56px, 6vw, 100px) 0; }
.cgc-aimpact__tx h2 { margin: 16px 0 8px; }
.cgc-aimpact__tx h3 { font: 400 clamp(22px, 1.7vw, 29px)/1.25 var(--cgc-font-display); color: var(--cgc-teal-deep); margin: 34px 0 0; }
.cgc-aimpact__tx > p:not(.cgc-label) { color: var(--cgc-muted); font-size: clamp(19px, 1.3vw, 22px); line-height: 1.6; margin: 12px 0 0; max-width: none; }

/* Artículo destacado */
.cgc-feat { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 22px; align-items: center; margin-top: 34px !important; padding: 18px; border: 1px dashed var(--cgc-teal-bright); transition: background .3s; }
.cgc-feat:hover { background: #fff; }
.cgc-feat__pic { margin: 0; width: 150px; }
.cgc-feat__pic img { width: 150px; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.cgc-feat__k { font: 400 12.5px/1.3 var(--cgc-font-display); letter-spacing: .2em; text-transform: uppercase; color: var(--cgc-teal-dark); margin: 0; }
.cgc-feat__t { font: 300 clamp(19px, 1.3vw, 22px)/1.3 var(--cgc-font-display); color: var(--cgc-teal-deep); margin: 4px 0 0; }
.cgc-feat__t a { color: inherit; text-decoration: none; }
.cgc-feat__t a::after { content: ""; position: absolute; inset: 0; }
.cgc-feat:hover .cgc-feat__t a { color: var(--cgc-teal-bright); }

/* Casos de estudio (tarjetas verticales que se abren al pasar el ratón) */
.cgc-vcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.cgc-vcard { position: relative; aspect-ratio: 3 / 4.4; overflow: hidden; color: #fff; display: flex !important; align-items: flex-end !important; padding: 0 !important; min-height: 0 !important; background: var(--cgc-ink); margin: 0; }
.cgc-vcard img { filter: saturate(.7) contrast(1.05); transition: transform 1.2s var(--cgc-ease); }
.cgc-vcard:hover img { transform: scale(1.06); }
.cgc-vcard::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg, rgba(2,30,36,.95) 0%, rgba(2,30,36,.55) 45%, rgba(2,30,36,.1) 100%); transition: background .4s; }
.cgc-vcard:hover::before, .cgc-vcard:focus-within::before { background: rgba(2,30,36,.9); }
.cgc-vcard .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; padding: clamp(24px, 2.4vw, 36px); }
.cgc-vcard .cgc-vcard__k { display: block; font: 400 13px/1.3 var(--cgc-font-display); letter-spacing: .2em; text-transform: uppercase; color: var(--cgc-sky); margin: 0 0 12px; }
.cgc-vcard h3 { color: #fff; font-size: clamp(26px, 2vw, 34px); font-weight: 300; line-height: 1.2; margin: 0; }
.cgc-vcard__more { max-height: 0; overflow: hidden; opacity: 0; margin: 0; transition: max-height .55s var(--cgc-ease), opacity .4s, margin .4s; }
.cgc-vcard:hover .cgc-vcard__more, .cgc-vcard:focus-within .cgc-vcard__more { max-height: 1200px; opacity: 1; margin-top: 16px; }
.cgc-vcard__more p { margin: 0 0 12px; color: #e6f2f4; font-size: clamp(19px, 1.35vw, 23px); line-height: 1.5; }
.cgc-vcard__more .cgc-vcard__rs { border-top: 1px solid rgba(255,255,255,.3); padding-top: 12px; margin: 0; color: #fff; font: 300 clamp(20px, 1.45vw, 24px)/1.35 var(--cgc-font-display); }

/* Cuéntanos tu reto (formulario) */
.cgc-cta { background: #fff; padding: clamp(30px, 3vw, 50px) var(--cgc-gutter) clamp(40px, 4vw, 70px); margin: 0; }
.cgc-cta__in { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(30px, 6vw, 110px); row-gap: clamp(22px, 2.4vw, 36px); align-items: start; padding: clamp(34px, 3.6vw, 64px) clamp(28px, 4vw, 72px); background: #F7F9F9; border: 1.5px solid #9DBBC1; transition: border-color .3s, box-shadow .3s; }
.cgc-cta__in:hover, .cgc-cta__in:focus-within { border-color: var(--cgc-teal-bright); box-shadow: 0 0 0 1px var(--cgc-teal-bright), 0 16px 36px rgba(2,30,36,.08); }
.cgc-cta__in > h2 { grid-area: 1 / 1; align-self: center; margin: 0; font-size: clamp(28px, 2.4vw, 42px); font-weight: 500; line-height: 1.15; color: var(--cgc-ink); }
.cgc-cta__in > .cgc-cta__intro { grid-area: 1 / 2; margin: 0; font-size: clamp(19px, 1.3vw, 22px); line-height: 1.5; color: var(--cgc-muted); }
.cgc-cta__form { display: contents; }
.cgc-cta__form .cgc-select-wrap { grid-area: 2 / 1; }
.cgc-cta__form input[type="email"] { grid-area: 2 / 2; }
.cgc-cta__form button[type="submit"] { grid-area: 3 / 2; justify-self: start; }
.cgc-cta__form .cgc-cta__note { grid-area: 4 / 2; }
.cgc-cta__form .cgc-cta__msg { grid-area: 5 / 2; }
.cgc-cta__form input[type="email"] { width: 100%; height: 76px; padding: 0 22px; font: 400 20px/1.2 var(--cgc-font-body); color: var(--cgc-ink); background: #F7F9F9; border: 1px solid #7A9A9F; border-radius: 0; box-sizing: border-box; }
.cgc-cta__form input[type="email"]::placeholder { color: #4D6B71; opacity: 1; }
.cgc-cta__form input[type="email"]:hover, .cgc-cta__form input[type="email"]:focus { outline: 0; border-color: var(--cgc-teal-bright); box-shadow: 0 0 0 1px var(--cgc-teal-bright); }
.cgc-cta__form button[type="submit"] { height: 56px; padding: 0 40px; border: 0; border-radius: 0; background: var(--cgc-teal-deep); color: #fff; font: 400 15px/1 var(--cgc-font-display); letter-spacing: .2em; text-transform: uppercase; cursor: pointer; transition: background .25s; }
.cgc-cta__form button[type="submit"]:hover { background: var(--cgc-teal-bright); }
.cgc-cta__note { margin: 0; font-size: 15px; line-height: 1.5; color: var(--cgc-muted); }
.cgc-cta__note a { color: var(--cgc-teal-deep); }
.cgc-cta__msg { margin: 0; font-size: 16px; color: var(--cgc-teal-dark); min-height: 0; }

/* Desplegable «Selecciona tu industria»: texto con margen izquierdo y lista propia con margen en cada opción */
.cgc-select-wrap { position: relative; width: 100%; }
.cgc-select { width: 100%; height: 76px; margin: 0; padding: 0 56px 0 22px; appearance: none; -webkit-appearance: none; cursor: pointer; font: 500 clamp(24px, 2.2vw, 36px)/1 var(--cgc-font-display); color: var(--cgc-ink); text-overflow: ellipsis; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23054652' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 22px center; border: 0; border-bottom: 2px solid var(--cgc-teal-bright); border-radius: 0; box-sizing: border-box; transition: border-color .25s, background-color .25s; }
.cgc-select:hover, .cgc-select:focus { outline: 0; border-bottom-color: var(--cgc-teal-deep); background-color: rgba(255,255,255,.7); }
.cgc-select:focus-visible { outline: 2px solid var(--cgc-sky); outline-offset: 2px; }
.cgc-select.is-empty { color: #4D6B71; }
.cgc-select option { padding: 12px 22px; font: 400 18px var(--cgc-font-body); color: var(--cgc-ink); background: #fff; }
/* Lista personalizada (la crea theme.js; el select nativo sigue debajo para el envío) */
.cgc-select-wrap.is-enhanced select { position: absolute; inset: 0; opacity: 0; pointer-events: none; }
.cgc-dd-btn { display: block; width: 100%; height: 76px; padding: 0 56px 0 22px; text-align: left; cursor: pointer; font: 500 clamp(24px, 2.2vw, 36px)/76px var(--cgc-font-display); color: var(--cgc-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23054652' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 22px center; border: 0; border-bottom: 2px solid var(--cgc-teal-bright); border-radius: 0; transition: border-color .25s, background-color .25s; }
.cgc-dd-btn.is-empty { color: #4D6B71; }
.cgc-dd-btn:hover, .cgc-select-wrap.is-open .cgc-dd-btn { border-bottom-color: var(--cgc-teal-deep); background-color: rgba(255,255,255,.7); }
.cgc-dd-btn:focus-visible { outline: 2px solid var(--cgc-sky); outline-offset: 2px; }
.cgc-select-wrap.is-open .cgc-dd-btn { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 8l6-6 6 6' fill='none' stroke='%23054652' stroke-width='1.8'/%3E%3C/svg%3E"); }
.cgc-dd-list { position: absolute; z-index: 20; left: 0; right: 0; top: calc(100% + 6px); max-height: min(420px, 60vh); overflow-y: auto; margin: 0; padding: 8px 0; list-style: none; background: #fff; border-top: 4px solid transparent; border-image: linear-gradient(90deg, #054652, #045360, #008C9E) 1; box-shadow: 0 30px 60px rgba(2,30,36,.22); display: none; }
.cgc-select-wrap.is-open .cgc-dd-list { display: block; }
.cgc-dd-list li { position: relative; margin: 0; padding: 14px 52px 14px 28px; font: 400 clamp(18px, 1.2vw, 20px)/1.35 var(--cgc-font-body); color: var(--cgc-teal-deep); border-bottom: 1px solid var(--cgc-stone); cursor: pointer; transition: background .2s, color .2s, padding .25s var(--cgc-ease); }
.cgc-dd-list li:last-child { border-bottom: 0; }
.cgc-dd-list li::after { content: "→"; position: absolute; right: 24px; top: 50%; transform: translate(-6px, -50%); opacity: 0; color: var(--cgc-teal-bright); transition: opacity .2s, transform .25s var(--cgc-ease); }
.cgc-dd-list li:hover, .cgc-dd-list li.is-focus { background: #F7F9F9; color: var(--cgc-teal-bright); padding-left: 36px; }
.cgc-dd-list li:hover::after, .cgc-dd-list li.is-focus::after { opacity: 1; transform: translate(0, -50%); }
.cgc-dd-list li[aria-selected="true"] { color: var(--cgc-teal-bright); font-weight: 700; }

/* Responsive de las páginas de área */
@media (max-width: 1040px) {
  .cgc-pagehead__txt { width: auto; }
  .cgc-cv { grid-template-columns: 1fr; }
  .cgc-cv__a, .cgc-cv__b { clip-path: none; margin: 0; padding: 20px 24px; }
  .cgc-cv:hover, .cgc-cv:hover ~ .cgc-cv, .cgc-cv:has(~ .cgc-cv:hover) { transform: none; }
  .cgc-scards { grid-template-columns: 1fr 1fr; }
  .cgc-scard { min-height: 0; }
  .cgc-aimpact { grid-template-columns: 1fr; }
  .cgc-aimpact__ph { min-height: 360px !important; }
  .cgc-aimpact__tx { padding: 40px 0; }
  .cgc-vcards { grid-template-columns: 1fr 1fr; }
  .cgc-vcard__more { max-height: none; opacity: 1; margin-top: 16px; }
  .cgc-cta__in { grid-template-columns: 1fr; }
  .cgc-cta__in > h2, .cgc-cta__in > .cgc-cta__intro, .cgc-cta__form .cgc-select-wrap, .cgc-cta__form input[type="email"], .cgc-cta__form button[type="submit"], .cgc-cta__form .cgc-cta__note, .cgc-cta__form .cgc-cta__msg { grid-area: auto / 1; }
}
@media (max-width: 640px) {
  .cgc-scards, .cgc-vcards { grid-template-columns: 1fr; }
  .cgc-scard h3 { min-height: 0; }
  .cgc-feat { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .cgc-pagehead::before { animation: none; }
  .cgc-cv, .cgc-scard, .cgc-vcard img, .cgc-vcard__more { transition: none; }
}

/* ---------- Legibilidad: ningún texto por debajo de 12,5 px y margen izquierdo en los desplegables ---------- */
.cgc-panel__kicker { font-size: 12.5px; }
.cgc-panel__ctx { font-size: 18px; }
.cgc-footer h4 { font-size: 13px; }
.cgc-footer__info, .cgc-footer__legal { font-size: 15.5px; }
.cgc-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding-left: 32px; }
@media (max-width: 1040px) {
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container { padding: 4px 0 14px 0 !important; }
  .cgc-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 12px 0 12px 22px !important; border-left: 1px solid rgba(255,255,255,.18); }
}
/* Casos de éxito: la etiqueta «Resultado» vuelve a ser pequeña y teal (antes heredaba el blanco del texto de la cabecera) */
.cgc-carousel--light .cgc-slide__txt .cgc-result__label { font: 400 clamp(13px, .8vw, 15px)/1.3 var(--cgc-font-display); letter-spacing: .28em; text-transform: uppercase; color: var(--cgc-teal-bright); margin: 0 0 12px; max-width: none; }
/* v0.5.2 · Casos de estudio: la tarjeta crece lo necesario para que la descripción nunca se corte (altura calculada en theme.js) */
.cgc-vcard__more p { overflow-wrap: anywhere; }
/* Inicio: más aire bajo «Conocer CGC» y entre el título de Noticias y el carrusel */
.cgc-about .cgc-about__cols, .cgc-cols3 .cgc-about__cols { margin-top: clamp(84px, 8vw, 150px); }
.cgc-about { padding-bottom: clamp(60px, 7vw, 110px); }
.cgc-news .cgc-rail-head { margin-bottom: clamp(60px, 6vw, 110px); }
/* v0.5.4 · Carrusel de noticias más grande */
.cgc-news .cgc-carousel-zoom .cgc-rail { --cgc-zw: min(500px, 84vw); gap: clamp(18px, 2.4vw, 36px); padding-block: 20px !important; }
.cgc-news .cgc-carousel-zoom .cgc-rail > .is-near { --cgc-s: .8; }
.cgc-news .cgc-carousel-zoom .cgc-ncard__panel { left: 20px; right: 20px; bottom: 20px; padding: 22px 24px 24px; }
.cgc-news .cgc-carousel-zoom .cgc-ncard__panel .wp-block-post-title { font-size: clamp(22px, 1.8vw, 30px) !important; }
.cgc-news .cgc-carousel-zoom .cgc-ncard__panel .cgc-ncard__meta { font-size: 13px; }
.cgc-news .cgc-ncard .cgc-badge { font-size: 13px; padding: 9px 14px 8px; }

/* =====================================================================
   v0.6 · Servicios, áreas (todas) y Sobre CGC — prototipo de la ronda 2
   ===================================================================== */
@keyframes cgc-artdrift { from { transform: scale(1) translate3d(0,0,0); } to { transform: scale(1.07) translate3d(-1.5%,1%,0); } }
@keyframes cgc-pktrun { from { stroke-dashoffset: 1000; } to { stroke-dashoffset: 0; } }
@keyframes cgc-ndpulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.55); opacity: .55; } }
:is(.cgc-two, .cgc-two__txt, .cgc-colsec, .cgc-band, .cgc-cgcv, .cgc-gr, .cgc-fnd, .cgc-fnd__ft, .cgc-tcar, .cgc-tcar__stage, .cgc-tc, .cgc-lg4).is-layout-flow > * { margin-block-start: 0; }

/* Cabeceras interiores: fondo que se desplaza, partículas y paquetes de luz */
.cgc-pagehead > .cgc-art { -webkit-mask-image: linear-gradient(90deg, transparent 0, transparent 46%, rgba(0,0,0,.55) 64%, #000 82%); mask-image: linear-gradient(90deg, transparent 0, transparent 46%, rgba(0,0,0,.55) 64%, #000 82%); }
.cgc-pagehead > .cgc-art svg { animation: cgc-artdrift 26s ease-in-out infinite alternate; transform-origin: 70% 50%; }
.cgc-pagehead::after { background: linear-gradient(90deg, rgba(2,30,36,.9) 0%, rgba(2,30,36,.72) 48%, rgba(2,30,36,.1) 100%); }
.cgc-pagehead__txt { text-shadow: 0 2px 18px rgba(2,30,36,.55); }
.cgc-pagehead .cgc-pfx { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, transparent 38%, rgba(0,0,0,.7) 62%, #000 82%); mask-image: linear-gradient(90deg, transparent 0, transparent 38%, rgba(0,0,0,.7) 62%, #000 82%); }
.cgc-pagehead .cgc-pkt { stroke-dasharray: 34 966; stroke-dashoffset: 0; animation: cgc-pktrun 6s linear infinite; filter: drop-shadow(0 0 5px #6CCBD8); }
.cgc-pagehead .cgc-ndp { transform-box: fill-box; transform-origin: center; animation: cgc-ndpulse 3.4s ease-in-out infinite; }
@media (max-width: 1040px) {
  .cgc-pagehead > .cgc-art { -webkit-mask-image: none; mask-image: none; opacity: .55; }
  .cgc-pagehead .cgc-pfx { opacity: .5; -webkit-mask-image: none; mask-image: none; }
}

/* Secciones: línea fina entre secciones blancas consecutivas y fondo alterno */
.cgc-pg + .cgc-pg { border-top: 1px solid var(--cgc-line); }
.cgc-pg.cgc-bg-off { background: #F7F9F9; }
.cgc-pg.cgc-pt0 { padding-top: 0; border-top: 0; }
.cgc-pg.cgc-pb0 { padding-bottom: 10px; }
.cgc-pg.cgc-pt-s { padding-top: 20px; border-top: 0; }

/* Soluciones en tres columnas (9 tarjetas) */
.cgc-scards.cgc-scards--c3 { grid-template-columns: repeat(3, 1fr); }

/* Servicios: foto + texto alternados */
.cgc-two { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 96px); align-items: center; }
.cgc-two__ph { margin: 0; }
.cgc-two__ph img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; }
.cgc-two--rev .cgc-two__ph { order: 2; }
.cgc-two__txt h2 { margin: 16px 0 18px !important; }
.cgc-two__txt > p:not(.cgc-label) { color: var(--cgc-muted); font-size: clamp(20px, 1.45vw, 25px); margin: 0 0 26px; max-width: 36em; }
.cgc-two__txt .cgc-two__list { list-style: none; display: grid; gap: 8px; margin: 0 0 30px !important; padding: 0; color: var(--cgc-teal-deep); font-size: clamp(18px, 1.25vw, 21px); }
.cgc-two__list li { margin: 0; }
.cgc-pg-head { margin-bottom: clamp(36px, 4.4vw, 64px); }
.cgc-colsec .cgc-about__cols { margin-top: clamp(36px, 4.4vw, 64px) !important; }
.cgc-colsec .cgc-about__col h3 { font-size: clamp(22px, 1.7vw, 30px); }
.cgc-colsec .cgc-about__col p { font-size: clamp(18px, 1.25vw, 21px); }
.cgc-band { background: #F7F9F9; padding: clamp(70px, 8vw, 120px) var(--cgc-gutter); border-top: 1px solid var(--cgc-line); margin: 0; }
.cgc-band h2 { margin: 16px 0 30px !important; max-width: 20em; }

/* Sobre CGC: Creating · Growth · Capabilities */
.cgc-cgcv { position: relative; display: grid; grid-template-columns: max-content minmax(0, 1fr); column-gap: clamp(48px, 5vw, 90px); padding-left: clamp(22px, 2.6vw, 44px); }
.cgc-cgcv::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, #054652, #008C9E 60%, #6CCBD8); }
.cgc-gr { display: contents; }
.cgc-gr > .cgc-gw, .cgc-gr > .cgc-gd { display: flex; align-items: center; margin: 0; padding: clamp(22px, 2.6vw, 44px) 0; border-top: 1px solid var(--cgc-line); }
.cgc-gr:first-child > .cgc-gw, .cgc-gr:first-child > .cgc-gd { border-top: 0; }
.cgc-gr > .cgc-gw { display: block; align-self: stretch; font: 200 clamp(50px, 8.2vw, 150px)/.95 var(--cgc-font-display); color: var(--cgc-teal-deep); letter-spacing: -.02em; padding-left: clamp(14px, 2vw, 34px); transition: transform .5s var(--cgc-ease); }
.cgc-gr > .cgc-gw strong { font-weight: 400; background: linear-gradient(135deg, #054652, #008C9E); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cgc-gr:hover > .cgc-gw { transform: translateX(12px); }
.cgc-gr > .cgc-gd { color: #3D5B61; font-size: clamp(22px, 1.85vw, 32px); line-height: 1.5; }

/* Sobre CGC: fundador */
.cgc-fnd { display: grid; grid-template-columns: clamp(300px, 28vw, 430px) 1fr; gap: clamp(26px, 3.4vw, 64px); align-items: stretch; background: #fff; border: 1.5px solid #9DBBC1; overflow: hidden; transition: border-color .3s, box-shadow .3s; }
.cgc-fnd:hover { border-color: var(--cgc-teal-bright); box-shadow: 0 0 0 1px var(--cgc-teal-bright), 0 16px 36px rgba(2,30,36,.1); }
.cgc-fnd__fp { position: relative; margin: 0; min-height: clamp(380px, 30vw, 460px); background: #EDF3F4; overflow: hidden; }
.cgc-fnd__fp img { position: absolute; left: 50%; bottom: 0; height: 120%; width: auto; max-width: none; transform: translateX(-50%); }
.cgc-fnd__ft { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px, 3vw, 52px) clamp(26px, 3vw, 52px) clamp(26px, 3vw, 52px) 0; }
.cgc-fnd__ft .cgc-fnd__q { margin: 14px 0 22px; font: 200 clamp(24px, 2.3vw, 40px)/1.25 var(--cgc-font-display); color: var(--cgc-teal-deep); letter-spacing: -.005em; }
.cgc-fnd__ft .cgc-fnd__nm { margin: 0; font: 400 clamp(20px, 1.5vw, 26px) var(--cgc-font-display); color: var(--cgc-ink); }
.cgc-fnd__ft .cgc-fnd__rl { margin: 4px 0 0; font: 400 13px var(--cgc-font-display); letter-spacing: .22em; text-transform: uppercase; color: var(--cgc-teal-dark); }

/* Sobre CGC: testimonios en carrusel */
.cgc-tcar__stage { position: relative; height: clamp(320px, 24vw, 380px); overflow: hidden; }
.cgc-tc { position: absolute !important; left: 50%; top: 50%; width: clamp(520px, 54vw, 860px); height: 92%; margin: 0 !important; display: flex; flex-direction: column; justify-content: center; background: #fff; border: 1.5px solid #9DBBC1; padding: clamp(28px, 2.8vw, 48px) clamp(28px, 3vw, 52px); cursor: pointer; transform: translate(-50%, -50%) scale(1); transition: transform .8s var(--cgc-ease), opacity .8s, border-color .3s; will-change: transform; }
.cgc-tc::before { content: "\201C"; display: block; height: 42px; font: 200 80px/.6 var(--cgc-font-display); color: var(--cgc-teal-bright); }
.cgc-tc p { margin: 10px 0 0; font: 300 clamp(22px, 1.9vw, 32px)/1.4 var(--cgc-font-display); color: var(--cgc-teal-deep); }
.cgc-tc.is-p0 { z-index: 3; opacity: 1; border-color: var(--cgc-teal-bright); box-shadow: 0 0 0 1px var(--cgc-teal-bright), 0 18px 40px rgba(2,30,36,.1); cursor: default; }
.cgc-tc.is-p1 { z-index: 1; opacity: .55; transform: translate(46%, -50%) scale(.82); }
.cgc-tc.is-p2 { z-index: 1; opacity: .55; transform: translate(-146%, -50%) scale(.82); }
.cgc-tcar .cgc-carctl { margin: 18px 0 0; }

/* Sobre CGC: logos de clientes */
.cgc-sh--logos { margin-bottom: clamp(54px, 5.5vw, 96px) !important; }
.cgc-lg4 { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--cgc-line); border-bottom: 1px solid var(--cgc-line); }
.cgc-lg { display: grid !important; place-items: center; margin: 0; min-height: clamp(120px, 10vw, 170px); padding: 20px; border-left: 1px solid var(--cgc-line); }
.cgc-lg:first-child { border-left: 0; }
.cgc-lg img { height: clamp(30px, 3.2vw, 56px); width: auto; max-width: 78%; object-fit: contain; filter: grayscale(1); opacity: .62; transition: filter .35s, opacity .35s, transform .4s var(--cgc-ease); }
.cgc-lg:nth-child(2) img { height: clamp(46px, 4.8vw, 84px); }
.cgc-lg:hover img { filter: none; opacity: 1; transform: scale(1.06); }

@media (max-width: 1040px) {
  .cgc-scards.cgc-scards--c3 { grid-template-columns: 1fr 1fr; }
  .cgc-two { grid-template-columns: 1fr; }
  .cgc-two--rev .cgc-two__ph { order: 0; }
  .cgc-cgcv { grid-template-columns: 1fr; }
  .cgc-gr > .cgc-gd { border-top: 0; padding-top: 0; }
  .cgc-fnd { grid-template-columns: 1fr; }
  .cgc-fnd__fp { min-height: 320px; }
  .cgc-fnd__ft { padding: 28px; }
  .cgc-tc { width: 84%; }
  .cgc-tc.is-p1 { transform: translate(66%, -50%) scale(.82); }
  .cgc-tc.is-p2 { transform: translate(-166%, -50%) scale(.82); }
  .cgc-tcar__stage { height: 380px; }
  .cgc-lg4 { grid-template-columns: 1fr 1fr; }
  .cgc-lg:nth-child(3) { border-left: 0; }
}
@media (max-width: 640px) {
  .cgc-scards.cgc-scards--c3 { grid-template-columns: 1fr; }
  .cgc-tcar__stage { height: 440px; }
}
@media (prefers-reduced-motion: reduce) {
  .cgc-pagehead .cgc-pkt { display: none; }
  .cgc-pagehead .cgc-ndp, .cgc-pagehead > .cgc-art svg { animation: none; }
  .cgc-tc { transition: none; }
}

/* =====================================================================
   v0.7 · Actualización «CGC Home v2»: Actualidad, Noticias, Blog, Carreras y páginas nuevas.
   Las secciones nuevas van dentro de un grupo .cgc-v2 y usan las clases del prototipo.
   ===================================================================== */
.cgc-v2 { --teal-deep:#054652; --teal-dark:#045360; --teal-bright:#008C9E; --ink:#021E24; --white:#fff; --sky:#6CCBD8; --mist:#A9C7CC; --paper:#F6F9F9; --stone:#E4ECED; --muted:#47666C; --line:#B9CFD3;
  --display:'Outfit','Segoe UI',sans-serif; --sans:'Carlito',Calibri,'Segoe UI',sans-serif; --gutter:clamp(22px,5vw,96px); --ease:cubic-bezier(.2,.7,.2,1); --rc:16px; --rm:10px; --rs:8px;
  font-family: var(--sans); font-size: clamp(19px,1.25vw,22px); line-height: 1.65; color: var(--ink); }
.cgc-v2 .is-layout-flow > *, .cgc-v2.is-layout-flow > * { margin-block: 0; }
.cgc-v2 figure.wp-block-image, .cgc-v2 .wp-block-post-featured-image { margin: 0; }
.cgc-v2 .cgc-card { position: relative; }
.cgc-v2 .cgc-stretch, .cgc-v2 .cgc-card .wp-block-post-title a { color: inherit; text-decoration: none; }
.cgc-v2 .cgc-stretch::after, .cgc-v2 .cgc-card .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 5; }
.cgc-v2 .cgc-stretch-p { margin: 0; height: 0; overflow: hidden; }
.cgc-v2 .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.cgc-v2 * {box-sizing: border-box; margin: 0px; padding: 0px;}
.cgc-v2 img {max-width: 100%; display: block;}
.cgc-v2 a {color: inherit;}
.cgc-v2 button {font: inherit;}
.cgc-v2 :focus-visible {outline: 2px solid var(--sky); outline-offset: 4px;}
.cgc-v2 .label {font: 400 13.5px var(--display); letter-spacing: 0.28em; text-transform: uppercase; color: var(--teal-dark);}
.cgc-v2 h1,.cgc-v2 h2,.cgc-v2 h3 {font-family: var(--display); font-weight: 200; letter-spacing: -0.015em; line-height: 1.1; color: var(--teal-deep);}
.cgc-v2 h2 {font-size: clamp(30px, 3.6vw, 60px);}
.cgc-v2 h1 em {font-style: normal; font-weight: 400;}
.cgc-v2 h2 em,.cgc-v2 h1 em {font-style: normal; font-weight: 400;}
.cgc-v2 section {padding: clamp(88px, 12vw, 170px) 0px;}
.cgc-v2 .tlink {display: inline-flex; align-items: center; gap: 12px; font: 400 14px var(--display); letter-spacing: 0.22em; text-transform: uppercase; text-decoration: none; color: inherit; padding-bottom: 8px; border-bottom: 1px solid currentcolor; transition: gap .3s var(--ease);}
.cgc-v2 .tlink:hover {gap: 20px;}
.cgc-v2 .tag {display: inline-block; font: 400 11px var(--display); letter-spacing: 0.16em; text-transform: uppercase; padding: 5px 10px; border: 1px dashed currentcolor; opacity: 0.9;}
.cgc-v2 .photo {position: absolute; inset: 0px; background-size: cover; background-position: center center; filter: saturate(0.7) contrast(1.05);}
.cgc-v2 .photo::after {content: ""; position: absolute; inset: 0px; background: linear-gradient(135deg, rgba(2, 30, 36, 0.55), rgba(5, 70, 82, 0.5) 60%, rgba(0, 140, 158, 0.3)); mix-blend-mode: multiply;}
.cgc-v2 .label {font-size: clamp(13.5px, 0.85vw, 16px);}
.cgc-v2 .pg {padding: clamp(70px,8vw,120px) var(--gutter); background: rgb(255, 255, 255); position: relative;}
.cgc-v2 .pg + .pg {border-top: 1px solid var(--line);}
.cgc-v2 .pg h2 {margin: 16px 0px 0px; max-width: none;}
.cgc-v2 .two {display: grid; grid-template-columns: 1fr 1fr; gap: clamp(30px, 5vw, 96px); align-items: center;}
.cgc-v2 .two p {color: var(--muted); font-size: clamp(20px, 1.45vw, 25px); margin: 0px 0px 26px; max-width: 36em;}
.cgc-v2 .tlink.dk {color: var(--teal-deep);}
.cgc-v2 .filters {display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: clamp(30px, 4vw, 56px);}
.cgc-v2 .filters button {font: 400 13px var(--display); letter-spacing: 0.16em; text-transform: uppercase; padding: 12px 20px; border: 1px solid var(--line); background: rgb(255, 255, 255); color: var(--teal-deep); cursor: pointer; transition: background 0.25s, color 0.25s, border-color 0.25s;}
.cgc-v2 .filters button:hover {border-color: var(--teal-bright);}
.cgc-v2 .filters button.on {background: var(--teal-deep); color: rgb(255, 255, 255); border-color: var(--teal-deep);}
.cgc-v2 .pager {display: flex; gap: 10px; justify-content: center; margin-top: clamp(40px, 5vw, 70px);}
.cgc-v2 .pager a {width: 46px; height: 46px; display: grid; place-items: center; border: 1px solid var(--line); font: 300 17px var(--display); text-decoration: none; color: var(--teal-deep);}
.cgc-v2 .pager a.on {background: var(--teal-deep); color: rgb(255, 255, 255); border-color: var(--teal-deep);}
.cgc-v2 .hubs {display: grid; grid-template-columns: 1fr 1fr; gap: 24px;}
.cgc-v2 .hub {position: relative; aspect-ratio: 16 / 9; background-size: cover; background-position: center center; color: rgb(255, 255, 255); display: flex; align-items: flex-end; padding: clamp(26px, 3vw, 48px); text-decoration: none; overflow: hidden;}
.cgc-v2 .hub::before {content: ""; position: absolute; inset: 0px; background: linear-gradient(0deg, rgba(2, 30, 36, 0.95), rgba(2, 30, 36, 0.45) 60%, rgba(2, 30, 36, 0.2));}
.cgc-v2 .hub > div {position: relative; z-index: 2;}
.cgc-v2 .hub h3 {color: rgb(255, 255, 255); font-size: clamp(28px, 2.6vw, 46px); font-weight: 300; margin: 0px 0px 10px;}
.cgc-v2 .hub p {margin: 0px 0px 18px; color: rgb(234, 244, 246); font-size: clamp(18px, 1.25vw, 22px); max-width: 30em;}
@media (max-width: 1040px) { .cgc-v2 .pagehead .txt {width: auto;} }
@media (max-width: 1040px) { .cgc-v2 .hubs {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .two {grid-template-columns: 1fr;} }
.cgc-v2 .photo {position: absolute; inset: 0px; background-size: cover; background-position: center center; filter: saturate(0.7) contrast(1.05);}
.cgc-v2 .photo::after {content: ""; position: absolute; inset: 0px; background: linear-gradient(135deg, rgba(2, 30, 36, 0.55), rgba(5, 70, 82, 0.5) 60%, rgba(0, 140, 158, 0.3)); mix-blend-mode: multiply;}
@keyframes fadein { 
  0% { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: none; }
}
.cgc-v2 .sh h2 {max-width: none; margin: 0px 0px clamp(28px, 3.2vw, 52px); font-size: clamp(36px, 4vw, 70px); font-weight: 200; letter-spacing: -0.015em; color: var(--teal-deep);}
@media (prefers-reduced-motion: reduce) { .cgc-v2 .pagehead::before {animation: auto ease 0s 1 normal none running none;} }
@media (max-width: 1040px) { .cgc-v2 .pagehead .txt {width: auto;} }
@media (max-width: 1040px) { .cgc-v2 section.cta4 .in {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 section.cta4 h2 {margin-left: 0px; height: auto; line-height: 1.2;} }
@media (max-width: 1040px) { .cgc-v2 .pagehead .art {mask-image: none; opacity: 0.55;} }
@media (prefers-reduced-motion: reduce) { .cgc-v2 .pagehead .pkt {display: none;} }
@media (prefers-reduced-motion: reduce) { .cgc-v2 .pagehead .art svg {animation: auto ease 0s 1 normal none running none;} }
@media (prefers-reduced-motion: reduce) { .cgc-v2 .pagehead .ndp,.cgc-v2 .pagehead .art svg {animation: auto ease 0s 1 normal none running none;} }
@media (max-width: 1040px) { .cgc-v2 .cta4 .in,.cgc-v2 .cta4 form {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .cta4 h2 {white-space: normal;} }
@media (max-width: 1040px) { .cgc-v2 section.cta4.c5 .in {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .c5 .lf h2,.cgc-v2 .c5 .ct-intro,.cgc-v2 .c5 .lf select,.cgc-v2 .c5 .rt input,.cgc-v2 .c5 .rt button,.cgc-v2 .c5 .rt .note,.cgc-v2 .c5 .rt .form-msg {grid-area: auto / 1;} }
@keyframes tmrun { 
  0% { transform: translateX(0px); }
  100% { transform: translateX(-50%); }
}
@media (max-width: 1040px) { .cgc-v2 .pagehead .pfx {opacity: 0.5; mask-image: none;} }
.cgc-v2 .nv-img {position: relative; overflow: hidden; background: rgb(5, 70, 82);}
.cgc-v2 .nv-img .photo {transition: transform 1.1s var(--ease);}
.cgc-v2 .nv-card:hover .nv-img .photo {transform: scale(1.06);}
.cgc-v2 .nv-meta {font: 400 12px var(--display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal-bright);}
.cgc-v2 .nv-meta em {font-style: normal; color: var(--muted); letter-spacing: 0.08em; margin-left: 10px;}
.cgc-v2 .nv-link {font: 400 13px var(--display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal-deep); display: inline-flex; gap: 10px; align-items: center; margin-top: 14px;}
.cgc-v2 .nv-link::after {content: "→"; transition: transform 0.3s;}
.cgc-v2 .nv-card:hover .nv-link::after {transform: translateX(6px);}
.cgc-v2 .nv-card {display: flex; flex-direction: column; background: rgb(255, 255, 255); border: 1.5px solid rgb(157, 187, 193); text-decoration: none; transition: border-color .3s,box-shadow .3s,transform .35s var(--ease);}
.cgc-v2 .nv-card:hover {border-color: rgb(0, 140, 158); box-shadow: rgb(0, 140, 158) 0px 0px 0px 1px, rgba(2, 30, 36, 0.1) 0px 16px 36px; transform: translateY(-4px);}
.cgc-v2 .nv-card .nv-img {aspect-ratio: 16 / 10;}
.cgc-v2 .nv-card .nv-body {padding: clamp(20px, 1.8vw, 30px); display: flex; flex-direction: column; flex: 1 1 0%;}
.cgc-v2 .nv-card h3 {margin: 12px 0px 0px; font: 400 clamp(20px,1.5vw,26px)/1.3 var(--display); color: var(--ink);}
.cgc-v2 .nv-grid3 {display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 1.8vw, 28px);}
.cgc-v2 .nv-feat {display: grid; grid-template-columns: 1.25fr 1fr; border: 1.5px solid rgb(157, 187, 193); text-decoration: none; margin-bottom: clamp(24px, 2.6vw, 40px); transition: border-color 0.3s, box-shadow 0.3s;}
.cgc-v2 .nv-feat:hover {border-color: rgb(0, 140, 158); box-shadow: rgb(0, 140, 158) 0px 0px 0px 1px, rgba(2, 30, 36, 0.1) 0px 16px 36px;}
.cgc-v2 .nv-feat .nv-img {min-height: clamp(300px, 26vw, 440px);}
.cgc-v2 .nv-feat .tx {padding: clamp(28px, 3.4vw, 60px); display: flex; flex-direction: column; justify-content: center; background: rgb(255, 255, 255);}
.cgc-v2 .nv-feat h2 {margin: 16px 0px 0px; font: 300 clamp(26px,2.6vw,44px)/1.2 var(--display); color: var(--teal-deep);}
.cgc-v2 .nv-feat p {margin: 16px 0px 0px; color: var(--muted); font-size: clamp(18px, 1.3vw, 22px);}
.cgc-v2 .nv-feat:hover .nv-img .photo {transform: scale(1.05);}
.cgc-v2 .bg-top {display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(16px, 1.8vw, 28px); margin-bottom: clamp(30px, 3.4vw, 56px);}
.cgc-v2 .bg-big {position: relative; min-height: clamp(380px, 34vw, 560px); display: flex; align-items: flex-end; text-decoration: none; color: rgb(255, 255, 255); overflow: hidden; background: rgb(5, 70, 82);}
.cgc-v2 .bg-big .photo {transition: transform 1.1s var(--ease);}
.cgc-v2 .bg-big:hover .photo {transform: scale(1.05);}
.cgc-v2 .bg-big::before {content: ""; position: absolute; inset: 0px; z-index: 1; background: linear-gradient(0deg, rgba(2, 30, 36, 0.94), rgba(2, 30, 36, 0.1) 70%);}
.cgc-v2 .bg-big .in {position: relative; z-index: 2; padding: clamp(24px, 3vw, 52px);}
.cgc-v2 .bg-big .nv-meta {color: rgb(108, 203, 216);}
.cgc-v2 .bg-big h2 {margin: 12px 0px 0px; color: rgb(255, 255, 255); font: 300 clamp(26px,2.6vw,46px)/1.2 var(--display);}
.cgc-v2 .bg-big .nv-link {color: rgb(255, 255, 255);}
.cgc-v2 .bg-side {display: grid; gap: clamp(16px, 1.8vw, 28px);}
.cgc-v2 .bg-side .nv-card {flex-direction: row;}
.cgc-v2 .bg-side .nv-card .nv-img {width: 42%; aspect-ratio: auto; flex: 0 0 auto;}
.cgc-v2 .bg-side .nv-card h3 {font-size: clamp(18px, 1.35vw, 23px);}
@media (max-width: 1040px) { .cgc-v2 .bg-top,.cgc-v2 .nv-grid3 {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .nv-feat,.cgc-v2 .nv-grid3 {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .bg-side .nv-card {flex-direction: column;} }
@media (max-width: 1040px) { .cgc-v2 .bg-side .nv-card .nv-img {width: 100%; aspect-ratio: 16 / 10;} }
@media (max-width: 640px) { .cgc-v2 .nv-grid3 {grid-template-columns: 1fr;} }
@keyframes netin { 
  0% { opacity: 0; transform: translateY(26px) scale(0.96); }
  100% { opacity: 1; transform: none; }
}
@keyframes nfbar { 
  0% { width: 0px; }
  100% { width: 100%; }
}
@keyframes nhin { 
  0% { opacity: 0; transform: translateX(34px); }
  100% { opacity: 1; transform: none; }
}
.cgc-v2 .nv-tools {display: flex; align-items: center; justify-content: space-between; gap: 20px 30px; flex-wrap: wrap; margin-bottom: clamp(8px, 1vw, 14px);}
.cgc-v2 .nv-tools .filters {margin: 0px;}
.cgc-v2 .nv-search {position: relative; display: flex; align-items: center; gap: 10px; height: 50px; width: clamp(230px, 22vw, 310px); padding: 0px 14px; border: 1.5px solid rgb(157, 187, 193); background: rgb(255, 255, 255); transition: width .45s var(--ease),border-color .3s,box-shadow .3s;}
.cgc-v2 .nv-search:hover {border-color: rgb(0, 140, 158);}
.cgc-v2 .nv-search:focus-within {width: clamp(290px, 34vw, 480px); border-color: rgb(0, 140, 158); box-shadow: rgb(0, 140, 158) 0px 0px 0px 1px;}
.cgc-v2 .nv-search svg {flex: 0 0 auto; width: 19px; height: 19px; color: var(--teal-deep);}
.cgc-v2 .nv-search input {flex: 1 1 0%; min-width: 0px; border: 0px; outline: 0px; background: transparent; font: 400 17px var(--sans); color: var(--ink);}
.cgc-v2 .nv-search input::placeholder {color: rgb(127, 155, 160);}
.cgc-v2 .nv-search input::-webkit-search-cancel-button {display: none;}
.cgc-v2 .nv-search .x {display: none; border: 0px; background: none; color: var(--teal-deep); font: 300 24px/1 var(--display); cursor: pointer; padding: 0px 2px;}
.cgc-v2 .nv-search kbd {font: 400 12px var(--display); border: 1px solid rgb(185, 207, 211); color: rgb(127, 155, 160); padding: 2px 7px; letter-spacing: 0.05em;}
.cgc-v2 .nv-search:focus-within kbd {display: none;}
.cgc-v2 .nv-count {min-height: 1.6em; margin: 0px 0px clamp(16px, 2vw, 28px); font: 400 13px var(--display); letter-spacing: 0.18em; text-transform: uppercase; color: var(--teal-bright);}
.cgc-v2 .bg-big,.cgc-v2 .bg-side .nv-card,.cgc-v2 .nv-grid3 .nv-card {transition: opacity 0.3s, transform 0.3s, border-color 0.3s, box-shadow 0.3s;}
.cgc-v2 .nv-feat,.cgc-v2 .nv-grid3 .nv-card {transition: opacity 0.3s, transform 0.3s, border-color 0.3s, box-shadow 0.3s;}
.cgc-v2 .nv-empty {padding: clamp(40px, 6vw, 90px) 0px; text-align: center; font: 200 clamp(26px,2.6vw,44px)/1.2 var(--display); color: var(--teal-deep);}
.cgc-v2 .nv-empty small {display: block; margin-top: 14px; font: 400 17px var(--sans); color: var(--muted);}
.cgc-v2 .nv-empty button {margin-top: 22px; height: 48px; padding: 0px 28px; border: 0px; background: var(--teal-deep); color: rgb(255, 255, 255); font: 400 13px var(--display); letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer;}
.cgc-v2 .nv-empty button:hover {background: var(--teal-bright);}
@media (max-width: 1040px) { .cgc-v2 .nv-search,.cgc-v2 .nv-search:focus-within {width: 100%;} }
.cgc-v2 .job {display: grid; grid-template-columns: 1fr auto; gap: 12px clamp(20px, 3vw, 50px); align-items: center; background: rgb(255, 255, 255); border: 1.5px solid rgb(157, 187, 193); padding: clamp(20px, 2vw, 32px) clamp(22px, 2.4vw, 40px); text-decoration: none; transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s, opacity 0.3s;}
.cgc-v2 .job:hover {border-color: rgb(0, 140, 158); box-shadow: rgb(0, 140, 158) 0px 0px 0px 1px, rgba(2, 30, 36, 0.09) 0px 14px 32px; transform: translateX(6px);}
.cgc-v2 .job .tg {font: 400 12px var(--display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--teal-bright);}
.cgc-v2 .job h3 {margin: 8px 0px 6px; font: 300 clamp(21px,1.8vw,31px)/1.25 var(--display); color: var(--teal-deep);}
.cgc-v2 .job .mt {color: var(--muted); font-size: clamp(16px, 1.15vw, 19px);}
.cgc-v2 .job .rt {text-align: right;}
.cgc-v2 .job .ap {display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0px 24px; background: var(--teal-deep); color: rgb(255, 255, 255); font: 400 12.5px var(--display); letter-spacing: 0.2em; text-transform: uppercase; transition: background 0.25s;}
.cgc-v2 .job:hover .ap {background: var(--teal-bright);}
.cgc-v2 .jobs {display: grid; gap: clamp(12px, 1.2vw, 18px);}
@keyframes tlrun { 
  0% { left: 0px; }
  100% { left: calc(100% - 11px); }
}
@keyframes pinp { 
  50% { box-shadow: rgba(0, 140, 158, 0.16) 0px 0px 0px 14px, rgba(0, 140, 158, 0.06) 0px 0px 0px 36px; }
}
@media (max-width: 1040px) { .cgc-v2 .job {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .job .rt {text-align: left;} }
.cgc-v2 .fqw {display: grid; grid-template-columns: 0.8fr 1.4fr; gap: clamp(28px, 6vw, 110px); align-items: start;}
.cgc-v2 .fqw h2 {margin: 14px 0px; font: 200 clamp(32px,3.4vw,58px)/1.1 var(--display); color: var(--teal-deep);}
.cgc-v2 .fqw p {margin: 0px; color: var(--muted); font-size: clamp(17px, 1.2vw, 20px);}
.cgc-v2 .fq {border-top: 1.5px solid rgb(157, 187, 193);}
.cgc-v2 .fq:last-of-type {border-bottom: 1.5px solid rgb(157, 187, 193);}
.cgc-v2 .fq summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: clamp(18px, 1.8vw, 28px) 4px; font: 300 clamp(20px,1.7vw,29px)/1.3 var(--display); color: var(--teal-deep); transition: color .3s,padding .35s var(--ease);}
.cgc-v2 .fq summary::-webkit-details-marker {display: none;}
.cgc-v2 .fq summary::after {content: "+"; flex: 0 0 auto; display: grid; place-items: center; width: 40px; height: 40px; border: 1.5px solid rgb(157, 187, 193); font: 300 26px/1 var(--display); color: var(--teal-deep); transition: transform .4s var(--ease),background .3s,color .3s,border-color .3s;}
.cgc-v2 .fq summary:hover {color: rgb(0, 140, 158); padding-left: 14px;}
.cgc-v2 .fq[open] summary::after {content: "–"; transform: rotate(180deg); background: rgb(5, 70, 82); color: rgb(255, 255, 255); border-color: rgb(5, 70, 82);}
.cgc-v2 .fq .ans {padding: 0px 4px clamp(18px, 1.8vw, 28px); color: var(--muted); font-size: clamp(17px, 1.25vw, 21px); max-width: 44em; animation: fqin .45s var(--ease);}
@keyframes fqin { 
  0% { opacity: 0; transform: translateY(-8px); }
  100% { opacity: 1; transform: none; }
}
@media (max-width: 1040px) { .cgc-v2 .fqw {grid-template-columns: 1fr;} }
.cgc-v2 .pf3 {display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(16px, 1.8vw, 30px);}
.cgc-v2 .pf {display: flex; flex-direction: column; text-decoration: none; color: var(--ink); background: rgb(255, 255, 255); border: 1.5px solid var(--c,#054652); padding: clamp(10px, 0.9vw, 14px); transition: transform .4s var(--ease),box-shadow .3s;}
.cgc-v2 .pf:hover {transform: translateY(-8px); box-shadow: rgba(2, 30, 36, 0.12) 0px 20px 40px;}
.cgc-v2 .pf .im {position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: rgb(5, 70, 82);}
.cgc-v2 .pf .im .photo {transition: transform 1.2s var(--ease);}
.cgc-v2 .pf:hover .im .photo {transform: scale(1.07);}
.cgc-v2 .pf h3 {margin: clamp(20px, 2vw, 32px) clamp(10px, 1vw, 16px) 8px; font: 300 clamp(24px,2.2vw,38px)/1.15 var(--display); color: var(--teal-deep);}
.cgc-v2 .pf p {margin: 0px clamp(10px, 1vw, 16px); color: var(--muted); font-size: clamp(17px, 1.2vw, 20px); flex: 1 1 0%;}
.cgc-v2 .pf .lm {margin: 18px clamp(10px, 1vw, 16px) clamp(8px, 1vw, 14px); align-self: flex-start; font: 500 12.5px var(--display); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); border-bottom: 2px solid var(--c,#054652); padding-bottom: 4px;}
.cgc-v2 .pf .lm::after {content: " ›";}
.cgc-v2 .tmw {position: relative;}
.cgc-v2 .tm {display: flex; gap: clamp(14px, 1.6vw, 26px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px;}
.cgc-v2 .tm::-webkit-scrollbar {display: none;}
.cgc-v2 .tm .pf {flex: 0 0 calc(0.25 * (100% - (3 * clamp(14px, 1.6vw, 26px)))); scroll-snap-align: start; border-color: rgb(157, 187, 193); --c: #008C9E;}
.cgc-v2 .tm .pf .im {aspect-ratio: 4 / 3;}
.cgc-v2 .tm .pf h3 {font-size: clamp(21px, 1.7vw, 29px);}
.cgc-v2 .tmc {display: flex; justify-content: flex-end; gap: 12px; margin-top: 22px;}
.cgc-v2 .tmc button {width: 50px; height: 50px; border: 1.5px solid rgb(5, 70, 82); background: rgb(255, 255, 255); color: var(--teal-deep); cursor: pointer; font: 300 22px var(--display); transition: background 0.25s, color 0.25s;}
.cgc-v2 .tmc button:hover {background: rgb(5, 70, 82); color: rgb(255, 255, 255);}
.cgc-v2 .srch {display: flex; gap: 12px; max-width: 900px;}
.cgc-v2 .srch input {flex: 1 1 0%; min-width: 0px; height: 60px; border: 1.5px solid rgb(157, 187, 193); background: rgb(255, 255, 255); padding: 0px 22px; font: 400 19px var(--sans); transition: border-color 0.3s, box-shadow 0.3s;}
.cgc-v2 .srch input:focus {outline: 0px; border-color: rgb(0, 140, 158); box-shadow: rgb(0, 140, 158) 0px 0px 0px 1px;}
.cgc-v2 .srch button {height: 60px; padding: 0px 34px; border: 0px; background: var(--teal-deep); color: rgb(255, 255, 255); font: 400 13px var(--display); letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; transition: background 0.25s;}
.cgc-v2 .srch button:hover {background: var(--teal-bright);}
.cgc-v2 .sj {display: grid; grid-template-columns: clamp(260px, 24vw, 340px) 1fr; gap: clamp(24px, 3.4vw, 56px); align-items: start; margin-top: clamp(30px, 3.4vw, 54px);}
.cgc-v2 .sj-f h2 {margin: 0px 0px 18px; font: 200 clamp(26px,2.2vw,36px) var(--display); color: var(--teal-deep);}
.cgc-v2 .fg {border: 1.5px solid rgb(157, 187, 193); background: rgb(247, 249, 249); margin-bottom: 10px;}
.cgc-v2 .fg summary {list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; font: 500 14px var(--display); letter-spacing: 0.1em; text-transform: uppercase; color: var(--teal-deep);}
.cgc-v2 .fg summary::-webkit-details-marker {display: none;}
.cgc-v2 .fg summary::after {content: "+"; font: 300 24px/1 var(--display); transition: transform 0.3s;}
.cgc-v2 .fg[open] summary::after {content: "–";}
.cgc-v2 .fg .op {padding: 2px 18px 16px; display: grid; gap: 10px;}
.cgc-v2 .fg label {display: flex; align-items: center; gap: 12px; font-size: 17px; color: var(--ink); cursor: pointer;}
.cgc-v2 .fg label span {margin-left: auto; color: var(--muted); font-size: 14px;}
.cgc-v2 .fg input[type="checkbox"] {appearance: none; width: 20px; height: 20px; border: 1.5px solid rgb(122, 154, 159); background: rgb(255, 255, 255); display: grid; place-items: center; cursor: pointer; flex: 0 0 auto; transition: background 0.2s, border-color 0.2s;}
.cgc-v2 .fg input[type="checkbox"]:checked {background: rgb(5, 70, 82); border-color: rgb(5, 70, 82);}
.cgc-v2 .fg input[type="checkbox"]:checked::after {content: ""; width: 5px; height: 10px; border-style: solid; border-color: rgb(255, 255, 255); border-image: initial; border-width: 0px 2px 2px 0px; transform: rotate(45deg) translate(-1px, -1px);}
.cgc-v2 .sj-clear {background: none; border: 0px; color: var(--teal-deep); text-decoration: underline; cursor: pointer; font-size: 16px; padding: 6px 0px; margin-bottom: 6px;}
.cgc-v2 .sj-alert {margin-top: 26px; border: 1.5px solid rgb(157, 187, 193); padding: 20px; background: rgb(255, 255, 255);}
.cgc-v2 .sj-alert h3 {margin: 0px 0px 10px; font: 400 12px var(--display); letter-spacing: 0.22em; text-transform: uppercase; color: var(--teal-bright);}
.cgc-v2 .sj-alert p {margin: 0px 0px 12px; color: var(--muted); font-size: 16px;}
.cgc-v2 .sj-alert input {width: 100%; box-sizing: border-box; height: 48px; border: 1px solid rgb(122, 154, 159); padding: 0px 14px; font: 400 16px var(--sans); margin-bottom: 10px;}
.cgc-v2 .sj-alert button {width: 100%; height: 48px; border: 0px; background: var(--teal-deep); color: rgb(255, 255, 255); font: 400 12.5px var(--display); letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer;}
.cgc-v2 .sj-alert button:hover {background: var(--teal-bright);}
.cgc-v2 .sj-top {display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 18px;}
.cgc-v2 .sj-top strong {font: 200 clamp(26px,2.4vw,40px) var(--display); color: var(--muted);}
.cgc-v2 .sj-top label {display: grid; gap: 6px; font: 400 12px var(--display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted);}
.cgc-v2 .sj-top select {height: 46px; border: 1.5px solid rgb(157, 187, 193); background: rgb(255, 255, 255); padding: 0px 14px; font: 400 16px var(--sans); min-width: 200px;}
.cgc-v2 .job .ds {margin: 12px 0px 0px; color: rgb(61, 91, 97); font-size: clamp(16px, 1.15vw, 19px); line-height: 1.5; max-width: 46em;}
.cgc-v2 .job .mt {display: flex; flex-wrap: wrap; gap: 6px 18px;}
.cgc-v2 .job .mt span::before {content: ""; display: inline-block; width: 7px; height: 7px; background: rgb(0, 140, 158); margin-right: 8px; transform: rotate(45deg);}
@media (max-width: 1040px) { .cgc-v2 .pf3 {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .tm .pf {flex-basis: 80%;} }
@media (max-width: 1040px) { .cgc-v2 .sj {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .srch {flex-direction: column;} }
.cgc-v2 .pf {border: 0px; padding: 0px; background: rgb(255, 255, 255); box-shadow: rgba(2, 30, 36, 0.1) 0px 8px 30px;}
.cgc-v2 .pf:hover {box-shadow: rgba(2, 30, 36, 0.16) 0px 22px 46px;}
.cgc-v2 .pf .im {aspect-ratio: 4 / 3;}
.cgc-v2 .pf h3 {margin: clamp(22px, 2vw, 32px) clamp(22px, 2vw, 32px) 10px;}
.cgc-v2 .pf p {margin: 0px clamp(22px, 2vw, 32px);}
.cgc-v2 .pf .lm {margin: 20px clamp(22px, 2vw, 32px) clamp(22px, 2vw, 32px); border-bottom: 2px solid rgb(0, 140, 158);}
.cgc-v2 .tm .pf {border: 0px;}
.cgc-v2 .jcw {position: relative;}
.cgc-v2 .jcs {display: flex; gap: clamp(14px, 1.6vw, 26px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 6px 6px 26px; margin: -6px -6px 0px;}
.cgc-v2 .jcs::-webkit-scrollbar {display: none;}
.cgc-v2 .jcard {flex: 0 0 calc(0.333333 * (100% - (2 * clamp(14px, 1.6vw, 26px)))); scroll-snap-align: start; background: rgb(255, 255, 255); box-shadow: rgba(2, 30, 36, 0.09) 0px 6px 24px; padding: clamp(24px, 2.2vw, 36px); display: flex; flex-direction: column; min-height: clamp(260px, 20vw, 320px); transition: transform .35s var(--ease),box-shadow .3s;}
.cgc-v2 .jcard:hover {transform: translateY(-6px); box-shadow: rgba(2, 30, 36, 0.15) 0px 18px 40px;}
.cgc-v2 .jcard h3 {margin: 0px 0px 20px; font: 300 clamp(23px,1.9vw,32px)/1.25 var(--display); color: var(--teal-deep);}
.cgc-v2 .jcard ul {list-style: none; margin: 0px 0px auto; padding: 0px; display: grid; gap: 10px;}
.cgc-v2 .jcard li {display: flex; align-items: center; gap: 12px; color: var(--muted); font-size: clamp(16px, 1.1vw, 18px);}
.cgc-v2 .jcard li svg {flex: 0 0 auto; width: 18px; height: 18px; color: var(--teal-deep);}
.cgc-v2 .jcard li strong {font: 500 13px var(--display); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink);}
.cgc-v2 .jcard .ap {align-self: flex-start; margin-top: 26px; display: inline-flex; align-items: center; height: 48px; padding: 0px 26px; background: var(--teal-deep); color: rgb(255, 255, 255); text-decoration: none; font: 400 12.5px var(--display); letter-spacing: 0.2em; text-transform: uppercase; transition: background 0.25s;}
.cgc-v2 .jcard .ap:hover {background: var(--teal-bright);}
.cgc-v2 .jcbar {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: clamp(8px, 1vw, 16px);}
.cgc-v2 .jcbar .jcc {display: flex; gap: 12px;}
.cgc-v2 .jcbar button {width: 50px; height: 50px; border: 1.5px solid rgb(5, 70, 82); background: rgb(255, 255, 255); color: var(--teal-deep); cursor: pointer; font: 300 22px var(--display); transition: background 0.25s, color 0.25s;}
.cgc-v2 .jcbar button:hover {background: rgb(5, 70, 82); color: rgb(255, 255, 255);}
.cgc-v2 .jcbar a {font: 500 13px var(--display); letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink); text-decoration: none; border-bottom: 2px solid rgb(0, 140, 158); padding-bottom: 4px;}
.cgc-v2 .jcbar a:hover {color: var(--teal-bright);}
.cgc-v2 .fqw {display: block;}
.cgc-v2 .fqw h2 {margin: 0px 0px 10px; font: 200 clamp(40px,5.2vw,90px)/1.05 var(--display);}
.cgc-v2 .fqw > div:first-child {margin-bottom: clamp(26px, 3vw, 48px);}
.cgc-v2 .fqw > div:last-child {max-width: 1120px;}
.cgc-v2 .fq,.cgc-v2 .fq:last-of-type {border-top: 0px; border-bottom: 1.5px solid rgb(0, 140, 158);}
.cgc-v2 .fq summary {padding: clamp(18px, 1.7vw, 26px) 4px; font: 200 clamp(21px,1.9vw,32px)/1.3 var(--display); color: var(--ink);}
.cgc-v2 .fq summary::after {border: 0px; background: none; width: auto; height: auto; font: 200 34px/1 var(--display); color: var(--ink);}
.cgc-v2 .fq[open] summary::after {background: none; color: var(--ink); transform: none;}
.cgc-v2 .fq summary:hover {padding-left: 4px; color: rgb(0, 140, 158);}
.cgc-v2 .rdy {display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: clamp(14px, 1.6vw, 26px); align-items: stretch;}
.cgc-v2 .rdy > * {padding: clamp(28px, 3vw, 50px);}
.cgc-v2 .rdy .big {background: rgb(225, 239, 241); display: flex; flex-direction: column; justify-content: space-between; gap: 30px;}
.cgc-v2 .rdy .big h2 {margin: 0px 0px 18px; font: 200 clamp(38px,4.6vw,78px)/1.05 var(--display); color: var(--ink);}
.cgc-v2 .rdy .big p {margin: 0px; color: rgb(49, 73, 78); font-size: clamp(18px, 1.4vw, 24px); max-width: 26em;}
.cgc-v2 .rdy .big a.bt {align-self: flex-start; display: inline-flex; align-items: center; height: 52px; padding: 0px 30px; background: var(--teal-deep); color: rgb(255, 255, 255); text-decoration: none; font: 400 13px var(--display); letter-spacing: 0.2em; text-transform: uppercase; transition: background 0.25s;}
.cgc-v2 .rdy .big a.bt:hover {background: var(--teal-bright);}
.cgc-v2 .rdy .sm {background: rgb(255, 255, 255); border: 1.5px solid rgb(0, 140, 158); display: flex; flex-direction: column; justify-content: space-between; gap: 26px; transition: box-shadow 0.3s, transform 0.3s;}
.cgc-v2 .rdy .sm:hover {box-shadow: rgba(2, 30, 36, 0.12) 0px 18px 40px; transform: translateY(-5px);}
.cgc-v2 .rdy .sm h3 {margin: 0px 0px 16px; font: 200 clamp(26px,2.4vw,40px)/1.15 var(--display); color: var(--ink);}
.cgc-v2 .rdy .sm p {margin: 0px; color: rgb(49, 73, 78); font-size: clamp(16px, 1.1vw, 19px);}
.cgc-v2 .rdy .sm a {align-self: flex-start; font: 500 12.5px var(--display); letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink); text-decoration: none; border-bottom: 2px solid rgb(0, 140, 158); padding-bottom: 4px;}
@media (max-width: 1040px) { .cgc-v2 .jcard {flex-basis: 82%;} }
@media (max-width: 1040px) { .cgc-v2 .rdy {grid-template-columns: 1fr;} }
.cgc-v2 .fqw > div:last-child {max-width: none; display: grid; gap: 14px;}
.cgc-v2 .fq,.cgc-v2 .fq:last-of-type {border: 1.5px solid rgb(157, 187, 193); border-radius: 16px; background: rgb(255, 255, 255); overflow: hidden; transition: border-color 0.3s, box-shadow 0.3s;}
.cgc-v2 .fq:hover,.cgc-v2 .fq[open] {border-color: rgb(0, 140, 158);}
.cgc-v2 .fq[open] {box-shadow: rgba(2, 30, 36, 0.09) 0px 14px 34px;}
.cgc-v2 .fq summary {padding: clamp(20px, 2vw, 32px) clamp(22px, 2.6vw, 42px);}
.cgc-v2 .fq summary:hover {padding-left: clamp(22px, 2.6vw, 42px);}
.cgc-v2 .fq .ans {padding: 0px clamp(22px, 2.6vw, 42px) clamp(22px, 2vw, 32px); max-width: 62em;}
@keyframes arcrun { 
  100% { stroke-dashoffset: -6.4; }
}
.cgc-v2 .mchips {display: flex; gap: 10px; flex-wrap: wrap; margin: 0px 0px 26px;}
.cgc-v2 .mchips span {border: 1.5px solid rgb(157, 187, 193); padding: 8px 18px; font: 400 13px var(--display); letter-spacing: 0.16em; text-transform: uppercase; color: var(--teal-deep); border-radius: 20px;}
.cgc-v2 .cta-o {margin-bottom: clamp(26px, 3vw, 44px);}
.cgc-v2 .cta-o h2,.cgc-v2 .cta-o p {text-wrap: balance;}
.cgc-v2 .cta-o .go {display: inline-flex; align-items: center; gap: 14px; height: 60px; padding: 0px 36px; background: rgb(0, 140, 158); color: rgb(255, 255, 255); text-decoration: none; font: 400 13.5px var(--display); letter-spacing: 0.2em; text-transform: uppercase; border-radius: 10px; white-space: nowrap; transition: background 0.25s, color 0.25s;}
.cgc-v2 .cta-o .go em {font-variant-ligatures: ; font-variant-caps: ; font-variant-numeric: ; font-variant-east-asian: ; font-variant-alternates: ; font-variant-position: ; font-variant-emoji: ; font-weight: ; font-stretch: ; font-size: ; line-height: ; font-family: ; font-optical-sizing: ; font-size-adjust: ; font-kerning: ; font-feature-settings: ; font-variation-settings: ; font-style: normal; transition: transform .3s var(--ease);}
.cgc-v2 .cta-o .go:hover em {transform: translateX(8px);}
.cgc-v2 .c2 {display: grid; grid-template-columns: 0.8fr 1.2fr; background: rgb(247, 249, 249); border: 1.5px solid rgb(157, 187, 193); border-radius: 20px; overflow: hidden; transition: border-color 0.3s, box-shadow 0.3s;}
.cgc-v2 .c2:hover {border-color: rgb(0, 140, 158); box-shadow: rgba(2, 30, 36, 0.1) 0px 18px 40px;}
.cgc-v2 .c2 .im {position: relative; min-height: clamp(260px, 22vw, 340px);}
.cgc-v2 .c2 .im .photo {transition: transform 1.2s var(--ease);}
.cgc-v2 .c2:hover .im .photo {transform: scale(1.06);}
.cgc-v2 .c2 .tx {padding: clamp(30px, 3.6vw, 60px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center;}
.cgc-v2 .c2 h2 {margin: 12px 0px; font: 200 clamp(30px,3.1vw,52px)/1.12 var(--display); color: var(--teal-deep);}
.cgc-v2 .c2 p {margin: 0px 0px 26px; color: var(--muted); font-size: clamp(18px, 1.35vw, 23px); max-width: 34em;}
.cgc-v2 .c2 .go {background: rgb(5, 70, 82);}
.cgc-v2 .c2 .go:hover {background: rgb(0, 140, 158);}
@media (max-width: 1040px) { .cgc-v2 .c2 {grid-template-columns: 1fr;} }
@media (max-width: 1040px) { .cgc-v2 .c2 .im {min-height: 220px;} }
.cgc-v2 .mapsec {grid-template-columns: 0.62fr 1.38fr !important;}
.cgc-v2 .mapw {position: relative; aspect-ratio: 2754 / 1235; background: rgb(255, 255, 255); border: 1.5px solid rgb(157, 187, 193); overflow: hidden;}
.cgc-v2 .mapw::before {display: none;}
.cgc-v2 .mapw .wm {position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: contain; display: block;}
.cgc-v2 .mapw .arc {position: absolute; inset: 0px; width: 100%; height: 100%;}
.cgc-v2 .mapw .arc path {fill: none; stroke: rgb(5, 70, 82); stroke-width: 0.35; stroke-dasharray: 1.2, 1.2; animation: 3.5s linear 0s infinite normal none running arcrun;}
.cgc-v2 .mapw .pin {position: absolute; width: 16px; height: 16px; margin: -8px; border-radius: 50%; background: rgb(255, 255, 255); border: 3px solid rgb(5, 70, 82); box-shadow: rgba(5, 70, 82, 0.18) 0px 0px 0px 6px; animation: 2.6s ease-in-out 0s infinite normal none running pinp;}
.cgc-v2 .mapw .pin.b {animation-delay: 0.9s;}
.cgc-v2 .mapw .tag {position: absolute; transform: translate(-50%, -100%); margin-top: -16px; background: rgb(5, 70, 82); color: rgb(255, 255, 255); padding: 6px 12px; border-radius: 8px; font: 400 12px var(--display); letter-spacing: 0.14em; text-transform: uppercase; white-space: nowrap;}
.cgc-v2 .mapleg {display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 14px; font-size: 16px; color: var(--ink);}
.cgc-v2 .mapleg span {display: flex; align-items: center; gap: 10px;}
.cgc-v2 .mapleg em {width: 16px; height: 16px; border-radius: 4px; flex: 0 0 auto;}
@media (max-width: 1040px) { .cgc-v2 .mapsec {grid-template-columns: 1fr !important;} }
.cgc-v2 .rdy .big {background: rgb(5, 70, 82);}
.cgc-v2 .rdy .big h2 {color: rgb(255, 255, 255);}
.cgc-v2 .rdy .big p {color: rgb(220, 236, 239);}
.cgc-v2 .rdy .big a.bt {background: rgb(0, 140, 158); color: rgb(255, 255, 255);}
.cgc-v2 .rdy .big a.bt:hover {background: rgb(255, 255, 255); color: rgb(5, 70, 82);}
.cgc-v2 .xint h2 {margin: 0px 0px clamp(22px, 2.4vw, 38px); font: 200 clamp(40px,5vw,86px)/1.04 var(--display); color: var(--ink); letter-spacing: -0.015em; max-width: 15em; text-wrap: balance;}
.cgc-v2 .xint .tx {max-width: 46em;}
.cgc-v2 .xint p {margin: 0px 0px 1.2em; font-size: clamp(19px, 1.4vw, 24px); line-height: 1.6; color: rgb(44, 67, 72);}
.cgc-v2 .jtm {display: flex; justify-content: flex-end; margin-top: 26px;}
.cgc-v2 .xint h2 {max-width: none; text-wrap: balance;}
.cgc-v2 .xint .tx {max-width: none; columns: 2; column-gap: clamp(30px, 5vw, 90px);}
.cgc-v2 .xint .tx p {break-inside: avoid; font-size: clamp(19px, 1.5vw, 25px);}
@media (max-width: 1040px) { .cgc-v2 .xint .tx {columns: 1;} }
.cgc-v2 .cov {padding: clamp(50px, 6vw, 100px) 0px clamp(60px, 7vw, 110px); overflow: hidden; background: rgb(255, 255, 255);}
.cgc-v2 .cov-h {text-align: left; margin: 0px 0px clamp(28px, 3.4vw, 56px); padding: 0 var(--gutter,24px);}
.cgc-v2 .cov-h .label {display: block; margin-bottom: 14px;}
.cgc-v2 .cov-h h2 {margin: 0px; font: 200 clamp(34px,4.2vw,72px)/1.08 var(--display); max-width: 18em; text-wrap: balance; color: var(--teal-deep);}
.cgc-v2 .cov-h p {max-width: 52em; margin: 18px 0px 0px; font-size: clamp(18px, 1.35vw, 23px); color: rgb(44, 67, 72);}
.cgc-v2 .cov-st {position: relative; height: clamp(380px, 36vw, 690px);}
.cgc-v2 .cv {position: absolute; top: 50%; left: var(--l,50%); width: var(--w); height: var(--h); transform: translate(-50%, -50%); border-radius: 14px; overflow: hidden; background: rgb(5, 70, 82); display: block; color: rgb(255, 255, 255); text-decoration: none; transition: left 1.9s cubic-bezier(0.45, 0.05, 0.2, 1), width 1.9s cubic-bezier(0.45, 0.05, 0.2, 1), height 1.9s cubic-bezier(0.45, 0.05, 0.2, 1), opacity 1.2s;}
.cgc-v2 .cv .ph {position: absolute; inset: 0px; background-size: cover; background-position: center center; transition: transform 3s cubic-bezier(0.2, 0.7, 0.2, 1);}
.cgc-v2 .cv.p0 .ph {transform: scale(1.04);}
.cgc-v2 .cv.p0 {--l: 50%; --w: clamp(240px,25vw,480px); --h: clamp(320px,33.3vw,640px); z-index: 3;}
.cgc-v2 .cv.pp1 {--l: 73%; --w: clamp(170px,18vw,340px); --h: clamp(230px,24vw,450px); z-index: 2;}
.cgc-v2 .cv.pm1 {--l: 27%; --w: clamp(170px,18vw,340px); --h: clamp(230px,24vw,450px); z-index: 2;}
.cgc-v2 .cv.pp2 {--l: 88%; --w: clamp(170px,18vw,340px); --h: clamp(230px,24vw,450px); z-index: 1; opacity: 0; pointer-events: none;}
.cgc-v2 .cv.pm2 {--l: 12%; --w: clamp(170px,18vw,340px); --h: clamp(230px,24vw,450px); z-index: 1; opacity: 0; pointer-events: none;}
.cgc-v2 .cv.hid {opacity: 0; pointer-events: none; --l: 50%; --w: clamp(90px,8vw,150px); --h: clamp(120px,10vw,190px); z-index: 0;}
.cgc-v2 .cv .pill {position: absolute; top: 16px; left: 16px; z-index: 2; max-width: calc(100% - 32px); background: rgba(70, 82, 84, 0.8); color: rgb(255, 255, 255); padding: 7px 14px; border-radius: 10px; font: 500 12.5px var(--display); letter-spacing: 0.06em; text-transform: uppercase; opacity: 0; transition: opacity 1.2s 0.8s;}
.cgc-v2 .cv .gl {position: absolute; left: 14px; right: 14px; bottom: 14px; z-index: 2; background: rgba(246, 248, 248, 0.74); backdrop-filter: blur(14px); border-radius: 14px; padding: 16px 18px; color: var(--ink); opacity: 0; transform: translateY(14px); transition: opacity 1.2s 0.8s, transform 1.4s cubic-bezier(0.2, 0.7, 0.2, 1) 0.8s;}
.cgc-v2 .cv.p0 .pill,.cgc-v2 .cv.p0 .gl {opacity: 1; transform: none;}
.cgc-v2 .cv .gl small {display: block; font: 500 12px var(--display); letter-spacing: 0.14em; text-transform: uppercase; color: var(--teal-deep); margin-bottom: 8px;}
.cgc-v2 .cv .gl small em {font-style: normal; font-weight: 400; color: rgb(49, 73, 78); margin-left: 8px; letter-spacing: 0.04em;}
.cgc-v2 .cv .gl strong {display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font: 300 clamp(16px,1.4vw,24px)/1.25 var(--display);}
.cgc-v2 .cov-ctl {display: flex; gap: 10px; padding: clamp(18px,2vw,30px) var(--gutter,24px) 0;}
.cgc-v2 .cov-ctl button {width: 46px; height: 46px; border: 0px; background: rgb(237, 243, 244); color: var(--teal-deep); border-radius: 10px; cursor: pointer; display: grid; place-items: center; transition: background 0.25s, color 0.25s;}
.cgc-v2 .cov-ctl button:hover {background: rgb(5, 70, 82); color: rgb(255, 255, 255);}
.cgc-v2 .cov-ctl svg {width: 18px; height: 18px;}
.cgc-v2 .cov-st {height: clamp(420px, 47vw, 860px);}
.cgc-v2 .cv,.cgc-v2 .cv {border-radius: 0px;}
.cgc-v2 .cv.p0 {--l: 50%; --w: clamp(240px,30.6vw,600px); --h: clamp(320px,40.8vw,800px);}
.cgc-v2 .cv.pp1 {--l: 82.7%; --w: clamp(170px,24.5vw,480px); --h: clamp(230px,32.7vw,640px);}
.cgc-v2 .cv.pm1 {--l: 17.3%; --w: clamp(170px,24.5vw,480px); --h: clamp(230px,32.7vw,640px);}
.cgc-v2 .cv .pill {opacity: 1; background: rgba(2, 30, 36, 0.35); border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 2px; padding: 6px 12px; font-size: 11.5px; transition: none;}
.cgc-v2 .cv .gl {border-radius: 4px; background: rgba(236, 240, 246, 0.78);}
.cgc-v2 .cv:not(.p0) .gl {opacity: 0;}
@media (max-width: 760px) { .cgc-v2 .cov-st {height: clamp(300px, 82vw, 420px);} }
@media (max-width: 760px) { .cgc-v2 .cv.p0 {--w: 56vw; --h: 76vw;} }
@media (max-width: 760px) { .cgc-v2 .cv.pp1,.cgc-v2 .cv.pm1 {--w: 30vw; --h: 42vw;} }
@media (max-width: 760px) { .cgc-v2 .cv.pp1 {--l: 92%;} }
@media (max-width: 760px) { .cgc-v2 .cv.pm1 {--l: 8%;} }
@media (max-width: 760px) { .cgc-v2 .cv.pp2,.cgc-v2 .cv.pm2 {opacity: 0;} }
.cgc-v2 .xint.x1 .tx {columns: 1; max-width: none;}
.cgc-v2 .xint.x1 .tx p {font-size: clamp(20px, 1.65vw, 28px); line-height: 1.55; max-width: none;}
.cgc-v2 .xint.x1 {padding-bottom: clamp(14px, 1.6vw, 26px);}
.cgc-v2 .xoff {padding-top: clamp(24px, 2.4vw, 40px);}
.cgc-v2 .job,.cgc-v2 .rdy .big,.cgc-v2 .rdy .sm {border-radius: var(--rc);}
.cgc-v2 .job,.cgc-v2 .sj-alert {border-radius: var(--rc);}
.cgc-v2 .pf,.cgc-v2 .jcard,.cgc-v2 .rdy .big,.cgc-v2 .rdy .sm {border-radius: var(--rc);}
.cgc-v2 .nv-card,.cgc-v2 .bg-big {overflow: hidden;}
.cgc-v2 .nv-card,.cgc-v2 .nv-feat {overflow: hidden;}
.cgc-v2 .pf,.cgc-v2 .jcard {overflow: hidden;}
.cgc-v2 .nv-img,.cgc-v2 .photo {border-radius: var(--rm);}
.cgc-v2 .pf .im,.cgc-v2 .photo {border-radius: var(--rm);}
.cgc-v2 .ph {border-radius: var(--rm);}
.cgc-v2 .nv-card .nv-img {border-radius: var(--rc) var(--rc) 0 0;}
.cgc-v2 .pf .im {border-radius: var(--rc) var(--rc) 0 0;}
.cgc-v2 .nv-card .nv-img .photo {border-radius: 0px;}
.cgc-v2 .nv-card .nv-img .photo,.cgc-v2 .bg-big .photo {border-radius: 0px;}
.cgc-v2 .pf .im .photo {border-radius: 0px;}
.cgc-v2 .hubs .hub {border-radius: var(--rc); overflow: hidden;}
.cgc-v2 .cv {filter: none;}
.cgc-v2 .ap,.cgc-v2 .jcard .ap,.cgc-v2 .rdy .big a.bt,.cgc-v2 .tmc button,.cgc-v2 .jcbar button {border-radius: var(--rs);}
.cgc-v2 .ap,.cgc-v2 .rdy .big a.bt {border-radius: var(--rs);}
.cgc-v2 .ap,.cgc-v2 .srch button,.cgc-v2 .srch input,.cgc-v2 .sj-alert input,.cgc-v2 .sj-alert button,.cgc-v2 .sj-top select,.cgc-v2 .fg,.cgc-v2 .fg input[type="checkbox"] {border-radius: var(--rs);}
.cgc-v2 .fq summary::after {border-radius: var(--rs);}
.cgc-v2 .pill {border-radius: 20px;}
.cgc-v2 .tag {border-radius: 20px;}
.cgc-v2 .jobs .job:hover {transform: translateY(-6px);}
.cgc-v2 .pf:hover {transform: translateY(-6px);}
.cgc-v2 .bg-big::before {border-radius: inherit;}
/* ---- Ajustes de la conversión a bloques ---- */
/* Fotos: las imágenes de fondo del prototipo son bloques Imagen */
.cgc-v2 figure.photo img, .cgc-v2 figure.ph img, .cgc-v2 figure.cgc-bg img, .cgc-v2 .nv-img img, .cgc-v2 .bg-big .photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; display: block; }
.cgc-v2 figure.cgc-bg { position: absolute; inset: 0; z-index: 0; margin: 0; }
.cgc-v2 .nv-img { position: relative; }
.cgc-v2 .nv-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(2,30,36,.55), rgba(5,70,82,.5) 60%, rgba(0,140,158,.3)); mix-blend-mode: multiply; pointer-events: none; }
.cgc-v2 .nv-img img { filter: saturate(.7) contrast(1.05); transition: transform 1.1s var(--ease); }
.cgc-v2 .nv-card:hover .nv-img img, .cgc-v2 .nv-feat:hover .nv-img img { transform: scale(1.06); }
.cgc-v2 .pf .im, .cgc-v2 .c2 .im { position: relative; }
/* Tarjetas de acceso (Actualidad) */
.cgc-v2 .hub { background: var(--teal-deep); }
.cgc-v2 .hub::before { z-index: 1; }
.cgc-v2 .hub > .wp-block-group { position: relative; z-index: 2; }
.cgc-v2 .u-white, .cgc-v2 .hub .tlink { color: #fff; }
.cgc-v2 p.tlink { display: inline-flex; width: max-content; }
/* Utilidades que sustituyen a los estilos en línea del prototipo */
.cgc-v2 section.u-pt0 { padding-top: 0; } .cgc-v2 section.u-pb0 { padding-bottom: 0; }
.cgc-v2 section.u-pt-s { padding-top: clamp(28px,3vw,48px); } .cgc-v2 .u-bg-off { background: #F7F9F9; }
.cgc-v2 .u-intro { margin: -10px 0 clamp(26px,3vw,46px) !important; font-size: clamp(20px,1.5vw,26px); color: var(--muted); max-width: 42em; }
.cgc-v2 .u-c1 { --c: #054652; } .cgc-v2 .u-c2 { --c: #008C9E; } .cgc-v2 .u-c3 { --c: #6CCBD8; }
.cgc-v2 .u-h-map { margin: 16px 0 22px !important; } .cgc-v2 .u-mb0 { margin-bottom: 0 !important; }
/* Carrusel horizontal de vacantes y de equipos */
.cgc-v2 .jcs > *, .cgc-v2 .tm > * { margin: 0; }
.cgc-v2 .jcard .ap, .cgc-v2 .rdy .bt, .cgc-v2 .rdy .sm a, .cgc-v2 .jcbar a, .cgc-v2 .cta-o .go { text-decoration: none; }
.cgc-v2 .jcard p:has(> .ap) { margin-top: auto; }
.cgc-v2 .rdy .big p:has(> a.bt), .cgc-v2 .rdy .sm p:has(> a) { margin: 0; }
.cgc-v2 .job .rt p { margin: 0; }
.cgc-v2 .job .mt span::before { vertical-align: middle; }
/* Lista de ofertas: filtrado */
.cgc-v2 .job.is-hidden, .cgc-v2 .nv-gone { display: none !important; }
.cgc-v2 .sj-empty { padding: 40px 0; font: 200 clamp(24px,2.2vw,36px)/1.2 var(--display); color: var(--teal-deep); }
/* Preguntas frecuentes (bloque Detalles) */
.cgc-v2 .wp-block-details.fq > summary { list-style: none; }
.cgc-v2 .wp-block-details.fq > summary::-webkit-details-marker { display: none; }
.cgc-v2 .fq .ans a { color: var(--teal-deep); }

/* ---- Carrusel «coverflow» de noticias (Inicio, Actualidad y Profesionales) ---- */
.cgc-v2 .cov-st { list-style: none; margin: 0; padding: 0; }
.cgc-v2 .cov-st > li { margin: 0; }
.cgc-v2 .cv { cursor: pointer; }
.cgc-v2 .cv.p0 { cursor: default; }
.cgc-v2 .cv figure.ph, .cgc-v2 .cv .wp-block-post-featured-image.ph { position: absolute; inset: 0; height: 100%; }
.cgc-v2 .cv .ph img { filter: none; }
.cgc-v2 .cv .gl .cv-k { display: block; margin: 0 0 8px; font: 500 12.5px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--teal-deep); }
.cgc-v2 .cv .gl .cv-k em { font-style: normal; font-weight: 400; color: #31494e; margin-left: 8px; letter-spacing: .04em; }
.cgc-v2 .cv .gl .wp-block-post-title { margin: 0; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font: 300 clamp(17px,1.4vw,24px)/1.25 var(--display); color: var(--ink); letter-spacing: 0; }
.cgc-v2 .cv .pill { font-size: 12.5px; }
.cgc-v2 .cov-ctl button.is-off { opacity: .55; }

/* ---- Noticias y blog con entradas reales (bucles de consulta) ---- */
.cgc-v2 .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.cgc-v2 .nv-grid3 > li, .cgc-v2 .bg-side > li, .cgc-v2 .nv-featq > li, .cgc-v2 .bg-bigq > li { display: flex; margin: 0; }
.cgc-v2 .nv-grid3 > li > *, .cgc-v2 .bg-side > li > *, .cgc-v2 .nv-featq > li > *, .cgc-v2 .bg-bigq > li > * { flex: 1; min-width: 0; }
.cgc-v2 .bg-top > .wp-block-query, .cgc-v2 .bg-top .bg-bigq, .cgc-v2 .bg-top .bg-side { height: 100%; }
.cgc-v2 .bg-side { height: 100%; grid-auto-rows: 1fr; }
.cgc-v2 .nv-feat .tx .wp-block-post-title { margin: 16px 0 0; font: 300 clamp(26px,2.6vw,44px)/1.2 var(--display); color: var(--teal-deep); }
.cgc-v2 .nv-card .wp-block-post-title { margin: 12px 0 0; font: 400 clamp(20px,1.5vw,26px)/1.3 var(--display); color: var(--ink); letter-spacing: 0; }
.cgc-v2 .bg-side .nv-card .wp-block-post-title { font-size: clamp(18px,1.35vw,23px); }
.cgc-v2 .bg-big .wp-block-post-title { margin: 12px 0 0; color: #fff; font: 300 clamp(26px,2.6vw,46px)/1.2 var(--display); }
.cgc-v2 .bg-big .photo { position: absolute; inset: 0; margin: 0; }
.cgc-v2 .nv-meta { margin: 0; }
.cgc-v2 .nv-meta em { font-style: normal; color: var(--muted); letter-spacing: .08em; margin-left: 10px; }
.cgc-v2 .bg-big .nv-meta em { color: #cfe3e6; }
.cgc-v2 .wp-block-post-excerpt__more-text, .cgc-v2 .wp-block-post-excerpt__more-link { display: none; }
.cgc-v2 .nv-feat .wp-block-post-excerpt__excerpt { margin: 16px 0 0; color: var(--muted); font-size: clamp(18px,1.3vw,22px); }
.cgc-v2 .nv-count:empty { visibility: hidden; }

/* ---- Esquinas redondeadas (rediseño v2) en el resto de la web ---- */
.cgc-acard, .cgc-about__photo img, .cgc-about__col, .cgc-careers .cgc-panel, .cgc-scard, .cgc-vcard, .cgc-tc, .cgc-fnd, .cgc-cta__in, .cgc-lg4, .cgc-two__ph img, .cgc-feat, .cgc-aimpact__ph { border-radius: 16px; }
.cgc-acard, .cgc-careers .cgc-panel, .cgc-vcard, .cgc-fnd, .cgc-lg4, .cgc-aimpact__ph { overflow: hidden; }
.cgc-fnd__fp { border-radius: 16px 0 0 16px; }
.cgc-feat__pic img { border-radius: 10px; }
.cgc-nav .wp-block-navigation__submenu-container { border-radius: 10px; overflow: hidden; }
.cgc-cta__form input[type="email"], .cgc-cta__form button[type="submit"], .cgc-dd-list { border-radius: 8px; }
.cgc-about::after { background: #9DBBC1; }
@media (max-width: 1040px) { .cgc-fnd__fp { border-radius: 16px 16px 0 0; } }

/* ---- Enlace destacado en la cabecera de página («Ver ofertas disponibles») ---- */
.cgc-pagehead .cgc-hlink { margin: clamp(22px,2.4vw,36px) 0 0 !important; width: auto !important; }
.cgc-pagehead .cgc-hlink a { display: inline-flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; font: 500 clamp(13px,.95vw,15px) var(--cgc-font-display); letter-spacing: .2em; text-transform: uppercase; border-bottom: 2px solid #6CCBD8; padding-bottom: 7px; transition: color .25s, border-color .25s; }
.cgc-pagehead .cgc-hlink a em { font: 300 22px/1 var(--cgc-font-display); font-style: normal; transition: transform .3s var(--cgc-ease); }
.cgc-pagehead .cgc-hlink a:hover { color: #6CCBD8; border-color: #fff; }
.cgc-pagehead .cgc-hlink a:hover em { transform: translateX(8px); }

/* Editor: secciones nuevas visibles y estáticas */
.editor-styles-wrapper .cgc-v2 .cv { position: relative; left: auto; top: auto; transform: none; width: auto; height: 320px; opacity: 1; display: inline-block; margin: 6px; }
.editor-styles-wrapper .cgc-v2 .cov-st { height: auto; }
