/* IDcorp v1.5.1 — Nosotros & Contacto; explicit hero gutters and polished contact FAQ. */
.idcorp-company-page { color:#101c2d; background:#fff; overflow-x:clip; }
.idcorp-company-page :is(a,button,summary) { touch-action:manipulation; }
.idcorp-company-page :is(h1,h2,h3,p,figure) { margin-block-start:0; }
.idcorp-company-page h2 { font-size:clamp(28px,3.15vw,43px); line-height:1.13; letter-spacing:-.035em; font-weight:800; margin-bottom:17px; }
.idcorp-company-page h3 { font-size:17px; line-height:1.35; letter-spacing:-.01em; }
.idc-company-section { padding:clamp(56px,5.5vw,88px) 0; }
.idc-company-rule { display:block; width:37px; height:3px; background:var(--id-red); margin-bottom:18px; }
.idc-company-label { display:block; margin-bottom:10px; text-transform:uppercase; letter-spacing:.115em; font-size:11px; font-weight:850; color:var(--id-red); }
.idc-company-copy p, .idc-company-section-lead { color:#526071; font-size:clamp(15px,1.25vw,17px); line-height:1.76; margin-bottom:18px; }
.idc-company-textlink { display:inline-flex; gap:10px; align-items:center; min-height:44px; color:var(--id-red); font-weight:800; font-size:14px; }
.idc-company-textlink:hover { color:var(--id-red-dark); }
.idc-company-hero { position:relative; isolation:isolate; min-height:510px; display:flex; align-items:center; color:#fff; background:#101e30; }
.idc-company-hero__visual,.idc-company-hero__shade { position:absolute; inset:0; z-index:-1; }
.idc-company-hero__visual { background-position:center; background-size:cover; }
.idc-company-hero__shade { background:linear-gradient(90deg,rgba(5,17,31,.96) 0%,rgba(5,17,31,.89) 24%,rgba(5,17,31,.56) 51%,rgba(5,17,31,.13) 100%); }
/* Explicit horizontal spacing: hero imagery stays full bleed, while content never touches screen edges. */
.idcorp-company-page .idc-company-hero > .idc-company-hero__inner { width:min(calc(100% - 48px),var(--id-shell)); box-sizing:border-box; margin-inline:auto; padding:38px clamp(18px,3.25vw,46px) 58px; }
.idc-company-hero__inner { width:100%; }
.idc-company-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:11px; color:rgba(255,255,255,.83); font-size:13px; margin-bottom:clamp(36px,4vw,55px); }
.idc-company-breadcrumb a:hover { color:white; text-decoration:underline; }
.idc-company-eyebrow { display:inline-block; letter-spacing:.12em; color:#f3f5f7; text-transform:uppercase; font-size:11px; font-weight:850; margin-bottom:15px; }
.idc-company-eyebrow::before { content:""; display:inline-block; width:25px; height:3px; margin:0 9px 4px 0; background:#ed2638; }
.idc-company-hero__copy { max-width:690px; }
.idc-company-hero h1 { margin:0; max-width:18ch; color:#fff; font-weight:830; font-size:clamp(41px,4.45vw,61px); line-height:1.085; letter-spacing:-.044em; }
.idc-company-hero__copy p { max-width:55ch; margin:19px 0 0; color:#eef3f7; font-size:clamp(16px,1.35vw,18px); line-height:1.65; }
.idc-company-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.idc-company-actions a { min-height:49px; display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:0 19px; font-size:14px; font-weight:800; }
.idc-company-button-outline { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; border:1px solid rgba(255,255,255,.72); padding:0 20px; color:#fff; font-weight:750; transition:background .2s ease; }
.idc-company-button-outline:hover { background:rgba(255,255,255,.13); }
.idc-company-split { display:grid; grid-template-columns:minmax(0,.97fr) minmax(0,1fr); align-items:center; gap:clamp(35px,6vw,90px); }
.idc-company-visual { min-width:0; }
.idc-company-visual img { width:100%; aspect-ratio:1.43; object-fit:cover; }
.idc-company-visual figcaption,.idc-contact-info__photo figcaption { padding-top:7px; font-size:12px; color:#737f8f; }
.idc-company-trust { background:#f7f8fa; border-block:1px solid #e9edf1; }
.idc-company-trust__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:34px; gap:0; }
.idc-company-trust__item { display:flex; align-items:center; gap:16px; min-width:0; padding:8px 24px; border-right:1px solid #dce1e8; }
.idc-company-trust__item:first-child { padding-left:0; }
.idc-company-trust__item:last-child { border-right:0; }
.idc-company-trust__item h3 { margin-bottom:5px; font-size:17px; }
.idc-company-trust__item p { color:#59687a; font-size:14px; line-height:1.55; margin:0; }
.idc-company-icon { display:grid; flex:0 0 53px; width:53px; height:53px; place-items:center; border-radius:50%; background:#fbecee; color:var(--id-red); }
.idc-company-process { background:#0a2136; color:#fff; }
.idc-company-process .idc-company-label { color:#ff6f7c; }
.idc-company-process h2 { color:#fff; }
.idc-company-process__lead { color:#c8d7e4; max-width:64ch; }
.idc-company-process__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; padding:24px 0 0; list-style:none; margin:0; }
.idc-company-process__grid li { min-width:0; padding:0 20px 0 0; border-right:1px solid rgba(255,255,255,.19); }
.idc-company-process__grid li:last-child { border-right:0; }
.idc-company-process__number { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:#ca2436; font-weight:800; font-size:18px; margin-bottom:18px; }
.idc-company-process__grid h3 { color:#fff; margin-bottom:9px; }
.idc-company-process__grid p { color:#c9d5e1; font-size:14px; line-height:1.6; margin-bottom:0; }
.idc-company-capabilities { background:#fff; }
.idc-company-capabilities__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(30px,5vw,70px); align-items:center; }
.idc-company-capabilities__pictures { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; min-width:0; }
.idc-company-capabilities__pictures img { width:100%; height:290px; object-fit:cover; }
.idc-company-sectors { background:#f7f9fb; border-block:1px solid #edf0f4; }
.idc-company-sectors h2 { margin-bottom:8px; }
.idc-company-section-lead { max-width:72ch; }
.idc-company-sectors__grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; margin-top:27px; }
.idc-company-sector { display:flex; flex-direction:column; min-width:0; background:white; box-shadow:0 3px 16px rgba(12,24,42,.035); }
.idc-company-sector img { width:100%; aspect-ratio:1.2; object-fit:cover; }
.idc-company-sector span { display:flex; align-items:center; justify-content:space-between; gap:6px; padding:13px 11px; font-size:14px; font-weight:800; }
.idc-company-sector svg { color:var(--id-red); flex:0 0 auto; }
.idc-company-sector:hover img { filter:contrast(1.05); }
.idc-company-commit .idc-company-checks { padding:0; margin:22px 0 0; list-style:none; display:grid; gap:10px; }
.idc-company-commit .idc-company-checks li { position:relative; padding-left:29px; font-weight:650; color:#334155; font-size:15px; }
.idc-company-commit .idc-company-checks li::before { content:"✓"; font-weight:850; color:var(--id-red); position:absolute; left:0; }
/* Contact page: intentionally more functional than the institutional page. */
.idc-company-hero--contact { min-height:375px; }
.idc-company-hero--contact .idc-company-hero__shade { background:linear-gradient(90deg,rgba(7,23,38,.94) 0%,rgba(7,23,38,.86) 31%,rgba(7,23,38,.3) 76%,rgba(7,23,38,.08) 100%); }
.idc-company-hero--contact .idc-company-breadcrumb { margin-bottom:35px; }
.idc-company-hero--contact .idc-company-hero__inner { padding-block:35px 50px; }
.idc-company-hero--contact h1 { max-width:19ch; }
.idc-contact-request { scroll-margin-top:130px; }
.idc-contact-request__grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.78fr); gap:clamp(38px,5.5vw,88px); align-items:start; }
.idc-contact-request__form { min-width:0; padding:0 0 0; }
.idc-contact-request__form h2 { margin-bottom:10px; }
.idc-contact-request__form > p { font-size:15px; color:#526071; margin:0 0 28px; line-height:1.68; max-width:63ch; }
.idc-contact-request__form .idcorp-contact-form { min-width:0; }
.idc-contact-request__form .idcorp-form-grid { gap:17px 18px; }
.idc-contact-request__form .idcorp-form-grid label { font-size:13px; min-width:0; }
.idc-contact-request__form .idcorp-form-grid :is(input,textarea,select) { font-size:16px; width:100%; min-width:0; background:#fff; }
.idc-contact-request__form .idcorp-form-consent { font-size:13px; line-height:1.6; }
.idc-contact-request__form button[type=submit] { min-height:50px; }
.idc-contact-info { background:#f6f8fa; padding:clamp(22px,3vw,37px); min-width:0; }
.idc-contact-info h2 { font-size:clamp(24px,2.15vw,32px); margin-bottom:10px; }
.idc-contact-info > p { color:#56677a; font-size:15px; line-height:1.65; margin-bottom:25px; }
.idc-contact-info__items { display:grid; gap:24px; }
.idc-contact-info__item { display:flex; gap:14px; align-items:flex-start; min-width:0; }
.idc-contact-info__item .idc-company-icon { width:47px; height:47px; flex-basis:47px; }
.idc-contact-info__item div { min-width:0; }
.idc-contact-info__item strong { display:block; font-size:14px; margin-bottom:2px; }
.idc-contact-info__item a,.idc-contact-info__item p { color:#405167; font-size:15px; line-height:1.6; overflow-wrap:anywhere; margin:0; }
.idc-contact-info__item a:hover { text-decoration:underline; color:var(--id-red); }
.idc-contact-info__photo { margin-top:28px; }
.idc-contact-info__photo img { width:100%; aspect-ratio:1.4; object-fit:cover; }
.idc-contact-location { background:#0a2339; color:#fff; }
.idc-contact-location__grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); min-height:285px; align-items:stretch; }
.idc-contact-location__copy { padding:45px 42px 45px 0; align-self:center; }
.idc-contact-location__copy .idc-company-label { color:#f47180; }
.idc-contact-location__copy h2 { color:#fff; font-size:clamp(28px,2.7vw,39px); }
.idc-contact-location__copy p { color:#e1eaf3; max-width:43ch; line-height:1.65; margin:0 0 25px; }
.idc-contact-location__graphic { position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:285px; background-color:#ecf1f2; background-image:linear-gradient(140deg,transparent 48%,#d6e0e3 48%,#d6e0e3 53%,transparent 53%),linear-gradient(35deg,transparent 35%,#cbd7df 35%,#cbd7df 39%,transparent 39%),repeating-linear-gradient(0deg,transparent 0 52px,rgba(153,174,190,.3) 52px 55px),repeating-linear-gradient(90deg,transparent 0 58px,rgba(153,174,190,.28) 58px 61px); }
.idc-contact-location__city { color:#233e50; font-size:clamp(25px,3vw,40px); font-weight:800; letter-spacing:-.04em; position:relative; z-index:1; }
.idc-contact-location__pin { display:grid; place-items:center; width:65px; height:65px; margin:10px; border-radius:50%; background:#bd2030; color:white; position:relative; z-index:1; }
.idc-contact-location__note { position:relative; z-index:1; color:#495f6c; font-size:12px; max-width:230px; text-align:center; background:rgba(255,255,255,.85); padding:6px; }
.idc-contact-steps { background:#fff; }
.idc-contact-steps__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:31px; }
.idc-contact-steps__grid > div { display:grid; grid-template-columns:50px minmax(0,1fr); column-gap:14px; align-content:start; }
.idc-contact-steps__grid .idc-company-icon { grid-row:span 2; width:48px; height:48px; flex-basis:48px; }
.idc-contact-steps__grid strong { font-size:16px; }
.idc-contact-steps__grid p { font-size:14px; color:#5b697b; line-height:1.65; margin:7px 0 0; }
.idc-contact-faq { background:#f8fafc; }
.idc-contact-faq__grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(25px,5vw,72px); }
.idc-contact-faq__grid > div > p { color:#526071; line-height:1.67; }
.idc-contact-faq__image { width:min(100%,390px); aspect-ratio:1.7; object-fit:cover; margin-top:28px; }
.idc-contact-faq__list details { border:1px solid #e2e8ee; background:#fff; margin-bottom:11px; }
.idc-contact-faq__list summary { padding:18px 46px 18px 17px; list-style:none; position:relative; cursor:pointer; font-weight:760; color:#17283c; font-size:15px; min-height:50px; }
.idc-contact-faq__list summary::-webkit-details-marker { display:none; }
.idc-contact-faq__list summary::after { content:"+"; position:absolute; top:50%; right:18px; transform:translateY(-50%); color:var(--id-red); font-weight:600; font-size:22px; }
.idc-contact-faq__list details[open] summary::after { content:"−"; }
.idc-contact-faq__list details p { font-size:14px; padding:0 18px 18px; margin:0; color:#546477; line-height:1.75; }
/* Both pages reuse existing reference-logo gallery. */
.idcorp-company-page .idcorp-home-logos { border-top:1px solid #e8ebef; }
@media (max-width:1080px) {
 .idc-company-sectors__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .idc-company-trust__item { padding-inline:15px; }
 .idc-company-trust__item:first-child { padding-left:0; }
 .idc-company-process__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .idc-company-process__grid li:nth-child(2) { border-right:0; }
}
@media (max-width:760px) {
 .idc-company-section { padding:52px 0; }
 .idc-company-hero { min-height:560px; align-items:stretch; }
 .idc-company-hero__visual { background-position:58% center; }
 .idc-company-hero__shade { background:linear-gradient(180deg,rgba(7,23,38,.6),rgba(7,23,38,.65) 26%,rgba(7,23,38,.94) 100%); }
 .idcorp-company-page .idc-company-hero > .idc-company-hero__inner { display:flex; flex-direction:column; width:calc(100% - 44px); padding:30px 16px 43px; }
 .idc-company-breadcrumb { margin-bottom:auto; }
 .idc-company-hero h1 { font-size:clamp(36px,8vw,49px); max-width:19ch; }
 .idc-company-hero__copy p { font-size:16px; }
 .idc-company-split,.idc-company-capabilities__grid,.idc-contact-request__grid,.idc-contact-faq__grid { grid-template-columns:1fr; gap:28px; }
 .idc-company-trust__grid { grid-template-columns:1fr; padding-block:17px; }
 .idc-company-trust__item { border-right:0; border-bottom:1px solid #e1e6ec; padding:18px 0; }
 .idc-company-trust__item:last-child { border-bottom:0; }
 .idc-company-sectors__grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .idc-company-capabilities__pictures img { height:200px; }
 .idc-company-hero--contact { min-height:445px; }
 .idc-company-hero--contact .idc-company-hero__shade { background:linear-gradient(180deg,rgba(7,23,38,.59),rgba(7,23,38,.8) 62%,rgba(7,23,38,.92)); }
 .idc-contact-location__grid { grid-template-columns:1fr; }
 .idc-contact-location__copy { padding:37px 0; }
 .idc-contact-location__graphic { min-height:235px; }
 .idc-contact-steps__grid { grid-template-columns:1fr; gap:24px; }
 .idc-contact-faq__image { max-width:370px; }
}
@media (max-width:520px) {
 .idc-company-hero h1 { font-size:clamp(34px,9.1vw,43px); }
 .idc-company-actions { flex-direction:column; align-items:stretch; }
 .idc-company-actions a { width:100%; }
 .idc-company-process__grid { grid-template-columns:1fr; gap:25px; }
 .idc-company-process__grid li { border-right:0; border-bottom:1px solid rgba(255,255,255,.16); padding-bottom:20px; }
 .idc-company-process__grid li:last-child { border-bottom:0; }
 .idc-company-sectors__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
 .idc-company-sector span { font-size:13px; }
 .idc-company-capabilities__pictures { gap:10px; }
 .idc-company-capabilities__pictures img { height:155px; }
 .idc-contact-request__form .idcorp-form-grid { grid-template-columns:1fr; }
 .idc-contact-info { padding:23px 20px; }
 .idc-company-hero--contact { min-height:470px; }
 .idcorp-company-page .idc-company-hero--contact > .idc-company-hero__inner { padding-block:33px 42px; }
 .idc-company-hero--contact .idc-company-hero__visual { background-position:64% center; }
}
@media (prefers-reduced-motion:reduce) {
 .idcorp-company-page { scroll-behavior:auto; }
 .idc-company-sector img,.idc-company-button-outline { transition:none !important; }
}
