:root{
  --brand:#1B5FAE;
  --brand-dark:#F29B30;
  --brand-light:#0367A6;
  --brand-tint:#F6F9FC;
  --ink:#022873;
  --ink-2:#023059;
  --text-dark:#111111;
  --text-gray:#4A4A4A;
  --gray-1:#6B7A90;
  --gray-2:#9CACBE;
  --gray-3:#B3C7D8;
  --gray-4:#DCE4EC;
  --gray-5:#F2F2F2;
  --whatsapp:#0A6551;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%;}
body{font-family:'DM Sans',sans-serif;color:var(--ink-2);background:#fff;overflow-x:hidden;overflow-wrap:break-word;zoom:1.25;}
h1,h2,h3,.font-display{font-family:'Raleway',sans-serif;}
.site-container{max-width:1280px;margin:0 auto;padding:0 24px;}

/* Texto de contenido/párrafos sin tamaño Tailwind explícito: en negro para mayor legibilidad (no afecta nav, botones ni títulos) */
section p:not([class*="__"]):not([class*="btn"]):not([class*="text-sm"]):not([class*="text-xs"]):not([class*="text-lg"]):not([class*="text-xl"]){color:var(--text-dark);}
.check-item span:last-child{color:var(--text-dark)!important;}

/* Header — medidas calcadas de eja.com.pe (altura 112px, nav gap 24px, link pill, botón cápsula 50px) */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;height:112px;transition:background .35s ease, border-color .35s ease, height .35s ease;border-bottom:1px solid transparent;}
.site-header.is-scrolled{background:#fff;border-bottom-color:var(--gray-4);height:100px;}
.site-header > .site-container{height:100%;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0;}
.logo-mark{display:flex;flex-direction:column;line-height:1;}
.logo-mark__word{font-family:'Raleway',sans-serif;font-weight:800;font-size:1.6rem;letter-spacing:.06em;color:var(--brand-dark);transition:color .35s ease;}
.logo-mark__word em{font-style:normal;color:#fff;transition:color .35s ease;}
.is-scrolled .logo-mark__word em{color:var(--brand);}
.logo-mark__tag{font-family:'Raleway',sans-serif;font-weight:500;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65);margin-top:4px;transition:color .35s ease;}
.is-scrolled .logo-mark__tag{color:var(--gray-1);}
.site-footer .logo-mark__word{color:var(--brand-dark);}
.site-footer .logo-mark__word em{color:var(--brand);}
.site-footer .logo-mark__tag{color:var(--gray-1);}

.site-header__nav{display:flex;align-items:center;justify-content:center;gap:56px;flex:1;margin:0 48px;}
.nav-link{color:#fff;font-size:1rem;font-weight:500;letter-spacing:.01em;transition:all .3s ease;border:1px solid transparent;border-radius:100px;padding:8px 14px;line-height:1.4;}
.is-scrolled .nav-link{color:var(--text-dark);}
.nav-link:hover{border-color:rgba(255,255,255,.55);color:#fff;}
.is-scrolled .nav-link:hover{border-color:var(--brand);color:var(--text-dark);}
.nav-link.active{border-color:rgba(255,255,255,.55);font-weight:600;}
.is-scrolled .nav-link.active{border-color:var(--brand);}

.btn-contact{display:inline-flex;align-items:center;justify-content:center;height:50px;background:var(--brand);border:2px solid var(--brand);color:#fff;font-size:.9rem;font-weight:600;padding:0 30px;border-radius:25px;transition:all .3s ease;line-height:1;}
.btn-contact:hover{background:#fff;border-color:#fff;color:var(--brand);}
.is-scrolled .btn-contact:hover{background:var(--ink);border-color:var(--ink);color:#fff;}

.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;}
.burger span{width:24px;height:2px;background:#fff;transition:background .3s ease;}
.is-scrolled .burger span{background:var(--ink);}
.lang-switch{display:flex;align-items:center;gap:6px;font-size:.95rem;font-weight:700;margin-left:28px;}
.lang-switch__link{color:rgba(255,255,255,.6);transition:color .3s ease;}
.is-scrolled .lang-switch__link{color:var(--gray-2);}
.lang-switch__link.is-active{color:#fff;}
.is-scrolled .lang-switch__link.is-active{color:var(--brand);}
.lang-switch__link:hover{color:#fff;}
.is-scrolled .lang-switch__link:hover{color:var(--text-dark);}
.lang-switch__sep{color:rgba(255,255,255,.35);}
.is-scrolled .lang-switch__sep{color:var(--gray-3);}

/* Hero — overlay a pantalla completa */
.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(2,40,115,.4) 0%, rgba(2,40,115,.6) 55%, rgba(2,40,115,.9) 100%);}
.hero-content{position:relative;z-index:1;padding-bottom:100px;width:100%;}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--brand-light);font-weight:600;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:22px;}
.hero-title{font-weight:600;font-size:clamp(2.2rem,5.5vw,4.4rem);line-height:1.08;color:#fff;max-width:16ch;letter-spacing:-.01em;}
.hero-title em{font-style:normal;color:var(--brand-light);}
.hero-sub{color:rgba(255,255,255,.82);font-size:1.2rem;max-width:46ch;margin-top:22px;line-height:1.65;}
.hero-actions{margin-top:38px;display:flex;flex-wrap:wrap;gap:16px;}
.btn-primary{background:var(--brand);color:#fff;font-weight:600;font-size:.92rem;letter-spacing:.02em;padding:18px 34px;display:inline-flex;align-items:center;gap:12px;transition:all .25s ease;border:2px solid var(--brand);}
.btn-primary:hover{background:transparent;color:var(--brand);}
.btn-text{display:inline-flex;align-items:center;gap:10px;color:var(--text-dark);font-weight:600;font-size:.92rem;border-bottom:2px solid var(--ink);padding-bottom:4px;transition:all .25s ease;}
.btn-text:hover{color:var(--brand);border-color:var(--brand);gap:14px;}
.btn-ghost{border:1.5px solid rgba(255,255,255,.5);color:#fff;font-weight:600;font-size:.95rem;padding:16px 32px;transition:all .3s ease;}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;}

/* Section titles */
.eyebrow{display:inline-flex;align-items:center;gap:10px;color:#4A4A4A;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;}
.eyebrow::before{content:'';width:28px;height:2px;background:#4A4A4A;}
.eyebrow-plain{color:#4A4A4A;font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;}
.eyebrow-plain--light{font-weight:400;}
.section-title{font-weight:600;font-size:clamp(2rem,3.6vw,3.1rem);color:#111111;letter-spacing:-.02em;line-height:1.08;}

/* Botón cápsula para CTAs de sección (ej. "Ver más servicios"), calcado site-button de eja.com.pe */
.btn-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:52px;background:var(--brand);color:#fff;font-weight:600;font-size:.85rem;padding:0 26px;border-radius:26px;transition:all .3s ease;white-space:nowrap;}
.btn-pill:hover{background:var(--ink);color:#fff;}
.btn-pill--lg{height:64px;padding:0 34px;font-size:.95rem;gap:14px;}
.btn-pill--compact{height:52px;padding:0 30px;font-size:.85rem;gap:12px;}

/* Services — lista editorial horizontal, no cards */
.service-row{border-top:1px solid var(--gray-4);padding:44px 0;display:grid;grid-template-columns:100px 1fr auto;gap:36px;align-items:center;transition:background .3s ease;}
.service-row:last-child{border-bottom:1px solid var(--gray-4);}
.service-row:hover{background:var(--gray-5);}
.service-num{font-family:'Raleway',sans-serif;font-weight:800;font-size:1.4rem;color:var(--text-dark);}
.service-title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.5rem;color:var(--text-dark);}
.service-desc{color:var(--text-dark);font-size:1.08rem;line-height:1.7;margin-top:8px;max-width:60ch;}
.service-arrow{width:52px;height:52px;border:2px solid var(--ink);border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;transition:all .3s ease;}
.service-row:hover .service-arrow{background:var(--brand);border-color:var(--brand);}
.service-row:hover .service-arrow svg path{stroke:#fff;}
.service-arrow svg path{transition:stroke .3s ease;}

/* About */
.about-media{position:relative;border:3px solid var(--ink);}
.about-media img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(.15);}
.stat-box{background:var(--ink);color:#fff;padding:30px 28px;position:absolute;bottom:-3px;right:-3px;}
.stat-num{font-family:'Raleway',sans-serif;font-weight:800;font-size:2.4rem;line-height:1;color:var(--brand-light);}
.stat-label{font-size:.78rem;opacity:.85;margin-top:6px;letter-spacing:.02em;}
.check-item{display:flex;align-items:flex-start;gap:14px;}
.check-icon{flex:none;width:24px;height:24px;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;color:var(--brand);}

/* Stats billboard */
.stat-big{border-left:1px solid rgba(255,255,255,.15);padding-left:28px;}
.stat-big:first-child{border-left:none;padding-left:0;}
.stat-big-num{font-family:'Raleway',sans-serif;font-weight:800;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1;color:#fff;letter-spacing:-.02em;}
.stat-big-num span{color:var(--brand-light);}
.stat-big-label{color:rgba(255,255,255,.6);font-size:.85rem;margin-top:10px;letter-spacing:.02em;}

/* Team preview cards — retrato grande, sin redondeo */
.card-team{position:relative;}
.card-team__image{overflow:hidden;position:relative;border:1px solid var(--gray-4);border-radius:14px;}
.card-team__img{height:400px;width:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.card-team:hover .card-team__img{transform:scale(1.03);}
.card-team__img--top{object-position:50% 12%;}
.card-team__img--down{object-position:50% 30%;}
.card-team__img--zoom{object-position:50% 55%;transform:scale(1.05);}
.card-team:hover .card-team__img--zoom{transform:scale(1.1);}
.card-team__info{padding-top:18px;margin-top:18px;}
.card-team__name{font-family:'Raleway',sans-serif;font-weight:600;font-size:1.3rem;color:var(--text-dark);}
.card-team__profile{color:var(--brand);font-size:1rem;font-weight:600;margin-top:4px;text-transform:uppercase;letter-spacing:.04em;}
.card-team__button{display:inline-flex;align-items:center;gap:8px;color:var(--gray-2);font-size:.85rem;font-weight:600;margin-top:14px;transition:color .3s ease;}
.card-team__button:hover{color:var(--brand);}
.card-team__button svg{transition:transform .3s ease;}
.card-team__button:hover svg{transform:translate(2px,-2px);}

/* CTA band */
.cta-band{background:var(--ink);position:relative;overflow:hidden;}

/* Client logos */
.client-logo{border:1px solid var(--gray-4);background:#fff;height:88px;display:flex;align-items:center;justify-content:center;font-family:'Raleway',sans-serif;font-weight:700;color:var(--gray-2);font-size:.95rem;letter-spacing:.02em;transition:all .3s ease;}
.client-logo:hover{color:var(--brand);border-color:var(--brand);}

/* Clients marquee — cinta infinita de logos, se desliza sin cortes */
.clients-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);mask-image:linear-gradient(90deg, transparent 0, #000 80px, #000 calc(100% - 80px), transparent 100%);}
.clients-marquee__track{display:flex;align-items:center;width:max-content;animation:clients-marquee-scroll 32s linear infinite;padding:36px 0;}
.clients-marquee__item{flex:none;display:flex;align-items:center;justify-content:center;height:220px;width:360px;padding:0 50px;}
.clients-marquee__item img{max-height:88px;max-width:100%;object-fit:contain;filter:grayscale(1) opacity(.6);transition:filter .3s ease;}
.clients-marquee__item span{font-family:'Raleway',sans-serif;font-weight:700;color:var(--gray-2);font-size:1.7rem;letter-spacing:.01em;transition:color .3s ease;white-space:nowrap;}
.clients-marquee:hover .clients-marquee__track{animation-play-state:paused;}
.clients-marquee__item:hover img{filter:grayscale(0) opacity(1);}
.clients-marquee__item:hover span{color:var(--text-dark);}
@keyframes clients-marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media(max-width:640px){
  .clients-marquee__item{height:150px;width:260px;padding:0 30px;}
  .clients-marquee__item img{max-height:60px;}
  .clients-marquee__item span{font-size:1.3rem;}
}

/* Footer */
.site-footer{background:var(--gray-5);color:var(--ink-2);}
.footer-logo span{color:var(--brand-light);}
.footer-title{color:var(--brand);font-weight:700;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;}
.footer-link{color:var(--ink-2);font-size:.92rem;display:block;padding:4px 0;transition:color .3s ease;}
.footer-link:hover{color:var(--brand-light);}
.footer-bottom{border-top:1px solid var(--gray-4);color:var(--gray-1);}
.footer-bottom-link{color:var(--gray-1);transition:color .3s ease;}
.footer-bottom-link:hover{color:var(--brand);}
.social-icon{width:34px;height:34px;border-radius:50%;border:1px solid var(--gray-3);display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:all .3s ease;}
.social-icon:hover{background:var(--brand);border-color:var(--brand);color:#fff;}

/* WhatsApp float */
.wa-float{position:fixed;bottom:26px;right:26px;z-index:90;width:60px;height:60px;border-radius:50%;background:var(--whatsapp);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(10,101,81,.4);transition:transform .3s ease;}
.wa-float:hover{transform:scale(1.08);}

/* Cookie banner */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--ink);border-top:2px solid var(--brand);transform:translateY(100%);transition:transform .5s ease;}
.cookie-banner.is-visible{transform:translateY(0);}
.cookie-banner__inner{max-width:1280px;margin:0 auto;padding:22px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;}
.cookie-banner__inner p{color:rgba(255,255,255,.75);font-size:.85rem;max-width:60ch;line-height:1.6;}
.cookie-banner__inner p a{color:var(--brand-light);text-decoration:underline;}
.cookie-banner__actions{display:flex;align-items:center;gap:18px;flex:none;}
.cookie-banner .btn-primary{padding:12px 24px;font-size:.85rem;}

.reveal{opacity:0;transform:translateY(28px);}

@media(max-width:900px){
  .site-header__nav{display:none!important;}
  .burger{display:flex!important;}
  .service-row{grid-template-columns:1fr;gap:14px;}
  .service-arrow{display:none;}
  .stat-big{border-left:none;padding-left:0;}
}

/* ===================== Secondary pages ===================== */

/* Secondary hero (compact) — used on services/team/legal/contact pages */
.hero-sm{position:relative;min-height:50vh;display:flex;align-items:flex-end;overflow:hidden;padding-top:130px;}
.hero-sm .hero-content{padding-bottom:56px;}

/* Breadcrumb */
.breadcrumb{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.65);font-size:.85rem;font-weight:500;margin-top:18px;}
.breadcrumb a{color:rgba(255,255,255,.65);transition:color .3s ease;}
.breadcrumb a:hover{color:#fff;}
.breadcrumb span{color:var(--brand-light);}
.breadcrumb .current{color:var(--brand-light);font-weight:600;}

/* Service detail — service list "current" state + service scope + differentiators */
.service-row.is-current{background:var(--gray-5);}
.service-row.is-current .service-num{color:var(--text-dark);}
.service-scope-item{display:flex;align-items:flex-start;gap:16px;border-top:1px solid var(--gray-4);padding:22px 0;}
.service-scope-item:last-child{border-bottom:1px solid var(--gray-4);}
.service-scope-icon{flex:none;width:28px;height:28px;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;color:var(--brand);margin-top:2px;}
.service-scope-text{color:var(--ink-2);font-size:.98rem;line-height:1.65;}
.diff-num{font-family:'Raleway',sans-serif;font-weight:800;font-size:2rem;color:var(--brand);line-height:1;display:block;margin-bottom:12px;}
.diff-block{border-top:2px solid var(--ink);padding-top:20px;}
.diff-title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.15rem;color:var(--text-dark);margin-bottom:8px;}
.diff-desc{color:var(--gray-1);font-size:.92rem;line-height:1.65;}

/* Testimonials — editorial large quote (services listing, team listing, contact) */
.testi-card{border-left:3px solid var(--brand);padding:6px 0 6px 32px;height:100%;}
.testi-quote{color:var(--gray-4);font-size:3.4rem;font-family:'Raleway',serif;line-height:.6;display:block;}
.testi-text{color:var(--ink-2);font-size:1.05rem;line-height:1.75;margin-top:10px;font-family:'Raleway',sans-serif;font-weight:500;}
.testi-name{font-weight:700;color:var(--text-dark);font-size:.92rem;}
.testi-role{color:var(--gray-1);font-size:.8rem;}

/* Page banner — team listing/detail: dark solid bg with giant faded number */
.page-banner{position:relative;padding:200px 0 90px;background:var(--ink);overflow:hidden;}
.page-banner__num{position:absolute;top:-.18em;right:0;font-family:'Raleway',sans-serif;font-weight:800;font-size:clamp(9rem,22vw,18rem);color:var(--gray-5);opacity:.06;line-height:1;user-select:none;pointer-events:none;}
.page-banner__inner{position:relative;z-index:1;}
.page-banner .hero-eyebrow{color:var(--brand-light);}
.page-banner__title{font-weight:600;font-size:clamp(2.4rem,5vw,4rem);line-height:1.08;color:#fff;letter-spacing:-.01em;max-width:20ch;}

/* Page banner (photo variant) — nosotros.html: image bg with gradient overlay */
.page-banner--photo{position:relative;min-height:56vh;display:flex;align-items:flex-end;overflow:hidden;}
.page-banner--photo-bg{position:absolute;inset:0;z-index:0;}
.page-banner--photo-bg img{width:100%;height:100%;object-fit:cover;}
.page-banner--photo-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(2,40,115,.5) 0%, rgba(2,40,115,.65) 55%, rgba(2,40,115,.92) 100%);}
.page-banner--photo-content{position:relative;z-index:1;padding-bottom:56px;width:100%;}

/* Team section label (used in team listing + detail pages) */
.team-section-label{display:flex;align-items:center;gap:20px;margin-bottom:44px;}
.team-section-label__line{flex:1;height:1px;background:var(--gray-4);}
.team-section-label__text{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.4rem;color:var(--text-dark);white-space:nowrap;}

/* Team member detail — profile + credentials + contact card */
.profile-media{position:relative;border:3px solid var(--ink);}
.profile-media img{width:100%;height:100%;object-fit:cover;display:block;}
.profile-role-tag{display:inline-flex;align-items:center;background:var(--ink);color:#fff;font-family:'Raleway',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;padding:10px 18px;position:absolute;bottom:-1px;left:-1px;}
.profile-name{font-weight:700;font-size:clamp(2rem,3.6vw,3rem);color:var(--text-dark);letter-spacing:-.02em;line-height:1.1;}
.profile-bio p{color:var(--gray-1);line-height:1.8;font-size:1rem;}
.profile-bio p + p{margin-top:18px;}

/* Perfil de socio, estilo compacto (calcado eja.com.pe miembro) */
.member-role{font-family:'Raleway',sans-serif;font-weight:500;font-size:.95rem;color:var(--text-dark);}
.member-rule{border:none;border-top:1px solid var(--brand);margin:22px 0 26px;}
.member-linkedin{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--gray-5);color:var(--brand);margin-top:28px;transition:all .3s ease;}
.member-linkedin:hover{background:var(--brand);color:#fff;}
.credential-item{display:flex;align-items:flex-start;gap:14px;border-top:1px solid var(--gray-4);padding:20px 0;}
.credential-item:last-child{border-bottom:1px solid var(--gray-4);}
.credential-icon{flex:none;width:38px;height:38px;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;color:var(--brand);}
.credential-label{font-family:'Raleway',sans-serif;font-weight:700;font-size:.9rem;color:var(--text-dark);}
.credential-desc{color:var(--gray-1);font-size:.88rem;margin-top:2px;line-height:1.5;}
.contact-card{background:var(--gray-5);border:1px solid var(--gray-4);padding:28px;}
.contact-card__label{font-family:'Raleway',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1);margin-bottom:6px;}
.contact-card__value{font-weight:700;color:var(--text-dark);font-size:1.05rem;}

/* Clients page — trust cards + client-logo large variant */
.trust-card{border-left:3px solid var(--brand);padding:6px 0 6px 32px;height:100%;}
.trust-card__title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.15rem;color:var(--text-dark);}
.trust-card__text{color:var(--gray-1);font-size:.94rem;line-height:1.7;margin-top:10px;}
.client-logo--lg{height:110px;padding:16px;text-align:center;}
.client-logo__sub{display:block;font-weight:500;color:var(--gray-2);font-size:.78rem;margin-top:4px;letter-spacing:0;text-transform:none;}

/* Contact page — page hero, contact info list, form, map, outline social icons */
.page-hero{position:relative;padding:180px 0 70px;background:var(--ink);overflow:hidden;}
.page-hero::after{content:'';position:absolute;right:-80px;top:-80px;width:320px;height:320px;border:2px solid rgba(255,255,255,.06);}
.page-title{font-weight:600;font-size:clamp(2.4rem,5vw,3.6rem);color:#fff;letter-spacing:-.02em;line-height:1.05;}

.contact-info-item{display:flex;gap:18px;padding:26px 0;border-top:1px solid var(--gray-4);}
.contact-info-item:last-of-type{border-bottom:1px solid var(--gray-4);}
.contact-info-icon{flex:none;width:46px;height:46px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;color:var(--text-dark);}
.contact-info-label{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1);margin-bottom:4px;}
.contact-info-value{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text-dark);}
.contact-info-value a{transition:color .3s ease;}
.contact-info-value a:hover{color:var(--brand);}

.form-field{margin-bottom:22px;}
.form-label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);margin-bottom:10px;}
.form-input,.form-select,.form-textarea{width:100%;border:1.5px solid var(--gray-3);background:#fff;padding:14px 16px;font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--text-dark);transition:border-color .25s ease;}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--brand);}
.form-textarea{resize:vertical;min-height:140px;}

/* Formulario de contacto de ficha de servicio (calcado eja.com.pe contact form) */
.contact-form-eyebrow{font-family:'DM Sans',sans-serif;font-weight:400;font-size:.92rem;color:var(--text-dark);margin-bottom:6px;}
.contact-form-heading{font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);letter-spacing:-.02em;color:var(--text-dark);}
.contact-form-heading span{color:var(--gray-2);}
.contact-form-subheading{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.3rem;color:var(--text-dark);}
.contact-form-lead{color:var(--text-dark);font-size:.95rem;margin-top:6px;}
.contact-form-consent{display:flex;align-items:flex-start;gap:10px;margin:18px 0 24px;cursor:pointer;}
.contact-form-consent input{margin-top:3px;flex:none;width:16px;height:16px;accent-color:var(--brand);}
.contact-form-consent span{color:var(--text-dark);font-size:.86rem;line-height:1.5;}
.contact-form-consent a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;}
.contact-form button[type="submit"]:disabled{opacity:.5;cursor:not-allowed;}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7' fill='none'%3E%3Cpath d='M1 1L5.5 5.5L10 1' stroke='%23767676' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;}

.map-frame{width:100%;height:400px;border:3px solid var(--ink);display:block;}

.social-icon-outline{width:46px;height:46px;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;color:var(--text-dark);transition:all .3s ease;}
.social-icon-outline:hover{background:var(--brand);border-color:var(--brand);color:#fff;}

/* Legal page — article typography */
.legal-hero{background:var(--gray-5);padding:180px 0 64px;}
.legal-title{font-weight:600;font-size:clamp(2.4rem,4.6vw,3.6rem);color:var(--text-dark);letter-spacing:-.02em;line-height:1.1;margin-top:14px;}
.legal-updated{color:var(--gray-1);font-size:.85rem;margin-top:16px;letter-spacing:.02em;}
.legal-article{max-width:52rem;margin:0 auto;}
.legal-section{border-top:1px solid var(--gray-4);padding:40px 0;}
.legal-section:first-of-type{border-top:none;padding-top:8px;}
.legal-section-title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.4rem;color:var(--text-dark);display:flex;align-items:baseline;gap:14px;}
.legal-section-num{font-family:'Raleway',sans-serif;font-weight:800;font-size:1.1rem;color:var(--brand);flex:none;}
.legal-section p{color:var(--text-dark);font-size:1.12rem;line-height:1.8;margin-top:14px;}
.legal-section p + p{margin-top:12px;}
.legal-section ul{margin-top:14px;padding-left:20px;list-style:disc;color:var(--text-dark);font-size:1.12rem;line-height:1.8;}
.legal-section ul li + li{margin-top:6px;}
.legal-section a{color:var(--brand);text-decoration:underline;text-underline-offset:2px;}

/* About-us page — value blocks + history copy */
.value-block{border-top:2px solid var(--ink);padding-top:22px;}
.value-num{font-family:'Raleway',sans-serif;font-weight:800;font-size:2.6rem;color:var(--brand);line-height:1;display:block;margin-bottom:14px;}
.value-title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.3rem;color:var(--text-dark);margin-bottom:10px;}
.value-desc{color:var(--gray-1);font-size:.94rem;line-height:1.7;}

.history-copy p{margin-bottom:22px;}
.history-copy p:last-child{margin-bottom:0;}

/* ===================== Reconstructed rules (recovered from lost inline <style> blocks) ===================== */

/* Service detail — "current service" state alt. class name used on some pages (administrativo/administrative) */
.service-row.is-active{background:var(--gray-5);}
.service-row.is-active .service-num{color:var(--text-dark);}

/* Legal services page — advisor cards (team + external legal advisors) */
.advisor-card{display:block;border:1px solid var(--gray-4);padding:26px;transition:border-color .3s ease, background .3s ease;}
a.advisor-card:hover{border-color:var(--brand);background:var(--gray-5);}
.advisor-card__name{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text-dark);}
.advisor-card__role{color:var(--brand);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-top:4px;}
.advisor-card__desc{color:var(--gray-1);font-size:.9rem;line-height:1.6;margin-top:12px;}

/* Legal services page — service chip nav (links between the 6 service detail pages) */
.service-chip{display:inline-flex;align-items:center;border:1.5px solid var(--gray-3);color:var(--ink-2);font-size:.85rem;font-weight:600;padding:10px 20px;transition:all .3s ease;}
a.service-chip:hover{border-color:var(--brand);color:var(--brand);}
.service-chip.is-active{background:var(--ink);border-color:var(--ink);color:#fff;}

/* Auditores/Auditors — "scope" checklist (shorthand naming variant of .service-scope-item) */
.scope-list{display:flex;flex-direction:column;}
.scope-item{display:flex;align-items:flex-start;gap:16px;border-top:1px solid var(--gray-4);padding:22px 0;}
.scope-item:last-child{border-bottom:1px solid var(--gray-4);}
.scope-icon{flex:none;width:28px;height:28px;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;color:var(--brand);margin-top:2px;}
.scope-text{color:var(--ink-2);font-size:.98rem;line-height:1.65;}

/* Human Resources — detail media badge overlay (mirrors .about-media/.stat-box pattern) */
.detail-media{position:relative;border:3px solid var(--ink);overflow:hidden;}
.detail-media img{width:100%;height:100%;object-fit:cover;display:block;}
.detail-badge{background:var(--ink);color:#fff;padding:26px 24px;position:absolute;bottom:-3px;right:-3px;}
.detail-badge__num{font-family:'Raleway',sans-serif;font-weight:800;font-size:2rem;line-height:1;color:var(--brand-light);}
.detail-badge__label{font-size:.76rem;opacity:.85;margin-top:6px;letter-spacing:.02em;max-width:14ch;}

/* Human Resources / Finance — "what's included" checklist */
.include-list{display:flex;flex-direction:column;}
.include-item{display:flex;align-items:flex-start;gap:14px;border-top:1px solid var(--gray-4);padding:18px 0;}
.include-item:last-child{border-bottom:1px solid var(--gray-4);}
.include-icon{flex:none;width:24px;height:24px;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;color:var(--brand);margin-top:1px;}
.include-text{color:var(--ink-2);font-size:.95rem;line-height:1.65;}

/* Finance page — standalone hero icon above eyebrow/title */
.service-hero-icon{width:60px;height:60px;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;margin-bottom:22px;}

/* "Other services" nav grid — two naming variants found across service detail pages */
/* Variant A: recursos-humanos.html / human-resources.html */
.mini-service{display:block;border:1.5px solid var(--gray-3);padding:22px;transition:all .3s ease;}
.mini-service:hover{border-color:var(--brand);background:var(--gray-5);}
.mini-service__num{display:block;font-family:'Raleway',sans-serif;font-weight:800;font-size:1.3rem;color:var(--brand);}
.mini-service__title{display:block;font-family:'Raleway',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text-dark);margin-top:8px;}
.mini-service__arrow{display:inline-flex;align-items:center;gap:8px;color:var(--gray-2);font-size:.82rem;font-weight:600;margin-top:14px;transition:color .3s ease;}
.mini-service:hover .mini-service__arrow{color:var(--brand);}

/* Variant B: finanzas.html / finance.html (also used for "view all services" dark tile via inline style overrides) */
.mini-nav-item{display:block;border:1.5px solid var(--gray-3);background:#fff;padding:22px;transition:all .3s ease;}
.mini-nav-item:hover{border-color:var(--brand);background:var(--gray-5);}
.mini-nav-num{display:block;font-family:'Raleway',sans-serif;font-weight:800;font-size:1.3rem;color:var(--brand);}
.mini-nav-title{display:block;font-family:'Raleway',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text-dark);margin-top:8px;}
.mini-nav-arrow{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid var(--ink);border-radius:50%;color:var(--text-dark);margin-top:14px;transition:all .3s ease;}
.mini-nav-item:hover .mini-nav-arrow{background:var(--brand);border-color:var(--brand);color:#fff;}

/* Team profile — Carlos Gálvez contact rows (icon + label/value pair) */
.profile-contact-item{display:flex;align-items:flex-start;gap:14px;}
.profile-contact-icon{flex:none;width:38px;height:38px;border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;color:var(--brand);}
.profile-contact-label{font-family:'Raleway',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-1);}
.profile-contact-value{display:block;font-weight:700;color:var(--text-dark);font-size:1rem;margin-top:3px;transition:color .3s ease;}
.profile-contact-value:hover{color:var(--brand);}

/* Team profile — Francisco Pantigoso variant naming (duplicates of .eyebrow/.profile-bio/.profile-role-tag/.credential-*) */
.profile-eyebrow{display:inline-flex;align-items:center;gap:10px;color:var(--brand);font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;}
.profile-eyebrow::before{content:'';width:28px;height:2px;background:var(--brand);}
.profile-body p{color:var(--text-dark);line-height:1.8;font-size:1.14rem;}
.profile-body p + p{margin-top:18px;}
.profile-role-box{display:inline-flex;align-items:center;background:var(--ink);color:#fff;padding:10px 18px;margin-top:-1px;}
.profile-role-box__title{font-family:'Raleway',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;}
.credential-list{display:flex;flex-direction:column;}
.credential-list .credential-item{gap:14px;}
.credential-text{color:var(--ink-2);font-size:.95rem;line-height:1.6;}

/* Legal pages (cookies.html/privacidad.html/privacy.html) — hero meta, numbered heading, TOC sidebar, table, note callout */
.legal-hero-content{max-width:52rem;}
.legal-meta{color:var(--gray-1);font-size:.85rem;margin-top:14px;letter-spacing:.02em;}
.legal-num{display:inline-block;font-family:'Raleway',sans-serif;font-weight:800;color:var(--brand);margin-right:12px;}
.legal-note{background:var(--brand-tint);border-left:3px solid var(--brand);padding:18px 22px;margin-top:18px;}
.legal-note p{color:var(--ink-2);font-size:.92rem;line-height:1.6;margin-top:0;}

.legal-sidebar{position:sticky;top:120px;align-self:start;}
.legal-toc{border-left:2px solid var(--gray-4);padding-left:22px;}
.legal-toc p{font-family:'Raleway',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1);margin-bottom:14px;}
.legal-toc a{display:block;color:var(--ink-2);font-size:.88rem;line-height:1.9;transition:color .25s ease;}
.legal-toc a:hover{color:var(--brand);}

.legal-table-wrap{overflow-x:auto;margin-top:18px;border:1px solid var(--gray-4);}
.legal-table{width:100%;border-collapse:collapse;min-width:520px;font-size:.9rem;}
@media(max-width:767px){.legal-table{min-width:0;}}
.legal-table thead th{background:var(--gray-5);font-family:'Raleway',sans-serif;font-weight:700;color:var(--text-dark);text-align:left;padding:14px 18px;border-bottom:2px solid var(--ink);}
.legal-table tbody td{padding:14px 18px;color:var(--ink-2);line-height:1.6;border-top:1px solid var(--gray-4);vertical-align:top;}
.legal-table tbody tr:first-child td{border-top:none;}

@media(max-width:1023px){
  .legal-sidebar{display:none;}
}

/* ===================== Home v2 — estructura calcada de referencia (eja.com.pe), contenido/paleta propios de Hicafi ===================== */

/* Hero carrusel a pantalla completa */
.hero-carousel{position:relative;overflow:hidden;}
.hero-carousel__track{position:relative;overflow:hidden;height:800px;}
.hero-carousel__slide{position:absolute;inset:0;display:block;visibility:hidden;pointer-events:none;z-index:1;}
.hero-carousel__slide.is-active{visibility:visible;pointer-events:auto;z-index:2;}
.hero-carousel__title{opacity:0;transform:translateY(-40px);}
.hero-carousel__bg{position:relative;height:800px;overflow:hidden;}
.hero-carousel__bg::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(0deg, rgba(2,40,115,.4) 0%, rgba(2,40,115,.12) 100%);}
.hero-carousel__bg--plain::before{display:none;}
.hero-carousel__bg img{width:100%;height:100%;object-fit:cover;display:block;}
.hero-carousel__bg img.hero-carousel__bg-img--full{object-fit:contain;background:#1e7dc3;}
.hero-carousel__bg:has(img.hero-carousel__bg-img--full)::before{background:linear-gradient(0deg, rgba(2,40,115,.55) 0%, rgba(2,40,115,.2) 100%);}
.hero-carousel__info{position:absolute;inset:0;z-index:3;display:flex;align-items:center;}
.hero-carousel__block{max-width:64rem;padding-bottom:70px;}
.hero-carousel__title{color:#fff;font-family:'Raleway',sans-serif;font-weight:400;letter-spacing:-.02em;font-size:clamp(2.6rem,6vw,5.4rem);line-height:1.1;text-shadow:0 2px 24px rgba(0,0,0,.35);}
.hero-carousel__title strong{font-weight:400;color:#fff;}
.hero-carousel__break{display:none;}
@media(max-width:480px){.hero-carousel__break{display:block;}}
.hero-carousel__pagination{position:absolute;left:0;right:0;bottom:56px;z-index:4;display:flex;justify-content:flex-end;gap:6px;padding:0 24px;max-width:1280px;margin:0 auto;}
.hero-carousel__bullet{position:relative;display:flex;align-items:center;height:24px;overflow:hidden;background:none;border:none;cursor:pointer;padding:0;}
.hero-carousel__bullet span{color:#fff;opacity:.7;font-family:'Raleway',sans-serif;font-weight:600;font-size:1.05rem;}
.hero-carousel__bullet::after{content:'';display:inline-block;width:0;height:2px;background:var(--brand-light);margin-left:14px;transition:width .3s ease;}
.hero-carousel__bullet.is-active{opacity:1;}
.hero-carousel__bullet.is-active span{opacity:1;}
.hero-carousel__bullet.is-active::after{width:80px;}
@media(max-width:1024px){
  .hero-carousel__bg, .hero-carousel__track{height:700px;}
}
@media(max-width:767px){
  .hero-carousel__bg, .hero-carousel__track{height:600px;}
  .hero-carousel__pagination{bottom:24px;}
}

/* Servicios — cards imagen completa con overlay, calcado card-service2 */
.svc-full-card{position:relative;display:block;overflow:hidden;}
.svc-full-card__img-wrap{position:relative;height:520px;overflow:hidden;}
.svc-full-card__img-wrap::before{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(0deg, rgba(2,40,115,.7) 0%, rgba(2,40,115,0) 45%);}
.svc-full-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.svc-full-card:hover .svc-full-card__img{transform:scale(1.05);}
.svc-full-card__icon{position:absolute;top:24px;right:24px;z-index:3;width:52px;height:52px;border-radius:18px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:background .3s ease;}
.svc-full-card:hover .svc-full-card__icon{background:var(--brand);}
.svc-full-card__info{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:24px;}
.svc-full-card__head{display:flex;align-items:flex-start;gap:10px;padding-bottom:0;position:relative;transition:padding-bottom .35s ease;}
.svc-full-card__head::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:rgba(255,255,255,.2);opacity:0;transition:opacity .35s ease;}
.svc-full-card:hover .svc-full-card__head{padding-bottom:18px;}
.svc-full-card:hover .svc-full-card__head::after{opacity:1;}
.svc-full-card__num{color:#fff;font-family:'Raleway',sans-serif;font-weight:400;font-size:.95rem;}
.svc-full-card__title{color:#fff;font-family:'Raleway',sans-serif;font-weight:700;font-size:1.35rem;line-height:1.15;}
.svc-full-card__excerpt{color:#fff;opacity:0;font-size:.92rem;line-height:1.6;margin-top:0;max-height:0;overflow:hidden;transition:opacity .35s ease, margin-top .35s ease, max-height .35s ease;}
.svc-full-card:hover .svc-full-card__excerpt{opacity:.85;margin-top:12px;max-height:120px;}
.svc-full-card__more{display:flex;justify-content:flex-end;align-items:center;gap:6px;color:#fff;font-weight:600;font-size:.95rem;margin-top:16px;}
@media(max-width:1024px){
  .svc-full-card__img-wrap{height:440px;}
}
@media(max-width:767px){
  .svc-full-card__img-wrap{height:380px;}
}

/* Reconocimientos — carrusel de logos en línea */
/* Credenciales — carrusel infinito de tarjetas con logo + contexto */
.credentials-marquee__track{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:12px 0 36px;}
.credentials-marquee__card{border:1px solid var(--gray-4);background:#fff;padding:32px;transition:all .3s ease;}
.credentials-marquee__card:hover{border-color:var(--brand);box-shadow:0 16px 32px -16px rgba(2,40,115,.18);}
.credentials-marquee__card img{max-height:40px;max-width:170px;object-fit:contain;filter:grayscale(1) opacity(.8);transition:filter .3s ease;margin-bottom:22px;}
.credentials-marquee__card:hover img{filter:grayscale(0) opacity(1);}
.credentials-marquee__title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.02rem;color:var(--text-dark);margin-bottom:10px;}
.credentials-marquee__text{color:var(--text-dark);font-size:1.02rem;line-height:1.65;}
.recognitions-strip__disclaimer{color:var(--gray-2);font-size:.78rem;line-height:1.6;margin-top:8px;max-width:56rem;}
@media(max-width:1024px){
  .credentials-marquee__track{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:640px){
  .credentials-marquee__track{grid-template-columns:1fr;}
  .credentials-marquee__card{padding:24px;}
}

/* Nosotros — collage asimétrico de 3 fotos, calcado home-page__aboutus */
.about-collage{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;height:600px;}
.about-collage__img1{height:100%;}
.about-collage__stack{display:grid;grid-template-rows:1fr 1fr;gap:16px;height:100%;}
.about-collage figure{margin:0;overflow:hidden;height:100%;}
.about-collage img{width:100%;height:100%;display:block;object-fit:cover;}
.about-collage img.img--down{object-position:50% 25%;}
.about-collage img.img--zoom{object-position:50% 55%;transform:scale(1.05);}
.about-collage__quote{border-left:1px solid var(--brand);padding-left:22px;margin-top:20px;color:var(--text-dark);font-size:1.2rem;line-height:1.5;}
@media(max-width:767px){
  .about-collage{grid-template-columns:1fr;height:auto;}
  .about-collage__img1{height:420px;}
  .about-collage__stack{grid-template-rows:1fr;}
  .about-collage__stack .about-collage__img3{display:none;}
}

/* Noticias/Pódcast — lista horizontal, calcado home-page__news */
.news-row{display:flex;gap:26px;padding:26px 0;border-top:1px solid var(--gray-4);align-items:center;}
.news-row:last-child{border-bottom:1px solid var(--gray-4);}
.news-row__img{flex:none;width:220px;height:120px;border-radius:14px;overflow:hidden;}
.news-row__img img{width:100%;height:100%;object-fit:cover;display:block;}
.news-row__body{flex:1;display:flex;justify-content:space-between;align-items:center;gap:24px;}
.news-row__title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.2rem;color:var(--text-dark);}
.news-row__date{color:var(--gray-1);font-size:.85rem;text-transform:uppercase;letter-spacing:.02em;margin-top:8px;display:block;}
.news-row__arrow{flex:none;width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;transition:all .3s ease;}
.news-row:hover .news-row__arrow{background:var(--brand);border-color:var(--brand);}
.news-row:hover .news-row__arrow svg path{stroke:#fff;}
@media(max-width:767px){
  .news-row{flex-direction:column;align-items:flex-start;}
  .news-row__img{width:100%;height:180px;}
  .news-row__body{width:100%;}
}

/* ===================== Nosotros v2 — calcado de aboutus-page (eja.com.pe) ===================== */

/* Banner imagen sin texto encima, calcado aboutus-page__banner */
.about-banner{position:relative;height:540px;overflow:hidden;}
.about-banner img{width:100%;height:100%;object-fit:cover;display:block;}
.about-banner::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg, rgba(2,40,115,.55) 0%, rgba(2,40,115,.15) 100%);}
.about-banner__content{position:absolute;left:0;right:0;bottom:0;z-index:1;padding-bottom:48px;}
@media(max-width:1024px){.about-banner{height:500px;}}
@media(max-width:767px){.about-banner{height:400px;}}

/* Misión/Visión — 2 bloques con icono cuadrado, calcado aboutus-page__misionvision */
.mv-item{display:flex;flex-direction:column;}
.mv-icon{width:64px;height:64px;border-radius:8px;background:var(--brand);display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:32px;}
.mv-title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.4rem;color:var(--text-dark);margin-bottom:14px;}
.mv-text{color:var(--gray-1);font-size:.98rem;line-height:1.75;}
@media(max-width:767px){.mv-icon{width:52px;height:52px;margin-bottom:20px;}}

/* Fundadora — foto grande desplazada + bio, calcado aboutus-page__founder */
.founder-media{position:relative;}
.founder-media__img-wrap{height:544px;overflow:hidden;border:3px solid var(--ink);}
.founder-media img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:1024px){.founder-media__img-wrap{height:450px;}}
@media(max-width:767px){.founder-media__img-wrap{height:380px;}}

/* Fundadora v2 — layout más equilibrado con chips de credenciales */
.founder-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.founder-media__img-wrap--v2{height:460px;object-position:top;border:none;}
.founder-media__img-wrap--v2 img{object-position:50% 44%;}
.founder-role{font-family:'Raleway',sans-serif;font-weight:700;font-size:1rem;color:var(--brand);margin-top:6px;}
.founder-credentials{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;margin-top:28px;border-top:1px solid var(--gray-4);}
.founder-credentials__item{display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--gray-4);}
.founder-credentials__item span:last-child{color:var(--ink-2);font-size:.92rem;font-weight:500;}
@media(max-width:480px){
  .founder-credentials{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .founder-grid{grid-template-columns:1fr;gap:32px;}
  .founder-media__img-wrap--v2{height:380px;}
}

/* ===================== Servicios listado v2 — calcado services-page (eja.com.pe) ===================== */

/* Banner solo texto, sin imagen, con <hr> */
.services-banner{padding:200px 0 60px;}
.services-banner__title{font-weight:600;font-size:clamp(2.2rem,4.8vw,3.6rem);color:var(--text-dark);letter-spacing:-.02em;line-height:1.12;max-width:26ch;}
.services-banner__text{color:var(--gray-1);font-size:1.02rem;line-height:1.75;max-width:60ch;margin-top:22px;}
.services-banner__rule{border:none;border-top:1px solid var(--gray-4);margin-top:44px;}
.services-banner__title--center{max-width:32ch;margin-left:auto;margin-right:auto;}
.services-banner__text--center{max-width:60ch;margin-left:auto;margin-right:auto;}

/* Categoría de servicios (agrupador) */
.services-category{padding:56px 0;border-top:1px solid var(--gray-4);}
.services-category:first-of-type{border-top:none;}
.services-category__label{font-family:'Raleway',sans-serif;font-weight:600;font-size:2.2rem;color:var(--text-dark);margin-bottom:32px;}

/* Card de servicio simple (listado) — imagen sin overlay, calcado .card-service */
.card-service-lite{display:flex;flex-direction:column;height:100%;border:1px solid var(--gray-4);border-radius:16px;overflow:hidden;transition:border-color .35s ease, box-shadow .35s ease, transform .35s ease;}
.card-service-lite:hover{border-color:var(--ink);box-shadow:0 20px 45px -18px rgba(2,40,115,.35);transform:translateY(-4px);}
.card-service-lite__img{height:240px;overflow:hidden;position:relative;}
.card-service-lite__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.card-service-lite:hover .card-service-lite__img img{transform:scale(1.08);}
.card-service-lite__icon{width:72px;height:72px;background:var(--brand);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;margin:-36px 0 22px 26px;position:relative;z-index:1;transition:background .35s ease, color .35s ease;}
.card-service-lite__icon svg{width:34px;height:34px;}
.card-service-lite:hover .card-service-lite__icon{background:var(--brand-light);color:var(--text-dark);}
.card-service-lite__body{padding:0 26px 26px;background:#fff;transition:background .35s ease;flex:1;}
.card-service-lite:hover .card-service-lite__body{background:var(--ink);}
.card-service-lite__title{font-family:'Raleway',sans-serif;font-weight:600;font-size:1.15rem;color:var(--text-dark);line-height:1.3;transition:color .35s ease;}
.card-service-lite:hover .card-service-lite__title{color:#fff;}
.card-service-lite__excerpt{color:var(--gray-1);font-size:1.04rem;line-height:1.6;margin-top:10px;transition:color .35s ease;}
.card-service-lite:hover .card-service-lite__excerpt{color:rgba(255,255,255,.82);}

/* ===================== Ficha de servicio v2 — calcado service-detail (eja.com.pe) ===================== */

/* Banner: foto grande + bloque de título/CTA al lado */
.svc-detail-banner{padding:100px 0 70px;}
.svc-detail-banner__grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:center;}
.svc-detail-banner__img{height:520px;overflow:hidden;}
.svc-detail-banner__img img{width:100%;height:100%;object-fit:cover;display:block;}
.svc-detail-banner__title{font-weight:600;font-size:clamp(3rem,6vw,5rem);color:var(--text-dark);letter-spacing:-.02em;line-height:1.1;max-width:14ch;}
@media(max-width:1024px){
  .svc-detail-banner__grid{grid-template-columns:1fr;gap:36px;}
  .svc-detail-banner__img{height:460px;order:-1;}
}

/* Info: sidebar TOC sticky + contenido H3/P */
.svc-detail-info{display:grid;grid-template-columns:280px 1fr;gap:64px;align-items:start;}
.svc-detail-toc{position:sticky;top:120px;}
.svc-detail-toc__label{font-family:'Raleway',sans-serif;font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-1);margin-bottom:16px;}
.svc-detail-toc__list{border-left:2px solid var(--gray-4);padding-left:20px;}
.svc-detail-toc__list a{display:block;color:var(--ink-2);font-size:.9rem;line-height:1.95;transition:color .25s ease;}
.svc-detail-toc__list a:hover{color:var(--brand);}
.svc-detail-share{display:flex;gap:10px;margin-top:32px;}
.svc-detail-content h3{font-family:'Raleway',sans-serif;font-weight:600;font-size:1.65rem;color:var(--brand);margin-top:44px;}
.svc-detail-content h3:first-child{margin-top:0;}
.svc-detail-content p{color:var(--text-dark);font-weight:400;font-size:1.29rem;line-height:1.8;margin-top:14px;}
@media(max-width:1023px){
  .svc-detail-info{grid-template-columns:1fr;gap:36px;}
  .svc-detail-toc{position:static;}
}

/* Contacto dentro de ficha de servicio — foto + formulario */
.svc-detail-contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.svc-detail-contact__img{height:640px;overflow:hidden;border-radius:14px;}
.svc-detail-contact__img img{width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:1023px){
  .svc-detail-contact{grid-template-columns:1fr;}
  .svc-detail-contact__img{height:360px;order:-1;}
}

/* ===================== Equipo v2 — calcado team-page/team-detail (eja.com.pe) ===================== */

/* Banner listado equipo — texto puro, sin imagen */
.team-banner{padding:200px 0 60px;}
.team-banner__subtitle{font-family:'Raleway',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-bottom:14px;}
.team-banner__title{font-weight:600;font-size:clamp(2.2rem,4.8vw,3.4rem);color:var(--text-dark);letter-spacing:-.02em;line-height:1.1;}

/* Banner de equipo con foto — variante con imagen para contraste con el nav */
.team-banner--photo{position:relative;height:420px;overflow:hidden;display:flex;align-items:center;}
.team-banner--photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.team-banner--photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(2,40,115,.55) 0%, rgba(2,40,115,.7) 100%);}
.team-banner--photo-content{position:relative;z-index:1;padding-top:64px;}
@media(max-width:1024px){.team-banner--photo{height:380px;}}
@media(max-width:767px){.team-banner--photo{height:320px;}.team-banner--photo-content{padding-top:40px;}}

/* Agrupación por rol (Fundadora / Equipo profesional) */
.team-group{padding:56px 0;border-top:1px solid var(--gray-4);}
.team-group:first-of-type{border-top:none;}
.team-group__label{font-family:'Raleway',sans-serif;font-weight:600;font-size:2.4rem;color:var(--text-dark);margin-bottom:32px;}

/* Ficha individual — banner con foto + bio, calcado team-detail__info */
.member-banner{padding:170px 0 70px;}
.member-banner__grid{display:grid;grid-template-columns:.85fr 1fr;gap:60px;align-items:start;}
.member-banner__img-wrap{height:600px;overflow:hidden;border:3px solid var(--ink);}
.member-banner__img-wrap img{width:100%;height:100%;object-fit:cover;display:block;}
.member-banner__img-wrap img.img--top{object-position:50% 12%;}
.member-banner__img-wrap img.img--zoom{object-position:50% 55%;transform:scale(1.05);}
@media(max-width:1024px){
  .member-banner__grid{grid-template-columns:1fr;gap:36px;}
  .member-banner__img-wrap{height:420px;order:-1;}
}

/* Ficha individual — bloques "Details" (Áreas, Formación, Casos, Más allá) */
.member-details{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 64px;}
.member-details-item__title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.05rem;color:var(--text-dark);margin-bottom:16px;padding-bottom:14px;border-bottom:2px solid var(--brand);}
.member-details-item ul{list-style:none;}
.member-details-item li{position:relative;padding-left:20px;color:var(--text-dark);font-size:1.08rem;line-height:1.65;margin-top:10px;}
.member-details-item li:first-child{margin-top:0;}
.member-details-item li::before{content:'';position:absolute;left:0;top:.6em;width:6px;height:6px;background:var(--brand);}
.member-details-item p{color:var(--text-dark);font-size:1.08rem;line-height:1.75;}
@media(max-width:767px){
  .member-details{grid-template-columns:1fr;}
}

/* Ficha individual — cards estilo "cubo" (Áreas de especialización, Educación, Casos destacados) */
.member-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.member-card{background:#fff;padding:38px 36px;}
.member-card__title{font-family:'Raleway',sans-serif;font-weight:600;font-size:2.2rem;color:var(--text-dark);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--gray-3);}
.member-card ul{list-style:none;}
.member-card li{position:relative;padding-left:20px;color:var(--text-dark);font-weight:400;font-size:1.12rem;line-height:1.7;margin-top:14px;}
.member-card li:first-child{margin-top:0;}
.member-card li::before{content:'';position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--brand);}
.member-card p{color:var(--text-dark);font-weight:400;font-size:1.12rem;line-height:1.75;}
.member-card p + p{margin-top:14px;}
@media(max-width:767px){
  .member-cards{grid-template-columns:1fr;}
}

/* Carrusel "Otras áreas de servicio" (ficha de servicio) */
.svc-carousel-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:36px;}
.svc-carousel-nav{display:flex;gap:12px;flex:none;}
.svc-carousel-nav__btn{width:56px;height:56px;border-radius:16px;border:none;background:var(--gray-4);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex:none;}
.svc-carousel-nav__btn:hover{background:var(--brand);}
.svc-carousel-nav__btn:hover svg path{stroke:#fff;}
.svc-carousel-nav__btn svg path{transition:stroke .3s ease;}
.svc-carousel-nav__btn:disabled{opacity:.5;cursor:default;}
.svc-carousel-nav__btn:disabled:hover{background:var(--gray-4);}
.svc-carousel-nav__btn:disabled:hover svg path{stroke:#022873;}
.svc-carousel-head-title{white-space:nowrap;font-size:clamp(1.8rem,4vw,3.6rem);}
.svc-carousel-head-title span{color:var(--gray-2);}
@media(max-width:767px){.svc-carousel-head-title{white-space:normal;}}
.svc-carousel-viewport{overflow:hidden;}
.svc-carousel-track{display:flex;gap:24px;transition:transform .5s cubic-bezier(.65,0,.35,1);}
.svc-carousel-card{flex:0 0 calc((100% - 48px) / 3);display:flex;flex-direction:column;border:1px solid var(--gray-4);border-radius:16px;overflow:hidden;transition:border-color .35s ease, box-shadow .35s ease, transform .35s ease;}
.svc-carousel-card:hover{border-color:var(--ink);box-shadow:0 20px 45px -18px rgba(2,40,115,.35);transform:translateY(-4px);}
.svc-carousel-card__img{height:270px;overflow:hidden;position:relative;}
.svc-carousel-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.svc-carousel-card:hover .svc-carousel-card__img img{transform:scale(1.08);}
.svc-carousel-card__icon{width:72px;height:72px;background:var(--brand);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;margin:-36px 0 22px 26px;position:relative;z-index:1;transition:background .35s ease, color .35s ease;}
.svc-carousel-card__icon svg{width:34px;height:34px;}
.svc-carousel-card:hover .svc-carousel-card__icon{background:var(--brand-light);color:var(--text-dark);}
.svc-carousel-card__body{padding:0 26px 30px;background:#fff;transition:background .35s ease;flex:1;}
.svc-carousel-card:hover .svc-carousel-card__body{background:var(--ink);}
.svc-carousel-card__title{font-family:'Raleway',sans-serif;font-weight:600;font-size:1.22rem;color:var(--text-dark);line-height:1.32;transition:color .35s ease;}
.svc-carousel-card:hover .svc-carousel-card__title{color:#fff;}
.svc-carousel-card__excerpt{color:var(--gray-1);font-size:1.06rem;line-height:1.65;margin-top:12px;transition:color .35s ease;}
.svc-carousel-card:hover .svc-carousel-card__excerpt{color:rgba(255,255,255,.82);}
@media(max-width:1023px){
  .svc-carousel-card{flex:0 0 calc((100% - 24px) / 2);}
}
@media(max-width:640px){
  .svc-carousel-card{flex:0 0 100%;}
}

/* Historia institucional: título+lead a la izquierda, línea vertical, párrafo a la derecha (calcado eja.com.pe) */
.about-history-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:48px;align-items:start;}
.about-history-grid__lead{color:var(--text-dark);font-size:1.08rem;line-height:1.6;margin-top:20px;}
.about-history-grid__divider{width:1px;height:100%;background:var(--brand);align-self:stretch;}
.about-history-grid__right{padding-top:4px;}
/* Misión/Visión: título 2 líneas a la izquierda + cards blancas a la derecha (calcado eja.com.pe) */
.mv-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center;}
.mv-heading{font-weight:600;font-size:clamp(2rem,3.6vw,2.8rem);letter-spacing:-.02em;line-height:1.15;color:var(--text-dark);}
.mv-heading span{color:var(--gray-2);}
.mv-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.mv-card{background:#fff;border-radius:16px;padding:28px 26px;}
.mv-card__icon{width:44px;height:44px;background:var(--text-dark);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:20px;}
.mv-card__title{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.15rem;color:var(--text-dark);margin-bottom:12px;}
.mv-card__text{color:var(--text-dark);font-size:.94rem;line-height:1.6;}
@media(max-width:900px){
  .mv-layout{grid-template-columns:1fr;gap:28px;}
  .mv-cards{grid-template-columns:1fr;}
}

@media(max-width:900px){
  .about-history-grid{grid-template-columns:1fr;gap:24px;}
  .about-history-grid__divider{display:none;}
}

/* Nuestros clientes: label fijo + carrusel paso a paso (calcado eja.com.pe) */
.clients-strip{display:flex;align-items:center;gap:80px;padding:20px 0;}
.clients-strip__label{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.3rem;color:var(--text-dark);line-height:1.3;flex:none;}
.clients-strip__viewport{overflow:hidden;flex:1;-webkit-mask-image:linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);mask-image:linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);}
.clients-strip__track{display:flex;align-items:center;gap:100px;width:max-content;animation:clients-strip-scroll 22s linear infinite;}
.clients-strip__item{flex:none;display:flex;align-items:center;justify-content:center;height:84px;}
.clients-strip__item img{max-height:100%;max-width:210px;object-fit:contain;}
.clients-strip__item span{font-family:'Raleway',sans-serif;font-weight:700;font-size:1.4rem;color:var(--gray-2);white-space:nowrap;}
@keyframes clients-strip-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media(min-width:1400px){
  .clients-strip__track{gap:130px;}
}
@media(max-width:767px){
  .clients-strip{flex-direction:column;align-items:flex-start;gap:20px;}
  .clients-strip__viewport{min-width:0;width:100%;flex:0 1 auto;}
  .clients-strip__track{gap:40px;}
}

/* Fundadora: título multilínea con distinto peso/color por línea + regla horizontal (calcado eja.com.pe founder) */
.founder-heading{font-weight:600;font-size:clamp(2rem,4vw,2.9rem);letter-spacing:-.02em;line-height:1.2;color:var(--text-dark);}
.founder-heading span{font-weight:600;color:var(--gray-2);}
.founder-heading__rule{border:none;border-top:1px solid var(--brand);margin-top:24px;}
.founder-heading__text{color:var(--text-dark);font-size:1.02rem;line-height:1.7;margin-top:24px;}

/* Hero de listado de Servicios: centrado, sin foto, título 2 líneas + regla azul (calcado eja.com.pe) */
.services-hero{padding:190px 0 60px;}
.services-hero__title{font-weight:600;font-size:clamp(2.2rem,4.6vw,3.4rem);letter-spacing:-.02em;line-height:1.25;color:var(--text-dark);max-width:62rem;margin:14px auto 0;}
.services-hero__title span{color:var(--gray-2);}
.services-hero__text{color:var(--text-dark);font-size:1.05rem;line-height:1.7;max-width:56rem;margin:24px auto 0;}
.services-hero__rule{border:none;border-top:1px solid var(--brand);margin:44px auto 0;max-width:44rem;}
