/* ══════════════════════════════════════════════════════════════════════
   InfoPuertos · /publicidad/ · media kit
   ──────────────────────────────────────────────────────────────────────
   v2.179.0 · REGLAS DE ESTA PÁGINA
     · TODO sobre blanco. Ni héroes de color, ni bandas grises, ni
       recuadros grises de relleno. Lo único que puede pintar un fondo
       es el botón principal y algún acento mínimo.
     · La profundidad la dan la SOMBRA SUAVE y el filete de 1px, como
       en una app nativa. Nunca un gris de fondo.
     · Paleta: SOLO el azul CAMAL AI var(--et-brand, #114F6E). Nada de azul-verde.
       Los acentos son tonos del MISMO azul, no otro color.
   ══════════════════════════════════════════════════════════════════════ */

.ipub {
    --ip-navy:    var(--et-brand, #114F6E);   /* azul InfoPuertos */
    --ip-navy-d:  #0B3A52;
    --ip-blue:    var(--et-brand, #114F6E);   /* el MISMO azul CAMAL AI: en InfoPuertos no hay azul-verde */
    --ip-blue-d:  #0B3A52;
    --ip-blue-w:  #EDF3F7;   /* el navy al 6% · SOLO para acentos, no fondos */
    --ip-ink:     #141C24;
    --ip-mute:    #59677A;
    --ip-hair:    #E3EAF0;
    --ip-hair-s:  #F0F4F7;

    /* Sombras de app nativa: bajas, muy difusas y con tinte navy. */
    --ip-sh-1:    0 1px 2px rgba(20, 28, 36, .04), 0 4px 14px rgba(17, 79, 110, .05);
    --ip-sh-2:    0 2px 6px rgba(20, 28, 36, .05), 0 14px 38px rgba(17, 79, 110, .09);

    --ip-wrap:    1160px;
    --ip-pad:     26px;
    --ip-r:       14px;

    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    color: var(--ip-ink);
    background: #FFFFFF;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}
.ipub *, .ipub *::before, .ipub *::after { box-sizing: border-box; }

.ipub-wrap {
    max-width: var(--ip-wrap);
    margin: 0 auto;
    padding-left: var(--ip-pad);
    padding-right: var(--ip-pad);
}

/* ─── Tipografía ───────────────────────────────────────────────────── */
.ipub-eyebrow {
    margin: 0 0 14px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--ip-blue-d);
}
.ipub-h2 {
    margin: 0 0 16px;
    font-size: clamp(26px, 3.5vw, 41px);
    font-weight: 800;
    letter-spacing: -0.038em;
    line-height: 1.1;
    text-wrap: balance;
    color: var(--ip-ink);
}
.ipub-lede {
    margin: 0;
    max-width: 64ch;
    font-size: 16.5px;
    line-height: 1.7;
    color: var(--ip-mute);
}
.ipub-br { display: none; }
@media (min-width: 880px) { .ipub-br { display: inline; } }

/* ─── Botones ──────────────────────────────────────────────────────── */
.ipub-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 15px 28px;
    border: 1.5px solid transparent;
    border-radius: 10px;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 700;
    letter-spacing: -0.005em;
    text-decoration: none;
    cursor: pointer;
    transition: background .18s ease, border-color .18s ease, color .18s ease,
                box-shadow .18s ease, transform .18s ease;
}
.ipub-btn__arrow { transition: transform .18s ease; }
.ipub-btn--navy {
    background: var(--ip-navy);
    border-color: var(--ip-navy);
    color: #FFFFFF;
    box-shadow: 0 2px 6px rgba(17, 79, 110, .16), 0 12px 26px rgba(17, 79, 110, .18);
}
.ipub-btn--navy:hover {
    background: var(--ip-navy-d);
    border-color: var(--ip-navy-d);
    color: #FFFFFF;
    transform: translateY(-1px);
    box-shadow: 0 3px 8px rgba(17, 79, 110, .2), 0 18px 34px rgba(17, 79, 110, .22);
}
.ipub-btn--navy:hover .ipub-btn__arrow { transform: translateX(3px); }
.ipub-btn--line {
    background: #FFFFFF;
    color: var(--ip-navy);
    border-color: var(--ip-hair);
}
.ipub-btn--line:hover { border-color: var(--ip-blue); color: var(--ip-blue-d); }
.ipub-btn--block { width: 100%; padding: 17px 28px; margin-top: 4px; }
.ipub-btn:focus-visible { outline: 2px solid var(--ip-blue); outline-offset: 3px; }

/* ══ PORTADA ════════════════════════════════════════════════════════ */
.ipub-hero { padding: 76px 0 8px; background: #FFFFFF; }

/* Kicker con punto azul que respira: el único movimiento de la página. */
.ipub-kicker {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 22px;
    padding: 7px 15px 7px 12px;
    border: 1px solid var(--ip-hair);
    border-radius: 999px;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--ip-navy);
    box-shadow: var(--ip-sh-1);
}
.ipub-kicker__dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--ip-blue);
    box-shadow: 0 0 0 0 rgba(17, 79, 110, .5);
    animation: ipub-pulse 2.6s ease-out infinite;
}
@keyframes ipub-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(17, 79, 110, .5); }
    70%  { box-shadow: 0 0 0 7px rgba(17, 79, 110, 0); }
    100% { box-shadow: 0 0 0 0 rgba(17, 79, 110, 0); }
}

.ipub-hero__title {
    margin: 0 0 22px;
    font-size: clamp(35px, 6.2vw, 66px);
    font-weight: 800;
    letter-spacing: -0.045em;
    line-height: 1.02;
    max-width: 17ch;
    text-wrap: balance;
    color: var(--ip-ink);
}
/* El subrayado azul: se dibuja detrás de la línea, no la ensucia. */
.ipub-mark {
    color: var(--ip-navy);
    background-image: linear-gradient(transparent 62%, rgba(17, 79, 110, .22) 62%);
    background-repeat: no-repeat;
    background-size: 100% 100%;
}
.ipub-hero__lede {
    margin: 0 0 32px;
    max-width: 60ch;
    font-size: 17.5px;
    line-height: 1.72;
    color: var(--ip-mute);
}
.ipub-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }

/* La frase de prestigio. Filete azul a la izquierda, sin recuadro. */
.ipub-claim {
    margin: 52px 0 0;
    padding: 4px 0 4px 22px;
    border-left: 3px solid var(--ip-blue);
    max-width: 74ch;
    font-size: 17px;
    line-height: 1.62;
    color: var(--ip-mute);
}
.ipub-claim strong { color: var(--ip-ink); font-weight: 700; }

/* ══ SECCIONES ══════════════════════════════════════════════════════ */
.ipub-sec { padding: 84px 0; background: #FFFFFF; }
.ipub-sec--tight { padding-top: 0; }
.ipub-head { max-width: 760px; margin: 0 0 44px; }
.ipub-head--camal { max-width: 800px; }

/* ── Formato principal ── */
.ipub-lead {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
    align-items: center;
    padding: 34px 32px;
    background: #FFFFFF;
    border: 1px solid var(--ip-hair);
    border-radius: var(--ip-r);
    box-shadow: var(--ip-sh-2);
    margin-bottom: 22px;
}
@media (min-width: 900px) {
    .ipub-lead { grid-template-columns: 1.22fr .78fr; gap: 46px; padding: 42px 44px; }
}
.ipub-badge {
    display: inline-block;
    margin-bottom: 14px;
    padding: 5px 11px;
    border-radius: 6px;
    background: var(--ip-blue-w);
    color: var(--ip-blue-d);
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.ipub-lead__name {
    margin: 0 0 12px;
    font-size: clamp(23px, 2.6vw, 29px);
    font-weight: 800;
    letter-spacing: -0.03em;
    color: var(--ip-ink);
}
.ipub-lead__desc { margin: 0 0 20px; font-size: 15.5px; line-height: 1.7; color: var(--ip-mute); }
.ipub-lead__desc strong { color: var(--ip-ink); font-weight: 700; }

.ipub-ticks { margin: 0; padding: 0; list-style: none; display: grid; gap: 9px; }
.ipub-ticks li {
    position: relative;
    padding-left: 26px;
    font-size: 14.5px;
    font-weight: 600;
    color: var(--ip-ink);
}
/* Marca de verificación dibujada en CSS: sin iconos de relleno. */
.ipub-ticks li::before {
    content: '';
    position: absolute;
    left: 3px; top: 5px;
    width: 6px; height: 11px;
    border-right: 2px solid var(--ip-blue);
    border-bottom: 2px solid var(--ip-blue);
    transform: rotate(42deg);
}

/* ── El plano de la página: filetes, nunca bloques grises ── */
.ipub-plan {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 9px;
    padding: 18px;
    border: 1px solid var(--ip-hair);
    border-radius: 10px;
    background: #FFFFFF;
}
.ipub-plan__mast { height: 8px; border-radius: 2px; background: var(--ip-navy); }
.ipub-plan__rule { height: 5px; border-radius: 2px; background: var(--ip-hair); }
.ipub-plan__rule--s { width: 58%; }
.ipub-plan__slot,
.ipub-plan__aside {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1.5px dashed var(--ip-blue);
    border-radius: 6px;
    background: var(--ip-blue-w);
}
.ipub-plan__slot i,
.ipub-plan__aside i {
    font-style: normal;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ip-blue-d);
}
.ipub-plan__slot--wide { height: 34px; }
.ipub-plan__cols { display: flex; gap: 9px; align-items: stretch; }
.ipub-plan__col { flex: 1; display: flex; flex-direction: column; gap: 9px; justify-content: center; }
.ipub-plan__aside { width: 34%; min-height: 62px; }

/* ── Rejilla de formatos ── */
.ipub-formats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}
.ipub-fmt {
    position: relative;
    padding: 28px 26px 30px;
    background: #FFFFFF;
    border: 1px solid var(--ip-hair);
    border-radius: var(--ip-r);
    box-shadow: var(--ip-sh-1);
    transition: box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.ipub-fmt:hover {
    transform: translateY(-3px);
    border-color: #D3E0E8;
    box-shadow: var(--ip-sh-2);
}
/* Filete corto en dos azules como firma de la tarjeta. */
.ipub-fmt__rule {
    display: block;
    width: 34px;
    height: 3px;
    border-radius: 2px;
    margin-bottom: 18px;
    background: linear-gradient(90deg, var(--ip-navy), var(--ip-blue));
}
.ipub-fmt__name {
    margin: 0 0 10px;
    font-size: 18.5px;
    font-weight: 800;
    letter-spacing: -0.022em;
    color: var(--ip-ink);
}
.ipub-fmt__desc { margin: 0; font-size: 14.8px; line-height: 1.68; color: var(--ip-mute); }

/* ══ CAMAL AI ═══════════════════════════════════════════════════════ */
.ipub-camal__logo {
    display: block;
    height: 40px;
    width: auto;
    margin: 0 0 20px;
}
.ipub-camal {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(268px, 1fr));
    gap: 18px;
}
.ipub-cap {
    padding: 28px 26px 30px;
    background: #FFFFFF;
    border: 1px solid var(--ip-hair);
    border-radius: var(--ip-r);
    box-shadow: var(--ip-sh-1);
    transition: box-shadow .22s ease, transform .22s ease;
}
.ipub-cap:hover { transform: translateY(-3px); box-shadow: var(--ip-sh-2); }
.ipub-cap__ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px; height: 42px;
    margin-bottom: 16px;
    border: 1px solid var(--ip-hair);
    border-radius: 11px;
    color: var(--ip-blue-d);
    background: #FFFFFF;
    box-shadow: var(--ip-sh-1);
}
.ipub-cap__ico svg { width: 20px; height: 20px; }
.ipub-cap h3 {
    margin: 0 0 10px;
    font-size: 17.5px;
    font-weight: 800;
    letter-spacing: -0.022em;
    color: var(--ip-ink);
}
.ipub-cap p { margin: 0; font-size: 14.6px; line-height: 1.7; color: var(--ip-mute); }
/* La del informe ocupa el ancho y pone el icono al lado. */
.ipub-cap--wide { grid-column: 1 / -1; display: flex; gap: 22px; align-items: flex-start; }
.ipub-cap--wide .ipub-cap__ico { margin-bottom: 0; flex-shrink: 0; }
.ipub-cap--wide h3 { font-size: 19px; }
.ipub-cap--wide p { max-width: 78ch; }

.ipub-note {
    margin: 30px 0 0;
    padding-left: 22px;
    border-left: 3px solid var(--ip-blue);
    font-size: 15.5px;
    line-height: 1.68;
    color: var(--ip-mute);
    max-width: 72ch;
}

/* ══ PLANO DE ZONAS ═════════════════════════════════════════════════ */
.ipub-zones {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
}
.ipub-zonecol {
    padding: 26px 24px 12px;
    background: #FFFFFF;
    border: 1px solid var(--ip-hair);
    border-radius: var(--ip-r);
    box-shadow: var(--ip-sh-1);
}
.ipub-zonecol__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 6px;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--ip-navy);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: var(--ip-ink);
}
.ipub-zonecol__title b {
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: 0;
    color: var(--ip-blue-d);
    font-variant-numeric: tabular-nums;
}
.ipub-zonelist { margin: 0; padding: 0; list-style: none; }
.ipub-zonelist li {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 12px 0;
    border-bottom: 1px solid var(--ip-hair-s);
}
.ipub-zonelist li:last-child { border-bottom: 0; }
.ipub-zonelist__label { font-size: 13.8px; font-weight: 600; line-height: 1.4; color: var(--ip-ink); }
.ipub-zonelist__size {
    font-size: 12px;
    color: var(--ip-mute);
    font-variant-numeric: tabular-nums;
}

/* ══ COMPROMISO ═════════════════════════════════════════════════════ */
.ipub-pledge { display: grid; grid-template-columns: 1fr; gap: 34px; }
@media (min-width: 900px) {
    .ipub-pledge { grid-template-columns: .88fr 1.12fr; gap: 62px; align-items: start; }
}
.ipub-pledge__list { margin: 0; padding: 0; list-style: none; display: grid; gap: 2px; }
.ipub-pledge__list li {
    padding: 20px 0;
    border-top: 1px solid var(--ip-hair);
    font-size: 15.4px;
    line-height: 1.68;
    color: var(--ip-mute);
}
.ipub-pledge__list li:last-child { border-bottom: 1px solid var(--ip-hair); }
.ipub-pledge__list strong {
    display: block;
    margin-bottom: 3px;
    color: var(--ip-ink);
    font-weight: 700;
}

/* ══ FORMULARIO ═════════════════════════════════════════════════════ */
.ipub-contact { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: start; }
@media (min-width: 960px) {
    .ipub-contact { grid-template-columns: .8fr 1.2fr; gap: 64px; }
    .ipub-contact__aside { position: sticky; top: 96px; }
}
.ipub-facts { margin: 32px 0 0; }
.ipub-facts > div { padding: 15px 0; border-top: 1px solid var(--ip-hair); }
.ipub-facts > div:last-child { border-bottom: 1px solid var(--ip-hair); }
.ipub-facts dt {
    margin: 0 0 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: var(--ip-mute);
}
.ipub-facts dd { margin: 0; font-size: 14.6px; font-weight: 600; color: var(--ip-ink); }
.ipub-facts a { color: var(--ip-navy); text-decoration: none; border-bottom: 1px solid rgba(17,79,110,.3); }
.ipub-facts a:hover { border-bottom-color: var(--ip-navy); }

.ipub-sello {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 26px 0 0;
    padding-top: 22px;
    border-top: 1px solid var(--ip-hair);
}
.ipub-sello img { height: 26px; width: auto; flex-shrink: 0; }
.ipub-sello span { font-size: 12.5px; line-height: 1.5; color: var(--ip-mute); }

.ipub-form {
    background: #FFFFFF;
    border: 1px solid var(--ip-hair);
    border-radius: var(--ip-r);
    box-shadow: var(--ip-sh-2);
    padding: 32px 28px 30px;
}
@media (min-width: 620px) { .ipub-form { padding: 40px 40px 36px; } }

/* Encabezado de paso: numerito azul + rótulo. Aquí el número SÍ dice
   algo —el formulario se rellena en ese orden—, no es decoración. */
.ipub-form__step {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--ip-hair-s);
}
.ipub-form__step:not(:first-child) { margin-top: 30px; }
.ipub-step {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px; height: 28px;
    border-radius: 8px;
    background: var(--ip-blue-w);
    color: var(--ip-blue-d);
    font-size: 11.5px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    flex-shrink: 0;
}
.ipub-form__step h3 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .02em;
    color: var(--ip-ink);
}

.ipub-row { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
@media (min-width: 620px) { .ipub-row { grid-template-columns: 1fr 1fr; } }
.ipub-field { display: block; margin-bottom: 16px; }
.ipub-row .ipub-field { margin-bottom: 0; }
.ipub-field > span {
    display: block;
    margin-bottom: 7px;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .01em;
    color: var(--ip-ink);
}
.ipub-field > span i { color: var(--ip-blue-d); font-style: normal; }

.ipub-field input[type="text"],
.ipub-field input[type="email"],
.ipub-field input[type="tel"],
.ipub-field select,
.ipub-field textarea {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid var(--ip-hair);
    border-radius: 10px;
    background: #FFFFFF;
    font-family: inherit;
    font-size: 15px;
    color: var(--ip-ink);
    transition: border-color .16s ease, box-shadow .16s ease;
}
.ipub-field textarea { resize: vertical; min-height: 132px; line-height: 1.62; }
.ipub-field input::placeholder,
.ipub-field textarea::placeholder { color: #9BAAB7; }
.ipub-field input:focus,
.ipub-field select:focus,
.ipub-field textarea:focus {
    outline: none;
    border-color: var(--ip-blue);
    box-shadow: 0 0 0 3px rgba(17, 79, 110, .14);
}
.ipub-field.is-bad input,
.ipub-field.is-bad textarea,
.ipub-field.is-bad select {
    border-color: #C0392B;
    box-shadow: 0 0 0 3px rgba(192, 57, 43, .12);
}

/* Flecha propia del desplegable: la nativa de Windows es fea. */
.ipub-select { position: relative; }
.ipub-select select { appearance: none; -webkit-appearance: none; padding-right: 40px; cursor: pointer; }
.ipub-select::after {
    content: '';
    position: absolute;
    right: 17px; top: 50%;
    width: 7px; height: 7px;
    margin-top: -6px;
    border-right: 2px solid var(--ip-mute);
    border-bottom: 2px solid var(--ip-mute);
    transform: rotate(45deg);
    pointer-events: none;
}

.ipub-counter {
    display: block;
    margin-top: 7px;
    font-size: 11.5px;
    font-style: normal;
    color: var(--ip-mute);
    font-variant-numeric: tabular-nums;
}

.ipub-fieldset { border: 0; padding: 0; margin: 0 0 18px; }
.ipub-legend {
    padding: 0;
    margin-bottom: 11px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ip-ink);
}
.ipub-chips { display: flex; flex-wrap: wrap; gap: 9px; }
.ipub-chip { position: relative; }
.ipub-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ipub-chip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px 10px 13px;
    border: 1px solid var(--ip-hair);
    border-radius: 999px;
    font-size: 13.2px;
    font-weight: 600;
    color: var(--ip-mute);
    cursor: pointer;
    user-select: none;
    transition: all .16s ease;
}
/* La marca del chip se dibuja: cuadrito vacío que pasa a check azul. */
.ipub-chip__tick {
    width: 15px; height: 15px;
    border: 1.5px solid #C6D3DC;
    border-radius: 5px;
    flex-shrink: 0;
    position: relative;
    transition: all .16s ease;
}
.ipub-chip span:hover { border-color: var(--ip-blue); color: var(--ip-blue-d); }
.ipub-chip input:checked + span {
    border-color: var(--ip-blue);
    background: var(--ip-blue-w);
    color: var(--ip-blue-d);
}
.ipub-chip input:checked + span .ipub-chip__tick {
    background: var(--ip-blue);
    border-color: var(--ip-blue);
}
.ipub-chip input:checked + span .ipub-chip__tick::after {
    content: '';
    position: absolute;
    left: 4.5px; top: 1.5px;
    width: 4px; height: 8px;
    border-right: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    transform: rotate(42deg);
}
.ipub-chip input:focus-visible + span { outline: 2px solid var(--ip-blue); outline-offset: 2px; }

.ipub-consent {
    display: flex;
    gap: 11px;
    align-items: flex-start;
    margin: 20px 0 20px;
    font-size: 13.2px;
    line-height: 1.6;
    color: var(--ip-mute);
}
.ipub-consent input { margin-top: 3px; width: 16px; height: 16px; accent-color: var(--ip-blue); flex: 0 0 auto; }
.ipub-consent a { color: var(--ip-navy); }

/* La trampa de robots se saca de la pantalla, no se oculta con display:
   none — algunos bots detectan eso y no la rellenan. */
.ipub-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ipub-status { margin: 14px 0 0; min-height: 20px; font-size: 13.5px; font-weight: 600; }
.ipub-status.is-bad { color: #C0392B; }
.ipub-status.is-ok  { color: #15803D; }
#ipub-submit.is-loading { opacity: .6; pointer-events: none; }

.ipub-ok {
    grid-column: 1 / -1;
    background: #FFFFFF;
    border: 1px solid var(--ip-hair);
    border-radius: var(--ip-r);
    box-shadow: var(--ip-sh-2);
    padding: 52px 38px;
    text-align: center;
}
.ipub-ok__tick {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px; height: 52px;
    margin-bottom: 18px;
    border-radius: 50%;
    background: var(--ip-blue-w);
    color: var(--ip-blue-d);
}
.ipub-ok__tick svg { width: 24px; height: 24px; }
.ipub-ok h3 {
    margin: 0 0 10px;
    font-size: 26px;
    font-weight: 800;
    letter-spacing: -0.032em;
    color: var(--ip-ink);
}
.ipub-ok p { margin: 0 auto; max-width: 46ch; color: var(--ip-mute); font-size: 15.5px; line-height: 1.65; }

/* ══ MÓVIL ══════════════════════════════════════════════════════════ */
@media (max-width: 700px) {
    .ipub-wrap { --ip-pad: 18px; }
    .ipub-hero { padding-top: 46px; }
    .ipub-sec { padding: 56px 0; }
    .ipub-sec--tight { padding-top: 0; }
    .ipub-head { margin-bottom: 30px; }
    .ipub-hero__cta .ipub-btn { flex: 1 1 100%; }
    .ipub-claim { margin-top: 38px; font-size: 15.5px; }

    .ipub-lead { padding: 26px 22px 28px; }
    .ipub-fmt  { padding: 24px 22px 26px; }
    .ipub-cap  { padding: 24px 22px 26px; }
    .ipub-cap--wide { flex-direction: column; gap: 16px; }
    .ipub-zonecol { padding: 22px 20px 10px; }
    .ipub-form { padding: 26px 20px 24px; }
    .ipub-ok   { padding: 38px 22px; }
    .ipub-camal__logo { height: 34px; }
}

@media (prefers-reduced-motion: reduce) {
    .ipub *, .ipub *::before, .ipub *::after {
        transition: none !important;
        animation: none !important;
    }
}
