/* Portada: el mar se integra en la cabecera y el contenido conserva superficies legibles. */
body.entry-page {
    background: #f3f2ee;
}
.entry-page .navbar-default {
    margin-bottom: 0;
    box-shadow: none;
}
.entry-page main.container {
    margin-top: 28px;
    margin-bottom: 46px;
    padding: 0 15px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.entry-page footer.container { display: none; }

.entry-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
    max-width: none;
    min-height: 475px;
    margin: 0 0 36px;
    overflow: hidden;
    border: 1px solid #d7d8de;
    border-radius: 24px;
    background: #fffefa;
    box-shadow: 0 18px 48px rgba(45, 54, 79, .1);
    text-align: left;
}
.entry-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: clamp(26px, 4vw, 54px);
}
.entry-eyebrow {
    display: inline-block;
    width: fit-content;
    margin: 0 0 22px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #e8e9f0;
    color: #35405c;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1.35;
}
.entry-hero h1 {
    max-width: 680px;
    margin: 0 0 18px;
    color: #303b57;
    font-size: clamp(36px, 3.6vw, 49px);
    line-height: 1.12;
    letter-spacing: -.025em;
}
.entry-intro {
    max-width: 610px;
    margin: 0 0 30px;
    color: #343944;
    font-size: 19px;
    line-height: 1.55;
}
.entry-search {
    width: 100%;
    max-width: 600px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.entry-search label { margin-bottom: 10px; font-size: 16px; }
.entry-search-controls { gap: 8px; }
.entry-search-controls .form-control {
    height: 52px;
    border: 2px solid #939bb0;
    border-radius: 8px;
    background: #fff;
}
.entry-search-controls .btn {
    min-width: 112px;
    min-height: 52px;
    border-radius: 8px;
}
.entry-hero-visual {
    position: relative;
    min-height: 100%;
    overflow: hidden;
    background: #8b9cae url('../images/entry-sea-frame.jpg') center / cover no-repeat;
}
.entry-hero-visual::after {
    position: absolute;
    inset: 0;
    content: '';
    background: linear-gradient(135deg, rgba(53, 64, 92, .12), rgba(53, 64, 92, .38));
    pointer-events: none;
}
.entry-hero-visual video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.entry-visual-ring {
    position: absolute;
    z-index: 1;
    width: 320px;
    height: 320px;
    top: 9%;
    right: -21%;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 50%;
}
.entry-visual-bubble {
    position: absolute;
    z-index: 1;
    display: block;
    box-shadow: 0 18px 30px rgba(32, 41, 61, .16);
}
.entry-visual-bubble-one {
    top: 26%;
    left: 11%;
    width: 48%;
    height: 100px;
    border-radius: 24px 24px 24px 5px;
    background: rgba(255, 254, 250, .94);
    transform: rotate(-7deg);
}
.entry-visual-bubble-one::before,
.entry-visual-bubble-one::after,
.entry-visual-bubble-two::before,
.entry-visual-bubble-two::after {
    position: absolute;
    left: 18%;
    height: 9px;
    border-radius: 999px;
    content: '';
}
.entry-visual-bubble-one::before { top: 34%; width: 63%; background: #74809e; }
.entry-visual-bubble-one::after { top: 57%; width: 42%; background: #b9bed0; }
.entry-visual-bubble-two {
    right: 10%;
    bottom: 23%;
    width: 42%;
    height: 84px;
    border-radius: 22px 22px 5px 22px;
    background: #35405c;
    transform: rotate(6deg);
}
.entry-visual-bubble-two::before { top: 34%; width: 60%; background: #fffefa; }
.entry-visual-bubble-two::after { top: 58%; width: 38%; background: #d9d2bf; }

.entry-section-title {
    margin: 0 0 18px;
    color: #303b57;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
}
.entry-explore { gap: 18px; margin-bottom: 34px; }
.entry-explore-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 180px;
    padding: 22px;
    border: 1px solid #d5d9e3;
    border-left: 1px solid #d5d9e3;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(45, 54, 79, .05);
}
.entry-explore-card:nth-child(2) { background: #faf9f5; }
.entry-explore-card:nth-child(3) { background: #f7f8fa; }
.entry-explore-card:hover, .entry-explore-card:focus-visible {
    border-color: #6a7695;
    box-shadow: 0 12px 28px rgba(45, 54, 79, .12);
}
.entry-card-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-bottom: 20px;
    border-radius: 10px;
    background: #e8e9f0;
    color: #303b57;
    font-size: 14px;
    font-weight: 800;
}
.entry-explore-card:nth-child(2) .entry-card-number { background: #eae5d7; }
.entry-explore-card:nth-child(3) .entry-card-number { background: #e1e7ec; }
.entry-card-title { margin-bottom: 7px; font-size: 19px; }
.entry-card-copy { color: #444952; }

.entry-reading {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
    margin-bottom: 34px;
    padding: 28px;
    border: 1px solid #d5d9e3;
    border-top: 1px solid #d5d9e3;
    border-radius: 15px;
    box-shadow: 0 5px 16px rgba(45, 54, 79, .05);
    background: #eff0f5;
}
.entry-reading h2 { grid-column: 1 / -1; font-size: 23px; }
.entry-reading .reading-selector { margin: 0; }
.entry-reading .entry-screen-reader {
    margin: 0;
    padding: 0 0 0 28px;
    border-top: 0;
    border-left: 1px solid #c5c9d6;
}
.entry-reading .reading-mode-buttons .btn[aria-pressed="true"] {
    background: #35405c;
    border-color: #35405c;
    box-shadow: inset 0 0 0 2px #fff;
}
.entry-reading .help-block { color: #444952; }
.entry-screen-reader { border-top-color: #c5c9d6; }

@media (max-width: 900px) {
    .entry-hero { grid-template-columns: minmax(0, 1.2fr) minmax(230px, .8fr); }
    .entry-hero-copy { padding: 30px; }
    .entry-explore { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .entry-page main.container { margin-top: 18px; }
    .entry-hero { display: flex; flex-direction: column; min-height: 0; border-radius: 18px; }
    .entry-hero-copy { padding: 28px 24px; }
    .entry-hero-visual { min-height: 140px; }
    .entry-explore { grid-template-columns: 1fr; gap: 12px; }
    .entry-explore-card { min-height: 0; padding: 18px; }
    .entry-card-number { margin-bottom: 12px; }
    .entry-reading { grid-template-columns: 1fr; }
    .entry-reading .entry-screen-reader {
        margin-top: 18px;
        padding: 18px 0 0;
        border-top: 1px solid #c5c9d6;
        border-left: 0;
    }
}
@media (max-width: 520px) {
    .entry-page main.container { padding: 0 12px; }
    .entry-hero-copy { padding: 26px 20px; }
    .entry-hero h1 { font-size: 34px; }
    .entry-intro { font-size: 17px; }
    .entry-search-controls { flex-direction: column; }
    .entry-search-controls .btn { width: 100%; }
    .entry-reading { padding: 20px; }
}
.a11y-large-text .entry-hero { grid-template-columns: 1fr; }
.a11y-large-text .entry-hero-visual { min-height: 180px; }
.a11y-large-text .entry-hero h1 { font-size: calc(34px * var(--a11y-scale)); }
.a11y-large-text .entry-eyebrow { font-size: calc(12px * var(--a11y-scale)); }
.a11y-large-text .entry-intro, .a11y-large-text .entry-card-title { font-size: calc(18px * var(--a11y-scale)); }
.a11y-large-text .entry-section-title { font-size: calc(26px * var(--a11y-scale)); }
.a11y-contrast .entry-hero-visual { display: none; }
@media (prefers-reduced-motion: reduce) {
    .entry-explore-card { transition: none; }
    .entry-explore-card:hover, .entry-explore-card:focus-visible { transform: none; }
}
@media print {
    .entry-hero-visual { display: none; }
    .entry-hero { display: block; }
}
