/* ==========================================================================
   GTC Capacitación — theme.css (Urantiacos SpA)
   Grilla y utilidades: Bootstrap 5 local. Aquí: tokens del Figma + componentes gtc-*.
   ========================================================================== */

/* Fuentes self-hosted ------------------------------------------------------ */
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-var.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"DM Sans";src:url("../fonts/dm-sans-var-ext.woff2") format("woff2");font-weight:100 1000;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Open Sans";src:url("../fonts/open-sans-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:"Open Sans";src:url("../fonts/open-sans-800-ext.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:"Roboto Slab";src:url("../fonts/roboto-slab-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}

/* Tokens (paleta exacta del Figma) ---------------------------------------- */
:root{
  --gtc-navy:#00328e;          /* azul GTC (títulos, menú, fondos) */
  --gtc-sky:#009fdf;           /* celeste GTC (botones, franja superior, números) */
  --gtc-deep:#002365;          /* overlay de banners */
  --gtc-ink:#2d2927;           /* texto */
  --gtc-ink-2:#1e1e1e;
  --gtc-gray:#f3f3f3;          /* fondos de sección */
  --gtc-input:#ebebeb;
  --gtc-line:#f0f0f0;
  --gtc-muted:#b2b2b2;
  --gtc-white:#fff;
  --gtc-grad:linear-gradient(90deg,#009fdf 0%,#00328e 100%);
  --gtc-shadow:0 1px 8px rgba(0,0,0,.25);
  --gtc-shadow-soft:0 10px 30px rgba(0,50,142,.12);
  --gtc-font:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --gtc-font-title:"Open Sans","DM Sans",system-ui,sans-serif;
  --gtc-font-slab:"Roboto Slab",Georgia,serif;
  --gtc-ease-back:cubic-bezier(.175,.885,.32,1.275);
  --gtc-ease-out:cubic-bezier(.215,.61,.355,1);
  --gtc-header-h:172px;
  --bs-body-font-family:var(--gtc-font);
  --bs-body-color:var(--gtc-ink);
  --bs-link-color-rgb:0,50,142;
  --bs-link-hover-color-rgb:0,159,223;
}

/* Base ---------------------------------------------------------------------- */
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--gtc-header-h) + 10px);}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{font-family:var(--gtc-font);color:var(--gtc-ink);font-size:17px;line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:var(--gtc-font-title);font-weight:800;color:var(--gtc-navy);line-height:1.2;}
a{color:var(--gtc-navy);text-decoration:none;transition:color .2s;}
a:hover{color:var(--gtc-sky);}
img{max-width:100%;height:auto;}
:focus-visible{outline:3px solid var(--gtc-sky);outline-offset:3px;}
.gtc-main{overflow-x:clip;}
.gtc-main:focus{outline:none;}
@media (min-width:1400px){.container{max-width:1242px;}}
.gtc-skip{position:absolute;left:-9999px;top:0;z-index:2000;background:var(--gtc-navy);color:#fff;padding:.6rem 1rem;}
.gtc-skip:focus{left:1rem;top:1rem;color:#fff;}
.gtc-empty{color:#6c6c6c;}

/* Tipografía de secciones */
.gtc-grad-text{background:var(--gtc-grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-bottom:.12em;}
.gtc-h2{font-size:clamp(34px,calc(3.65 * var(--vw)),55px);line-height:1.2;margin:0 0 .35em;}
.gtc-h2--md{font-size:clamp(28px,calc(2.98 * var(--vw)),45px);}
.gtc-h2--sm{font-size:clamp(28px,calc(2.65 * var(--vw)),40px);line-height:1.375;}
.gtc-lead{font-weight:600;font-size:clamp(18px,calc(1.46 * var(--vw)),22px);line-height:1.36;color:var(--gtc-ink);max-width:900px;margin:0 auto 1rem;}

/* Botón píldora (Figma: 76px de alto, DM Sans Bold 20) */
.gtc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:64px;padding:.9rem 2.6rem;border:0;border-radius:48px;background:var(--gtc-sky);background-image:var(--gtc-grad);background-size:220% 100%;background-position:0 0;color:#fff;font:700 clamp(17px,calc(1.32 * var(--vw)),20px)/1 var(--gtc-font);letter-spacing:.01em;box-shadow:var(--gtc-shadow);cursor:pointer;transition:background-position .45s ease,transform .25s ease,box-shadow .25s;text-decoration:none;}
.gtc-btn{background-image:linear-gradient(90deg,#009fdf 0%,#009fdf 45%,#00328e 100%);}
.gtc-btn:hover,.gtc-btn:focus-visible{color:#fff;background-position:100% 0;transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,50,142,.3);}
.gtc-btn .gtc-icon{transition:transform .25s;}
.gtc-btn:hover .gtc-icon{transform:translateX(3px);}
@media (min-width:992px){.gtc-btn{min-height:76px;padding:1rem 3.4rem;}}

/* Efectos de entrada (animations.js agrega .gtc-in) */
.gtc-fade-up{opacity:0;transform:translateY(40px);transition:opacity 1s var(--gtc-ease-out),transform 1.1s var(--gtc-ease-out);transition-delay:calc(var(--d,0) * 150ms);}
.gtc-fade{opacity:0;transition:opacity 1.2s ease;}
.gtc-fade-up.gtc-in,.gtc-fade.gtc-in{opacity:1;transform:none;}
.gtc-d1{--d:1;}
@media (prefers-reduced-motion:reduce){.gtc-fade-up,.gtc-fade{opacity:1;transform:none;transition:none;}}

/* ==========================================================================
   Header: franja de contacto fija + barra con logo y menú
   ========================================================================== */
.gtc-header{position:sticky;top:0;z-index:1030;background:#fff;box-shadow:var(--gtc-shadow);transition:box-shadow .3s;}
.admin-bar .gtc-header{top:32px;}
@media (max-width:782px){.admin-bar .gtc-header{top:46px;}}
@media (max-width:600px){.admin-bar .gtc-header{top:0;}}
.gtc-topbar{background:var(--gtc-sky);color:#fff;}
.gtc-topbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:52px;}
.gtc-topbar__contact{margin:0;font-weight:600;font-size:16px;letter-spacing:.01em;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;}
.gtc-topbar__contact a{color:#fff;}
.gtc-topbar__contact a:hover{color:#fff;text-decoration:underline;}
.gtc-topbar__sep{opacity:.9;}
.gtc-navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:120px;transition:min-height .3s ease;}
.gtc-brand{display:inline-flex;align-items:center;flex:0 0 auto;}
.gtc-logo{display:block;width:clamp(230px,calc(27.6 * var(--vw)),417px);height:auto;transition:width .3s ease;}
.gtc-header--scrolled .gtc-navbar__inner{min-height:84px;}
.gtc-header--scrolled .gtc-logo{width:clamp(200px,calc(20 * var(--vw)),300px);}

/* Menú principal (escritorio) */
.gtc-nav{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:clamp(.8rem,calc(1.65 * var(--vw)),1.6rem);}
.gtc-nav>li{position:relative;display:flex;align-items:center;}
.gtc-nav>li>a{display:block;padding:.55rem 0;color:var(--gtc-navy);font-weight:500;font-size:17px;letter-spacing:1px;line-height:18px;border-bottom:2px solid transparent;transition:border-color .25s,color .25s;}
.gtc-nav>li>a:hover,.gtc-nav>li:focus-within>a{color:var(--gtc-navy);border-bottom-color:var(--gtc-navy);}
.gtc-nav>li.current-menu-item>a,.gtc-nav>li.current-menu-ancestor>a,.gtc-nav>li.current_page_item>a,.gtc-nav>li.current-menu-parent>a{border-bottom-color:var(--gtc-navy);}
.gtc-sub-toggle{border:0;background:transparent;color:var(--gtc-navy);padding:0;width:32px;height:32px;margin:-6px -9px -6px -4px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;line-height:0;}
.gtc-sub-toggle .gtc-icon{transition:transform .25s;}
.gtc-nav .sub-menu{list-style:none;margin:0;padding:.75rem 1.25rem;position:absolute;top:100%;left:-1.25rem;min-width:305px;background:#fff;border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.14);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;z-index:20;}
.gtc-nav>li:last-child .sub-menu,.gtc-nav>li:nth-last-child(2) .sub-menu{left:auto;right:-1rem;}
.gtc-nav .sub-menu li+li{border-top:1px solid var(--gtc-muted);}
.gtc-nav .sub-menu a{display:block;padding:.62rem 0;color:var(--gtc-navy);font-size:17px;line-height:1.3;}
.gtc-nav .sub-menu a:hover,.gtc-nav .sub-menu .current-menu-item>a{color:var(--gtc-sky);}
.gtc-nav>li:hover>.sub-menu,.gtc-nav>li:focus-within>.sub-menu,.gtc-nav>li.is-open>.sub-menu{opacity:1;visibility:visible;transform:none;}
.gtc-nav>li:hover>.gtc-sub-toggle .gtc-icon,.gtc-nav>li.is-open>.gtc-sub-toggle .gtc-icon{transform:rotate(180deg);}
.gtc-mainnav{display:none;}
@media (min-width:1200px){.gtc-mainnav{display:block;}}

/* Hamburguesa + panel móvil a pantalla completa */
/* Buscador */
.gtc-navbar__tools{display:flex;align-items:center;gap:.25rem;}
.gtc-searchtoggle{width:48px;height:48px;border:0;border-radius:50%;background:transparent;color:var(--gtc-navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .25s,color .25s;}
.gtc-searchtoggle:hover,.gtc-searchtoggle[aria-expanded="true"]{background:var(--gtc-gray);color:var(--gtc-sky);}
.gtc-search{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid #e6e6e6;box-shadow:0 12px 24px rgba(0,0,0,.08);padding:1rem 0;}
.gtc-search[hidden]{display:none;}
.gtc-search__form{display:flex;gap:.6rem;max-width:760px;margin:0 auto;}
.gtc-search__input{flex:1 1 auto;min-width:0;height:52px;border:1px solid #d9d9d9;border-radius:30px;padding:0 1.3rem;font:inherit;font-size:16px;color:var(--gtc-ink);background:#fff;}
.gtc-search__input:focus{outline:none;border-color:var(--gtc-sky);box-shadow:0 0 0 3px rgba(0,159,223,.2);}
.gtc-search__btn{flex:0 0 auto;gap:.45rem;min-height:52px;padding:.6rem 1.6rem;font-size:16px;}
@media (max-width:575.98px){.gtc-search__btn span{display:none;}.gtc-search__btn{padding-inline:1rem;}}
.gtc-results{padding:clamp(2rem,calc(4 * var(--vw)),3.5rem) 0 clamp(3rem,calc(5 * var(--vw)),4.5rem);}
.gtc-results__head{margin-bottom:clamp(1.5rem,calc(3 * var(--vw)),2.5rem);}
.gtc-results__head .gtc-search__form{margin:0;}
.gtc-results__count{margin:1rem 0 0;color:var(--gtc-ink);}
.gtc-results__list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;}
.gtc-result{padding:1.25rem 1.5rem;border:1px solid #e6e6e6;border-radius:10px;background:#fff;transition:box-shadow .3s,border-color .3s;}
.gtc-result:hover{box-shadow:var(--gtc-shadow-soft);border-color:transparent;}
.gtc-result__type{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--gtc-sky);margin-bottom:.3rem;}
.gtc-result__title{font-size:clamp(19px,calc(1.5 * var(--vw)),23px);line-height:1.3;margin:0 0 .4rem;}
.gtc-result__title a{color:var(--gtc-navy);}
.gtc-result__title a:hover{color:var(--gtc-sky);}
.gtc-result__text{margin:0;font-size:15px;line-height:1.5;color:var(--gtc-ink);}
.gtc-result__text mark{background:rgba(0,159,223,.18);color:inherit;padding:0 .1em;border-radius:3px;}
.gtc-burger{width:48px;height:48px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:6px;cursor:pointer;padding:0;}
.gtc-burger span{display:block;height:3px;width:30px;margin:0 auto;background:var(--gtc-navy);border-radius:2px;transition:transform .3s,opacity .2s;}
@media (min-width:1200px){.gtc-burger{display:none;}}
.gtc-mpanel{position:fixed;inset:0;z-index:1100;background:#fff;display:flex;flex-direction:column;transform:translateX(-100%);visibility:hidden;transition:transform .45s var(--gtc-ease-out),visibility 0s linear .45s;overflow-y:auto;}
.gtc-mpanel.is-open{transform:none;visibility:visible;transition:transform .45s var(--gtc-ease-out),visibility 0s;}
.gtc-mpanel__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gtc-line);}
.gtc-mpanel__head .gtc-logo{width:220px;}
.gtc-mpanel__close{border:0;background:transparent;color:var(--gtc-navy);width:48px;height:48px;display:flex;align-items:center;justify-content:center;}
.gtc-mpanel__nav{padding:1rem 1.25rem;flex:1 0 auto;}
.gtc-mpanel__nav .gtc-nav{flex-direction:column;align-items:stretch;gap:0;}
.gtc-mpanel__nav .gtc-nav>li{flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid var(--gtc-line);}
.gtc-mpanel__nav .gtc-nav>li>a{font-size:22px;font-weight:700;padding:1rem 0;border:0;letter-spacing:.3px;opacity:0;transform:translateX(-24px);transition:opacity .4s,transform .4s;}
.gtc-mpanel.is-open .gtc-nav>li>a{opacity:1;transform:none;}
.gtc-mpanel.is-open .gtc-nav>li:nth-child(2)>a{transition-delay:.06s}.gtc-mpanel.is-open .gtc-nav>li:nth-child(3)>a{transition-delay:.12s}.gtc-mpanel.is-open .gtc-nav>li:nth-child(4)>a{transition-delay:.18s}.gtc-mpanel.is-open .gtc-nav>li:nth-child(5)>a{transition-delay:.24s}
.gtc-mpanel__nav .gtc-sub-toggle{width:48px;height:48px;margin:0;justify-content:center;}
.gtc-mpanel__nav .sub-menu{position:static;width:100%;min-width:0;box-shadow:none;padding:0 0 .75rem 1rem;opacity:1;visibility:visible;transform:none;display:none;}
.gtc-mpanel__nav li.is-open>.sub-menu{display:block;}
.gtc-mpanel__nav li.is-open>.gtc-sub-toggle .gtc-icon{transform:rotate(180deg);}
.gtc-mpanel__foot{padding:1.25rem;background:var(--gtc-gray);}
.gtc-mpanel__foot .gtc-clist a,.gtc-mpanel__foot .gtc-clist{color:var(--gtc-navy);}
.gtc-no-scroll{overflow:hidden;}

/* Redes sociales (cuadrados blancos con ícono azul) */
.gtc-social{list-style:none;margin:0;padding:0;display:flex;gap:16px;}
.gtc-social a{display:flex;align-items:center;justify-content:center;background:#fff;color:var(--gtc-sky);border-radius:8px;transition:transform .25s,background .25s,color .25s;}
.gtc-social--sm a{width:32px;height:32px;}
.gtc-social--lg{gap:16px;}
.gtc-social--lg a{width:58px;height:58px;color:var(--gtc-navy);}
.gtc-social a:hover{transform:translateY(-3px);background:var(--gtc-navy);color:#fff;}
.gtc-mpanel .gtc-social a{background:var(--gtc-navy);color:#fff;}

/* Breadcrumb */
.gtc-crumbbar{background:#fff;}
.gtc-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;padding:.95rem 0;font-size:15px;line-height:1.4;}
.gtc-breadcrumb li{display:inline-flex;align-items:center;gap:.45rem;color:var(--gtc-ink);}
.gtc-breadcrumb a{color:var(--gtc-ink);}
.gtc-breadcrumb a:hover{color:var(--gtc-sky);}
.gtc-breadcrumb [aria-current] span{color:var(--gtc-sky);font-weight:700;}
.gtc-breadcrumb__sep{color:var(--gtc-ink);}
.gtc-breadcrumb--light li,.gtc-breadcrumb--light a,.gtc-breadcrumb--light .gtc-breadcrumb__sep,.gtc-breadcrumb--light [aria-current] span{color:#fff;}

/* ==========================================================================
   Home: banner principal (imagen en movimiento + texto que entra desde la izquierda)
   ========================================================================== */
.gtc-hero{position:relative;overflow:hidden;min-height:clamp(440px,calc(41.3 * var(--vw)),625px);display:flex;align-items:center;color:#fff;background:var(--gtc-deep);}
.gtc-hero__bg{position:absolute;inset:-4%;will-change:transform;}
.gtc-hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center top;transform:scale(1.12);transform-origin:center top;animation:gtcKenBurns 2.6s var(--gtc-ease-out) forwards;}
.gtc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,35,101,.72) 0%,rgba(0,35,101,.35) 45%,rgba(0,35,101,0) 75%);pointer-events:none;}
.gtc-hero__inner{position:relative;z-index:2;padding-block:4rem;}
.gtc-hero__title{color:#fff;font-size:clamp(40px,calc(4.63 * var(--vw)),70px);line-height:1;margin:0 0 1.6rem;max-width:min(100%,9.4em);text-shadow:0 1px 8px rgba(0,0,0,.25);}
.gtc-hero__sub{font-weight:600;font-size:clamp(18px,calc(1.46 * var(--vw)),22px);line-height:1.36;letter-spacing:.01em;max-width:444px;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.25);opacity:0;transform:translateX(-50px);animation:gtcInLeft .9s cubic-bezier(.165,.84,.44,1) 1.25s forwards;}
@keyframes gtcKenBurns{to{transform:scale(1.02);}}
@keyframes gtcInLeft{to{opacity:1;transform:none;}}
/* Letras del título (gtc-split, ver theme.js) */
.gtc-split .gtc-ch{display:inline-block;opacity:0;transform:translateX(-50px);animation:gtcInLeft .3s var(--gtc-ease-out) forwards;animation-delay:calc(.35s + var(--i) * 32ms);white-space:pre;}
.gtc-split .gtc-word{display:inline-block;white-space:nowrap;}
@media (prefers-reduced-motion:reduce){.gtc-hero__bg img,.gtc-hero__sub,.gtc-split .gtc-ch{animation:none;opacity:1;transform:none;}}

/* ==========================================================================
   Cómo lo hacemos: círculo central + 4 pasos
   ========================================================================== */
.gtc-como{padding:clamp(3.5rem,calc(5.2 * var(--vw)),5rem) 0 clamp(3rem,calc(5 * var(--vw)),5rem);}
.gtc-como .gtc-lead{margin-bottom:2.5rem;}
.gtc-orbit{position:relative;display:grid;grid-template-columns:1fr minmax(0,515px) 1fr;grid-template-rows:auto auto;column-gap:clamp(1rem,calc(2.4 * var(--vw)),2.5rem);row-gap:clamp(2.5rem,calc(10 * var(--vw)),9.5rem);align-items:center;}
.gtc-orbit__center{grid-column:2;grid-row:1/3;justify-self:center;width:100%;max-width:515px;}
.gtc-orbit__ring{position:relative;aspect-ratio:1;border-radius:50%;padding:17px;background:#eee;box-shadow:inset 0 0 0 1px #e6e6e6;}
.gtc-orbit__ring::before{content:"";position:absolute;inset:17px;border-radius:50%;background:conic-gradient(from 210deg,#009fdf,#00328e,#009fdf);animation:gtcSpin 14s linear infinite;}
.gtc-orbit__ring img{position:relative;display:block;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:50%;border:15px solid transparent;background-clip:padding-box;transition:transform .8s var(--gtc-ease-out);}
.gtc-orbit__center:hover .gtc-orbit__ring img{transform:scale(1.03);}
@keyframes gtcSpin{to{transform:rotate(1turn);}}
@media (prefers-reduced-motion:reduce){.gtc-orbit__ring::before{animation:none;}}
.gtc-orbit__step{position:relative;display:flex;align-items:center;}
.gtc-orbit__step--1{grid-column:1;grid-row:1;}
.gtc-orbit__step--2{grid-column:3;grid-row:1;}
.gtc-orbit__step--3{grid-column:1;grid-row:2;}
.gtc-orbit__step--4{grid-column:3;grid-row:2;}
.gtc-orbit__text{position:relative;margin:0;background:#fff;border:4px solid var(--gtc-line);border-radius:10px;padding:1.2rem 1.5rem;font-weight:400;font-size:clamp(15px,calc(1.19 * var(--vw)),18px);line-height:1.28;color:var(--gtc-ink);min-height:165px;display:flex;align-items:center;box-shadow:0 1px 4px rgba(0,0,0,.08);transition:transform .35s,box-shadow .35s;}
.gtc-orbit__text strong{font-weight:700;}
.gtc-orbit__step:hover .gtc-orbit__text{transform:translateY(-4px);box-shadow:var(--gtc-shadow-soft);}
.gtc-orbit__num{position:relative;z-index:2;flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:108px;height:100px;font:600 58px/1 var(--gtc-font);color:var(--gtc-sky);background:#fff;filter:drop-shadow(0 1px 4.8px rgba(0,0,0,.25));}
/* forma de gota con la punta hacia el círculo (como el Figma) */
.gtc-orbit__step--l .gtc-orbit__text{flex:1 1 auto;padding-right:3.4rem;margin-right:-54px;}
.gtc-orbit__step--l .gtc-orbit__num{border-radius:50% 50% 50% 50%/50% 50% 50% 50%;border-top-right-radius:6px;}
.gtc-orbit__step--1 .gtc-orbit__num{border-radius:50%;border-bottom-right-radius:6px;}
.gtc-orbit__step--3 .gtc-orbit__num{border-radius:50%;border-top-right-radius:6px;}
.gtc-orbit__step--r{flex-direction:row-reverse;}
.gtc-orbit__step--r .gtc-orbit__text{flex:1 1 auto;padding-left:3.4rem;margin-left:-54px;}
.gtc-orbit__step--2 .gtc-orbit__num{border-radius:50%;border-bottom-left-radius:6px;}
.gtc-orbit__step--4 .gtc-orbit__num{border-radius:50%;border-top-left-radius:6px;}
/* arco: los pasos se acercan al círculo */
@media (min-width:1200px){
  .gtc-orbit__step--1,.gtc-orbit__step--3{margin-right:-1.5rem;}
  .gtc-orbit__step--2,.gtc-orbit__step--4{margin-left:-1.5rem;}
}
/* Tablet (768–1199): como la referencia, se oculta el círculo y quedan 2 columnas */
@media (min-width:768px) and (max-width:1199.98px){
  .gtc-orbit{grid-template-columns:1fr 1fr;grid-template-rows:auto auto;row-gap:2rem;}
  .gtc-orbit__center{display:none;}
  .gtc-orbit__step--1{grid-column:1;grid-row:1;}.gtc-orbit__step--2{grid-column:2;grid-row:1;}
  .gtc-orbit__step--3{grid-column:1;grid-row:2;}.gtc-orbit__step--4{grid-column:2;grid-row:2;}
  .gtc-orbit__step--r{flex-direction:row;}
  .gtc-orbit__step--r .gtc-orbit__text{padding-left:1.5rem;padding-right:3.4rem;margin-left:0;margin-right:-54px;}
  .gtc-orbit__num{width:92px;height:86px;font-size:50px;}
}
/* Móvil (<768): pasos 1 y 2, círculo al 85 %, pasos 3 y 4 */
@media (max-width:767.98px){
  .gtc-orbit{display:flex;flex-direction:column;gap:1.25rem;}
  .gtc-orbit__step--1{order:1}.gtc-orbit__step--2{order:2}.gtc-orbit__center{order:3;width:85%;margin:1.5rem auto;}.gtc-orbit__step--3{order:4}.gtc-orbit__step--4{order:5}
  .gtc-orbit__step,.gtc-orbit__step--r{flex-direction:row;width:100%;}
  .gtc-orbit__step .gtc-orbit__text,.gtc-orbit__step--r .gtc-orbit__text{min-height:0;padding:1.1rem 3.2rem 1.1rem 1.1rem;margin:0 -44px 0 0;}
  .gtc-orbit__num{width:80px;height:74px;font-size:42px;}
  .gtc-orbit__ring{padding:12px;}.gtc-orbit__ring::before{inset:12px;}.gtc-orbit__ring img{border-width:11px;}
}

/* ==========================================================================
   Grilla zigzag de servicios / productos (hover tipo "Our projects")
   ========================================================================== */
.gtc-servicios{padding:clamp(3rem,calc(5 * var(--vw)),4.75rem) 0 clamp(3rem,calc(5 * var(--vw)),5rem);border-top:1px solid #e6e6e6;}
.gtc-servicios--page{border-top:0;padding-top:clamp(1.5rem,calc(3 * var(--vw)),3rem);}
.gtc-sgrid{display:flex;flex-direction:column;gap:clamp(2rem,calc(4.6 * var(--vw)),4.4rem);}
.gtc-sgrid__head .gtc-h2{margin-bottom:.4rem;}
.gtc-sgrid__lead{font-weight:600;font-size:clamp(17px,calc(1.32 * var(--vw)),20px);line-height:1.25;letter-spacing:.01em;max-width:416px;margin:0;}
.gtc-sgrid__cell--cta{align-self:center;padding-left:clamp(0rem,calc(3 * var(--vw)),2.5rem);}
.gtc-sgrid__cell--l.gtc-sgrid__cell--cta{padding-left:0;}
/* Filas escalonadas (productos de un servicio) */
.gtc-sgrid__row{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;}
.gtc-sgrid__cell--n{flex:0 0 41.25%;}
.gtc-sgrid__cell--w{flex:0 0 54.45%;}
.gtc-sgrid__row--a .gtc-sgrid__cell--r{margin-top:68px;}
.gtc-sgrid__row--b .gtc-sgrid__cell--r{margin-top:55px;}
/* Dos columnas independientes (Inicio y Servicios), como en el diseño */
.gtc-sgrid--cols{flex-direction:row;align-items:stretch;gap:0;}
.gtc-sgrid__col{flex:0 0 54.45%;display:flex;flex-direction:column;gap:0;pointer-events:none;}
.gtc-sgrid__col > *{pointer-events:auto;}
.gtc-sgrid__col--r{margin-left:-8.9%;}
.gtc-sgrid__col--l > *{align-self:flex-start;}
.gtc-sgrid__col--r > *{align-self:flex-end;}
.gtc-sgrid--cols .gtc-sgrid__cell--n,.gtc-sgrid--cols .gtc-sgrid__cell--cta{flex:none;width:75.76%;}
.gtc-sgrid--cols .gtc-sgrid__cell--w{flex:none;width:100%;}
.gtc-sgrid--cols .gtc-sgrid__cell--cta{margin-block:auto;padding-left:0;}
/* Espacios medidos en el Figma (Home, 1512 px) */
.gtc-sgrid--cols{position:relative;}
.gtc-sgrid__col--l > :nth-child(2){margin-top:8.6%;}
.gtc-sgrid__col--l > :nth-child(3){margin-top:8.3%;}
.gtc-sgrid__col--l > :nth-child(4){margin-top:14.9%;}
.gtc-sgrid__col--l > :nth-child(n+5){margin-top:12.7%;}
.gtc-sgrid__col--r > :nth-child(1){margin-top:.75%;}
.gtc-sgrid__col--r > :nth-child(2){margin-top:15.4%;}
.gtc-sgrid__col--r > :nth-child(n+3):not(.gtc-sgrid__cell--cta){margin-top:26.2%;}
@media (max-width:991.98px){
  .gtc-sgrid,.gtc-sgrid--cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem 1.5rem;}
  .gtc-sgrid__row,.gtc-sgrid__col{display:contents;}
  .gtc-sgrid__cell--n,.gtc-sgrid__cell--w,.gtc-sgrid--cols .gtc-sgrid__cell--n,.gtc-sgrid--cols .gtc-sgrid__cell--w,.gtc-sgrid--cols .gtc-sgrid__cell--cta{flex:none;width:auto;margin:0!important;}
  .gtc-sgrid__headcell,.gtc-sgrid__cell--l.gtc-sgrid__cell--cta{grid-column:1/-1;}
  .gtc-sgrid__cell--cta{padding-left:0;}
}
@media (max-width:575.98px){.gtc-sgrid{grid-template-columns:1fr;}}

.gtc-scard__link{display:block;color:var(--gtc-navy);}
.gtc-scard__media{position:relative;display:block;overflow:hidden;border-radius:5px;background:var(--gtc-gray);}
.gtc-scard--n .gtc-scard__media{aspect-ratio:500/600;}
.gtc-scard--w .gtc-scard__media{aspect-ratio:660/600;}
@media (max-width:991.98px){.gtc-scard--n .gtc-scard__media,.gtc-scard--w .gtc-scard__media{aspect-ratio:4/4.2;}}
.gtc-scard__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .5s ease-out;}
.gtc-scard__link:hover .gtc-scard__media img,.gtc-scard__link:focus-visible .gtc-scard__media img{transform:scale(1.1) translate(10px,10px);transition:transform 5s ease-out;}
.gtc-scard__mask{position:absolute;inset:16px;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(1.25rem,calc(3 * var(--vw)),2.5rem);background:rgba(0,159,223,.72);opacity:0;transition:opacity .5s ease;}
.gtc-scard__link:hover .gtc-scard__mask,.gtc-scard__link:focus-visible .gtc-scard__mask{opacity:1;}
.gtc-scard__mask-title{font:500 clamp(26px,calc(3.1 * var(--vw)),48px)/1.18 var(--gtc-font-slab);color:#fff;max-width:12ch;transform:translateY(20px);transition:transform .6s var(--gtc-ease-out);}
.gtc-scard__mask-title{text-wrap:balance;}

.gtc-scard__link:hover .gtc-scard__mask-title{transform:none;}
.gtc-scard__plus{position:absolute;right:clamp(1rem,calc(2 * var(--vw)),1.6rem);bottom:clamp(1rem,calc(2 * var(--vw)),1.6rem);color:#fff;line-height:0;opacity:0;transform:scale(.3);transition:opacity .5s ease,transform .5s cubic-bezier(.6,-.28,.735,.045);}
.gtc-scard__link:hover .gtc-scard__plus,.gtc-scard__link:focus-visible .gtc-scard__plus{opacity:1;transform:scale(1);transition:opacity .5s ease,transform .5s var(--gtc-ease-back);}
.gtc-scard__title{font-size:clamp(21px,calc(1.98 * var(--vw)),30px);line-height:1.3;color:var(--gtc-navy);margin:1rem 0 0;padding-left:clamp(.75rem,calc(1.65 * var(--vw)),25px);transition:color .25s;}
.gtc-scard__link:hover .gtc-scard__title{color:var(--gtc-sky);}
@media (hover:none){.gtc-scard__mask{display:none;}}

/* Llamado "¿No encontraste…?" */
.gtc-cta__title{font-size:clamp(32px,calc(3.3 * var(--vw)),50px);line-height:1.3;margin:0 0 .35rem;max-width:9.6em;}
.gtc-cta__sub{font-weight:600;font-size:clamp(26px,calc(2.5 * var(--vw)),38px);line-height:1.2;letter-spacing:.01em;color:var(--gtc-ink);margin:0 0 1.6rem;}

/* Productos dentro de un servicio (fondo gris) */
.gtc-products{background:var(--gtc-gray);padding:clamp(3rem,calc(6.6 * var(--vw)),6.25rem) 0;}
.gtc-products__head{max-width:1110px;margin:0 auto clamp(2.5rem,calc(5 * var(--vw)),4.5rem);}
.gtc-products__head .gtc-lead{max-width:1030px;}

/* ==========================================================================
   Banners interiores + franja azul
   ========================================================================== */
.gtc-pbanner{position:relative;width:100%;min-height:280px;display:flex;align-items:center;background-color:var(--gtc-deep);background-size:cover;background-position:center top;color:#fff;overflow:hidden;}
.gtc-pbanner::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,35,101,.85) 0%,rgba(0,35,101,.55) 32%,rgba(0,35,101,0) 92%);}
.gtc-pbanner--plain{background-image:var(--gtc-grad);min-height:clamp(220px,calc(20 * var(--vw)),320px);}
@media (min-width:768px){.gtc-pbanner:not(.gtc-pbanner--plain){aspect-ratio:12/5;}}
.gtc-pbanner--plain::before{display:none;}
.gtc-pbanner .container{position:relative;}
.gtc-pbanner__title{color:#fff;font-size:clamp(34px,calc(3.64 * var(--vw)),55px);line-height:1.18;max-width:16ch;margin:0;text-shadow:0 1px 8px rgba(0,0,0,.25);}
.gtc-pbanner__sub{display:block;font-family:var(--gtc-font-title);font-weight:800;animation:gtc-sub-in .7s ease-out .5s both;}
@keyframes gtc-sub-in{from{opacity:0;transform:translateX(-16px);}to{opacity:1;transform:none;}}
@media (prefers-reduced-motion:reduce){.gtc-pbanner__sub{animation:none;}}
.gtc-band{background:var(--gtc-grad);color:#fff;padding:clamp(2rem,calc(3.4 * var(--vw)),3.2rem) 0;}
.gtc-band__text p{font-weight:600;font-size:clamp(16px,calc(1.32 * var(--vw)),20px);line-height:1.5;margin:0;max-width:1212px;}
.gtc-band__text p+p{margin-top:.9rem;}
.gtc-gbanner{background:var(--gtc-grad);color:#fff;padding:0 0 clamp(3rem,calc(5.6 * var(--vw)),5.4rem);}
.gtc-gbanner__title{color:#fff;font-size:clamp(34px,calc(4.3 * var(--vw)),65px);line-height:1.1;margin:clamp(1.5rem,calc(4 * var(--vw)),3.5rem) 0 0;}
.gtc-gbanner--center .gtc-gbanner__title{text-align:center;}

/* Texto (fichas, legales) */
.gtc-texto{padding:clamp(2.5rem,calc(4.2 * var(--vw)),4rem) 0;}
.gtc-texto--intro .gtc-prose > :last-child{margin-bottom:0;}
.gtc-texto--intro + .gtc-video{padding-top:0;}
.gtc-prose{font-weight:500;font-size:clamp(16px,calc(1.32 * var(--vw)),20px);line-height:1.4;color:var(--gtc-ink);}
.gtc-prose p{margin:0 0 1.2em;}
.gtc-prose h2,.gtc-prose h3{font-size:clamp(22px,calc(1.7 * var(--vw)),26px);margin:1.4em 0 .5em;}
.gtc-prose ul{padding-left:1.2em;margin:0 0 1.2em;}
.gtc-prose li{margin-bottom:.35em;}
.gtc-prose li::marker{color:var(--gtc-sky);}
.gtc-prose a{text-decoration:underline;text-underline-offset:3px;}
/* Bloque "Medios y texto" del editor (imagen al lado de cada párrafo) */
.gtc-prose .wp-block-media-text{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:clamp(1.25rem,calc(3 * var(--vw)),2.75rem);align-items:center;margin:0 0 clamp(1.75rem,calc(3 * var(--vw)),2.5rem);}
.gtc-prose .wp-block-media-text.has-media-on-the-right{grid-template-columns:1fr minmax(0,38%);}
.gtc-prose .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{order:2;}
.gtc-prose .wp-block-media-text.is-vertically-aligned-top{align-items:start;}
.gtc-prose .wp-block-media-text__media{margin:0;}
.gtc-prose .wp-block-media-text__media img{display:block;width:100%;height:auto;border-radius:10px;}
.gtc-prose .wp-block-media-text__content > :last-child{margin-bottom:0;}
.gtc-prose .wp-block-media-text__content h3{margin-top:0;}
@media (max-width:767.98px){.gtc-prose .wp-block-media-text.is-stacked-on-mobile,.gtc-prose .wp-block-media-text.is-stacked-on-mobile.has-media-on-the-right{grid-template-columns:1fr!important;}.gtc-prose .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media{order:0;}}
.gtc-prose--cols{column-gap:clamp(2rem,calc(5 * var(--vw)),5rem);font-size:16px;font-weight:400;text-align:justify;}
@media (min-width:992px){.gtc-prose--cols{columns:2;}}
.gtc-prose--cols h2,.gtc-prose--cols h3{font-size:16px;font-family:var(--gtc-font);font-weight:700;color:var(--gtc-ink);margin:0 0 .3em;break-after:avoid;}
.gtc-results{list-style:none;padding:0;}
.gtc-results li{padding:1rem 0;border-bottom:1px solid var(--gtc-line);}
.gtc-results a{font-weight:700;font-size:20px;}

/* ==========================================================================
   Video (miniatura + título + botón) y popup
   ========================================================================== */
.gtc-video{padding:clamp(3rem,calc(5 * var(--vw)),4.5rem) 0;}
.gtc-video__thumb{position:relative;display:block;width:100%;max-width:624px;aspect-ratio:624/496;padding:0;border:0;border-radius:10px;overflow:hidden;background:#000;cursor:pointer;box-shadow:var(--gtc-shadow-soft);}
.gtc-video__thumb img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .7s var(--gtc-ease-out),opacity .3s;}
.gtc-video__thumb:hover img{transform:scale(1.05);opacity:.9;}
.gtc-video__play{position:absolute;left:50%;top:50%;width:clamp(72px,calc(7 * var(--vw)),104px);height:clamp(72px,calc(7 * var(--vw)),104px);transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(0,0,0,.45);border:3px solid #fff;color:#fff;transition:transform .35s var(--gtc-ease-back),background .3s;}
.gtc-video__play .gtc-icon{margin-left:6px;width:46%;height:46%;}
.gtc-video__thumb:hover .gtc-video__play{transform:translate(-50%,-50%) scale(1.1);background:var(--gtc-sky);}
.gtc-video__play::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:3px solid rgba(255,255,255,.7);animation:gtcPulse 2.2s ease-out infinite;}
@keyframes gtcPulse{from{transform:scale(1);opacity:.9}to{transform:scale(1.45);opacity:0}}
@media (prefers-reduced-motion:reduce){.gtc-video__play::after{animation:none;}}
.gtc-video__title{font-size:clamp(26px,calc(2.3 * var(--vw)),35px);line-height:1.17;max-width:470px;margin:0 0 1.75rem;}
.gtc-vmodal{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:1rem;}
.gtc-vmodal[hidden]{display:none;}
.gtc-vmodal__backdrop{position:absolute;inset:0;background:rgba(0,14,40,.86);animation:gtcFadeIn .3s ease;}
.gtc-vmodal__box{position:relative;width:min(1100px,100%);animation:gtcZoomIn .4s var(--gtc-ease-out);}
.gtc-vmodal__frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:10px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.gtc-vmodal__frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.gtc-vmodal__close{position:absolute;right:0;top:-56px;width:48px;height:48px;border:0;border-radius:50%;background:#fff;color:var(--gtc-navy);display:flex;align-items:center;justify-content:center;cursor:pointer;}
@keyframes gtcFadeIn{from{opacity:0}}
@keyframes gtcZoomIn{from{opacity:0;transform:scale(.92)}}

/* ==========================================================================
   Galería coverflow
   ========================================================================== */
.gtc-gallery{background:var(--gtc-gray);padding:clamp(3rem,calc(5 * var(--vw)),4.5rem) 0 clamp(3.5rem,calc(6 * var(--vw)),5.5rem);}
.gtc-gallery__title{font-size:clamp(26px,calc(2.3 * var(--vw)),35px);line-height:1.17;max-width:940px;margin:0 auto clamp(2rem,calc(3.6 * var(--vw)),3.4rem);}
.gtc-cover{position:relative;height:clamp(320px,calc(46.5 * var(--vw)),703px);outline:none;}
.gtc-cover__track{position:relative;height:100%;}
.gtc-cover__item{position:absolute;left:50%;top:50%;width:clamp(240px,calc(41.3 * var(--vw)),625px);height:100%;margin:0;border-radius:10px;overflow:hidden;background:#d9d9d9;box-shadow:0 1px 8px rgba(0,0,0,.25);transform:translate(-50%,-50%) scale(.6);opacity:0;transition:transform .6s var(--gtc-ease-out),opacity .6s,filter .6s;cursor:pointer;}
.gtc-cover__item img{width:100%;height:100%;object-fit:cover;object-position:center top;pointer-events:none;}
.gtc-cover__item.is-active{cursor:default;}
.gtc-cover__nav{position:absolute;top:50%;z-index:30;width:54px;height:54px;margin-top:-27px;border:0;border-radius:50%;background:var(--gtc-sky);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--gtc-shadow);cursor:pointer;transition:transform .25s,background .25s;}
.gtc-cover__nav:hover{transform:scale(1.08);background:var(--gtc-navy);}
.gtc-cover__nav--prev{left:clamp(.5rem,calc(4.4 * var(--vw)),4.5rem);}
.gtc-cover__nav--next{right:clamp(.5rem,calc(4.4 * var(--vw)),4.5rem);}

/* ==========================================================================
   Casos de éxito (tarjetas tipo "great choicing")
   ========================================================================== */
.gtc-casos{padding:clamp(3.5rem,calc(6.2 * var(--vw)),6rem) 0 clamp(3.5rem,calc(6 * var(--vw)),5.75rem);}
.gtc-casos--azul{background:var(--gtc-navy);color:#fff;}
.gtc-casos--azul .gtc-h2{color:#fff;font-size:clamp(32px,calc(2.98 * var(--vw)),45px);}
.gtc-casos__lead{font-weight:600;font-size:clamp(17px,calc(1.32 * var(--vw)),20px);line-height:1.25;letter-spacing:.01em;max-width:675px;margin:0 auto clamp(2rem,calc(2.6 * var(--vw)),2.4rem);}
.gtc-casos--blanco{padding-top:clamp(2.5rem,calc(4 * var(--vw)),3.4rem);}
.gtc-casos__grid{max-width:1220px;margin-inline:auto;}
.gtc-casos__more{margin:clamp(2.2rem,calc(3.6 * var(--vw)),3.4rem) 0 0;}
.gtc-case{height:100%;}
.gtc-case__link{position:relative;display:block;aspect-ratio:380/502;border:10px solid var(--gtc-line);border-radius:30px;overflow:hidden;background:#3b3b3b;box-shadow:var(--gtc-shadow);color:#fff;isolation:isolate;transition:transform .4s var(--gtc-ease-out),box-shadow .4s;}
.gtc-case__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .9s var(--gtc-ease-out);z-index:-2;}
.gtc-case__link::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,14,40,0) 38%,rgba(0,14,40,.92) 100%);}
.gtc-case__link::before{content:"";position:absolute;left:0;right:0;bottom:0;top:100%;z-index:-1;background:linear-gradient(180deg,rgba(0,50,142,.35) 0%,rgba(0,14,40,.9) 100%);opacity:0;transition:top .4s ease .15s,opacity .4s ease .15s;}
.gtc-case__link:hover,.gtc-case__link:focus-visible{color:#fff;transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.35);}
.gtc-case__link:hover::before,.gtc-case__link:focus-visible::before{top:0;opacity:1;transition-delay:0s;}
.gtc-case__link:hover .gtc-case__img{transform:scale(1.08);}
.gtc-case__info{position:absolute;left:clamp(1rem,calc(2.2 * var(--vw)),1.6rem);right:clamp(1rem,calc(2.2 * var(--vw)),1.6rem);bottom:clamp(1rem,calc(2.2 * var(--vw)),1.6rem);display:flex;flex-direction:column;align-items:flex-start;transform:translateY(34px);transition:transform .35s ease .05s;}
.gtc-case__link:hover .gtc-case__info,.gtc-case__link:focus-visible .gtc-case__info{transform:none;}
.gtc-case__tag{display:inline-block;background:#fff;color:var(--gtc-ink-2);font-weight:700;font-size:clamp(13px,calc(1.06 * var(--vw)),16px);line-height:1;padding:.6rem 1.25rem;border-radius:20px;margin-bottom:.7rem;}
.gtc-case__title{color:#fff;font-size:clamp(21px,calc(1.72 * var(--vw)),26px);line-height:1.15;margin:0 0 .35rem;}
.gtc-case__emp{font-weight:500;font-size:clamp(16px,calc(1.32 * var(--vw)),20px);line-height:1.3;}
.gtc-case__more{display:inline-flex;align-items:center;gap:.4rem;margin-top:.7rem;font-weight:700;font-size:16px;color:#fff;opacity:0;transition:opacity .3s ease .1s;}
.gtc-case__link:hover .gtc-case__more,.gtc-case__link:focus-visible .gtc-case__more{opacity:1;}
@media (hover:none){.gtc-case__info{transform:none;}.gtc-case__more{opacity:1;}}

/* ==========================================================================
   Logos + certificación
   ========================================================================== */
.gtc-logos{padding:clamp(3.5rem,calc(5.8 * var(--vw)),5.5rem) 0 clamp(3rem,calc(5 * var(--vw)),4.5rem);}
.gtc-logos .gtc-h2{margin-bottom:clamp(1.5rem,calc(2.4 * var(--vw)),2.2rem);}
.gtc-logos__stage{position:relative;display:flex;align-items:center;gap:.5rem;}
.gtc-logos__viewport{overflow:hidden;flex:1 1 auto;min-width:0;}
.gtc-logos__arrow{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid #d9d9d9;border-radius:50%;background:#fff;color:var(--gtc-navy);cursor:pointer;transition:background .25s,color .25s,border-color .25s;}
.gtc-logos__arrow:hover,.gtc-logos__arrow:focus-visible{background:var(--gtc-sky);border-color:var(--gtc-sky);color:#fff;}
.gtc-logos__slider--single .gtc-logos__arrow{visibility:hidden;}
@media (max-width:575.98px){.gtc-logos__arrow{width:36px;height:36px;}}
.gtc-logos__track{list-style:none;margin:0;padding:0;display:flex;transition:transform .7s var(--gtc-ease-out);}
.gtc-logos__item{flex:0 0 20%;height:162px;display:flex;align-items:center;justify-content:center;padding:1rem 1.6rem;}
.gtc-logos__item img{max-height:92px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(.15);transition:transform .3s,filter .3s;}
.gtc-logos__item img:hover{transform:scale(1.07);filter:none;}
@media (max-width:991.98px){.gtc-logos__item{flex-basis:33.333%;height:130px;}}
@media (max-width:575.98px){.gtc-logos__item{flex-basis:50%;height:110px;padding:.75rem 1rem;}.gtc-logos__item img{max-height:70px;}}
.gtc-logos__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:0;margin-top:1.25rem;}
.gtc-logos__dots button{flex:0 0 32px;width:32px;height:32px;padding:0;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;}
.gtc-logos__dots button::before{content:"";width:14px;height:14px;border-radius:50%;background:#d9d9d9;transition:background .25s,transform .25s;}
.gtc-logos__dots button[aria-current="true"]::before{background:var(--gtc-sky);transform:scale(1.15);}
.gtc-cert{background:var(--gtc-navy);color:#fff;}
.gtc-cert__inner{display:flex;align-items:center;justify-content:center;gap:clamp(1.5rem,calc(4 * var(--vw)),3.75rem);min-height:295px;padding:2rem 0;flex-wrap:wrap;text-align:center;}
.gtc-cert__title{color:#fff;font:700 clamp(30px,calc(2.98 * var(--vw)),45px)/1.3 var(--gtc-font);letter-spacing:1px;margin:0;}
.gtc-cert__text p{margin:.5rem 0 0;max-width:520px;}
.gtc-cert__seal{width:clamp(170px,calc(16 * var(--vw)),241px);height:auto;transition:transform .6s var(--gtc-ease-back);}
.gtc-cert__seal:hover{transform:rotate(-8deg) scale(1.05);}

/* ==========================================================================
   Cómo lo hacemos (página): tarjetas de metodología
   ========================================================================== */
.gtc-metodos{padding:clamp(2rem,calc(4 * var(--vw)),3.5rem) 0 clamp(4rem,calc(7 * var(--vw)),6.5rem);}
.gtc-metodo{text-align:center;}
.gtc-metodo__media{border-radius:5px;overflow:hidden;aspect-ratio:585/411;margin-bottom:1rem;}
.gtc-metodo__media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform 1.2s var(--gtc-ease-out);}
.gtc-metodo:hover .gtc-metodo__media img{transform:scale(1.06);}
.gtc-metodo__title{font-size:clamp(21px,calc(1.65 * var(--vw)),25px);line-height:1.5;margin:0 0 .35rem;}
.gtc-metodo__text{font-size:clamp(16px,calc(1.19 * var(--vw)),18px);line-height:1.67;max-width:535px;margin:0 auto;}

/* ==========================================================================
   Blog
   ========================================================================== */
.gtc-bloglist{padding:clamp(2.5rem,calc(3.4 * var(--vw)),3.2rem) 0 clamp(3rem,calc(5 * var(--vw)),4.5rem);}
.gtc-post{display:grid;grid-template-columns:minmax(0,415px) 1fr;background:#fff;border-radius:5px;box-shadow:0 1px 8px rgba(0,0,0,.18);overflow:hidden;margin-bottom:1.6rem;transition:transform .35s var(--gtc-ease-out),box-shadow .35s;}
.gtc-post:hover{transform:translateY(-4px);box-shadow:var(--gtc-shadow-soft);}
.gtc-post__media{display:block;min-height:260px;background:var(--gtc-gray);overflow:hidden;}
.gtc-post__media img{width:100%;height:100%;object-fit:cover;object-position:center top;transition:transform .9s var(--gtc-ease-out);}
.gtc-post:hover .gtc-post__media img{transform:scale(1.05);}
.gtc-post__body{padding:clamp(1.4rem,calc(2.6 * var(--vw)),2.6rem) clamp(1.4rem,calc(2.6 * var(--vw)),2.4rem);}
.gtc-post__title{font-size:clamp(21px,calc(1.65 * var(--vw)),25px);line-height:1.5;margin:0 0 .6rem;}
.gtc-post__title a{color:var(--gtc-navy);}
.gtc-post__title a:hover{color:var(--gtc-sky);}
.gtc-post__excerpt{font-size:15px;line-height:1.4;}
.gtc-post__excerpt p{margin:0 0 .8rem;}
.gtc-post__more{display:inline-flex;align-items:center;gap:.4rem;font-weight:700;color:var(--gtc-sky);}
.gtc-post__more:hover{color:var(--gtc-navy);}
@media (max-width:767.98px){.gtc-post{grid-template-columns:1fr;}.gtc-post__media{aspect-ratio:16/10;min-height:0;}}
.gtc-pagination .nav-links{display:flex;gap:.5rem;justify-content:center;margin-top:2rem;}
.gtc-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border-radius:22px;border:1px solid var(--gtc-line);color:var(--gtc-navy);font-weight:700;}
.gtc-pagination .page-numbers.current,.gtc-pagination a.page-numbers:hover{background:var(--gtc-sky);border-color:var(--gtc-sky);color:#fff;}

/* ==========================================================================
   Contacto (página) y footer
   ========================================================================== */
.gtc-clist{list-style:none;margin:0 0 1.6rem;padding:0;display:grid;gap:.85rem;}
.gtc-clist li{display:flex;align-items:flex-start;gap:.55rem;font-weight:500;font-size:18px;line-height:1.35;}
.gtc-clist .gtc-icon{flex:0 0 auto;margin-top:2px;}
.gtc-clist a{color:inherit;}
.gtc-clist a:hover{text-decoration:underline;}
.gtc-map{border-radius:10px;overflow:hidden;aspect-ratio:527/169;width:100%;background:#e9edf2;}
@media (max-width:767.98px){.gtc-map{aspect-ratio:16/10;}}
.gtc-map{position:relative;}
.gtc-map iframe{width:100%;height:100%;border:0;display:block;}
.gtc-map__link{position:absolute;inset:0;z-index:1;}
.gtc-map__link:focus-visible{outline:3px solid var(--gtc-sky);outline-offset:-3px;}
.gtc-formcard{background:#fff;border-radius:25px;padding:clamp(1.5rem,calc(3.2 * var(--vw)),2.4rem) clamp(1.25rem,calc(2.5 * var(--vw)),2.4rem);box-shadow:0 10px 40px rgba(0,0,0,.12);color:var(--gtc-ink);}

.gtc-contact{position:relative;overflow:hidden;}
.gtc-contact__panel{position:absolute;top:0;bottom:0;right:0;width:55%;background:var(--gtc-grad);}
.gtc-contact .container{position:relative;}
.gtc-contact__info{padding:0 0 clamp(3rem,calc(5 * var(--vw)),3.5rem);background:#fff;}
.gtc-contact__info .gtc-breadcrumb ol{padding-bottom:clamp(2rem,calc(4.4 * var(--vw)),4.2rem);}
.gtc-contact__title{font-size:clamp(34px,calc(2.65 * var(--vw)),40px);margin:0 0 .6rem;}
.gtc-contact__lead{font-weight:500;font-size:clamp(18px,calc(1.46 * var(--vw)),22px);line-height:1.36;max-width:468px;margin:0 0 2rem;}
.gtc-contact__info .gtc-clist{color:var(--gtc-ink);}
.gtc-contact__info .gtc-map{aspect-ratio:468/324;}
.gtc-contact__formcol{display:flex;align-items:center;padding:clamp(2rem,calc(4 * var(--vw)),3rem) 0;}
.gtc-contact__formcol .gtc-formcard{width:100%;}
@media (max-width:991.98px){
  .gtc-contact__panel{display:none;}
  .gtc-contact__formcol{background:var(--gtc-grad);width:calc(100 * var(--vw));max-width:calc(100 * var(--vw));margin-inline:calc(50% - calc(50 * var(--vw)));padding:clamp(2.5rem,calc(7 * var(--vw)),3.5rem) calc(calc(50 * var(--vw)) - 50%);}
}

.gtc-footer{background:var(--gtc-grad);color:#fff;padding:clamp(3rem,calc(4.9 * var(--vw)),4.6rem) 0 2.5rem;}
.gtc-footer__top{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-bottom:clamp(1.8rem,calc(2.4 * var(--vw)),2.3rem);border-bottom:1px solid rgba(255,255,255,.75);}
.gtc-brand--white .gtc-logo{filter:brightness(0) invert(1);width:clamp(260px,calc(35 * var(--vw)),531px);}
.gtc-footer__follow{text-align:right;}
.gtc-footer__follow p{font-weight:500;font-size:clamp(20px,calc(1.72 * var(--vw)),26px);margin:0 0 .9rem;letter-spacing:.01em;}
.gtc-footer__follow .gtc-social{justify-content:flex-end;}
.gtc-footer__contact{padding:clamp(2rem,calc(2.5 * var(--vw)),2.4rem) 0 clamp(2rem,calc(3.2 * var(--vw)),3rem);border-bottom:1px solid rgba(255,255,255,.75);}
.gtc-footer__title{color:#fff;font-size:clamp(34px,calc(2.98 * var(--vw)),45px);margin:0 0 .5rem;}
.gtc-footer__lead{font-weight:500;font-size:clamp(18px,calc(1.46 * var(--vw)),22px);line-height:1.36;max-width:456px;margin:0 0 1.8rem;}
.gtc-footer__bottom{padding-top:2rem;text-align:center;font-weight:500;font-size:16px;letter-spacing:.01em;}
.gtc-footer__bottom p{margin:0 0 .3rem;}
.gtc-footer__bottom a{color:#fff;}
.gtc-footer__bottom a:hover{text-decoration:underline;}
@media (max-width:575.98px){.gtc-footer__follow{text-align:left;}.gtc-footer__follow .gtc-social{justify-content:flex-start;}}

/* Formulario (Contact Form 7) con el estilo del Figma */
.gtc-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem 1.5rem;}
.gtc-form__field{display:flex;flex-direction:column;gap:.75rem;font-weight:500;font-size:18px;line-height:1;color:var(--gtc-ink);}
.gtc-form__field--full{grid-column:1/-1;}
@media (max-width:575.98px){.gtc-form__grid{grid-template-columns:1fr;}}
.gtc-form .wpcf7-form-control-wrap{display:block;}
.gtc-form input[type=text],.gtc-form input[type=email],.gtc-form textarea{width:100%;border:2px solid transparent;border-radius:10px;background:var(--gtc-input);padding:1.4rem 1.5rem;font:400 18px/1.2 var(--gtc-font);color:var(--gtc-ink);transition:border-color .25s,background .25s;}
.gtc-form input[type=text],.gtc-form input[type=email]{height:72px;}
.gtc-form textarea{height:142px;resize:vertical;}
.gtc-form ::placeholder{color:#8a8583;}
.gtc-form input:focus,.gtc-form textarea:focus{outline:none;border-color:var(--gtc-sky);background:#fff;}
.gtc-form__foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.4rem;}
.gtc-form__legal{margin:0;font-size:13px;line-height:1.35;color:#6c6c6c;max-width:230px;}
.gtc-form__legal a{color:var(--gtc-navy);text-decoration:underline;}
.gtc-form .gtc-btn--send{min-height:64px;padding:1rem 3.6rem 1rem 2.6rem;font-size:17px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E"),linear-gradient(90deg,#009fdf 0%,#009fdf 45%,#00328e 100%);background-repeat:no-repeat;background-position:right 2.2rem center,0 0;background-size:20px 20px,220% 100%;}
.gtc-form .gtc-btn--send:hover{background-position:right 1.9rem center,100% 0;}
.gtc-form__foot{position:relative;}
.gtc-form .wpcf7-spinner{position:absolute;right:0;bottom:-30px;margin:0;}
.gtc-form .wpcf7-not-valid-tip{font-size:14px;color:#c01010;margin-top:.4rem;}
.gtc-form .wpcf7-response-output{margin:1rem 0 0!important;border-radius:10px;padding:.8rem 1rem!important;font-size:15px;}
.gtc-form__missing{margin:0;color:#6c6c6c;}

/* Ajustes móviles */
@media (max-width:575.98px){
  .container{padding-inline:20px;}
  .gtc-topbar .gtc-social{display:none;}
  .gtc-topbar__inner{min-height:40px;justify-content:center;}
  .gtc-topbar__contact{font-size:13px;gap:.4rem;justify-content:center;}
  .gtc-navbar__inner{min-height:76px;}
  .gtc-logo{width:200px;}
  .gtc-hero{min-height:520px;align-items:flex-end;}
  .gtc-hero__inner{padding-block:3rem 2.5rem;}
  .gtc-hero::after{background:linear-gradient(0deg,rgba(0,35,101,.85) 0%,rgba(0,35,101,.35) 60%,rgba(0,35,101,.1) 100%);}
  .gtc-btn{padding-inline:2rem;}
  .gtc-cover__nav{width:44px;height:44px;margin-top:-22px;}
}

/* v1.0.1: miniaturas de YouTube en 16:9 (sin recortar el texto) y chevron del menú móvil */
.gtc-video__thumb--yt{aspect-ratio:16/9;}
.gtc-mpanel__nav .gtc-nav>li{align-items:center;}
.gtc-mpanel__nav .gtc-sub-toggle .gtc-icon{width:22px;height:22px;}

/* v1.0.2: con sesión iniciada, el menú móvil queda bajo la barra de administración */
.admin-bar .gtc-mpanel{top:32px;}
@media (max-width:782px){.admin-bar .gtc-mpanel{top:46px;}}

/* ==========================================================================
   Escala del diseño (frames de 1512 px en Figma): entre 1200 y 1512 px de ancho
   todo se muestra proporcional, como la maqueta en pantallas más chicas.
   ========================================================================== */
:root{--gtc-z:1;--vw:1vw;--vh:1vh;}
@media (min-width:1200px) and (max-width:1279.98px){:root{--gtc-z:.794;}}
@media (min-width:1280px) and (max-width:1365.98px){:root{--gtc-z:.847;}}
@media (min-width:1366px) and (max-width:1439.98px){:root{--gtc-z:.903;}}
@media (min-width:1440px) and (max-width:1511.98px){:root{--gtc-z:.952;}}
@media (min-width:1200px) and (max-width:1511.98px){
  :root{--vw:calc(1vw / var(--gtc-z));--vh:calc(1vh / var(--gtc-z));}
  body{zoom:var(--gtc-z);}
  .container{max-width:1242px;}
}
/* Tarjetas: imagen + título caben en una pantalla; en pantallas bajas se recorta la foto por abajo y mantiene el ancho del título */
@media (min-width:992px){
  .gtc-scard__media{width:100%;max-height:max(320px, calc(100 * var(--vh) - 236px));}
  .gtc-case__link{max-height:max(360px, calc(100 * var(--vh) - 170px));}
}
/* Casos: el texto de la tarjeta se puede seleccionar aparte de la foto */
.gtc-case__link{-webkit-user-drag:none;}
.gtc-case__img{-webkit-user-select:none;user-select:none;pointer-events:none;}
.gtc-case__info{-webkit-user-select:text;user-select:text;}
