:root {
  --ps-navy: #142238;
  --ps-navy-2: #214e78;
  --ps-blue: #2f6fa6;
  --ps-blue-dark: #214e78;
  --ps-blue-soft: #dceaf5;
  --ps-red: #c04a50;
  --ps-red-dark: #832e35;
  --ps-red-soft: #f8e9ea;
  --ps-paper: #ffffff;
  --ps-paper-2: #edf3f8;
  --ps-surface: #fff;
  --ps-ink: #132238;
  --ps-muted: #44546a;
  --ps-light: #d8e1e9;
  --ps-line: #d7e0e9;
  --ps-ok: #176743;
  --ps-ok-soft: #e4f3eb;
  --ps-warning: #925319;
  --ps-warning-soft: #fff1dc;
  --ps-display: 'EB Garamond', Georgia, serif;
  --ps-body: 'Instrument Sans', system-ui, sans-serif;
  --ps-serif: 'Newsreader', Georgia, serif;
  --ps-shadow: 0 18px 50px rgba(18, 23, 39, .11);
  --ps-radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--ps-paper); color: var(--ps-ink); font-family: var(--ps-body); line-height: 1.55; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; }
a { color: inherit; }
[hidden] { display: none !important; }

.skip-link { position: fixed; z-index: 1200; left: 14px; top: -80px; padding: 11px 15px; border-radius: 8px; background: #fff; color: var(--ps-navy); font-weight: 800; }
.skip-link:focus { top: calc(var(--global-products-height, 44px) + 8px); }
:focus-visible { outline: 3px solid var(--ps-red); outline-offset: 3px; }

.psy-topbar { position: sticky; z-index: 900; top: var(--global-products-height, 44px); overflow-x: clip; border-bottom: 1px solid var(--ps-line); background: rgba(255, 255, 255, .96); backdrop-filter: blur(16px); }
.psy-topbar__inner { width: min(1440px, 100%); min-height: 68px; margin: auto; padding: 0 28px; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; }
.psy-brand { text-decoration: none; color: var(--ps-navy); font-family: var(--ps-display); font-size: 21px; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
.psy-brand span { color: var(--ps-red); font-family: var(--ps-body); font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.psy-nav { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 3px; }
.psy-nav a { padding: 9px 10px; border-radius: 8px; color: var(--ps-muted); text-decoration: none; font-size: 11px; font-weight: 750; }
.psy-nav a:hover, .psy-nav a[aria-current] { background: var(--ps-blue-soft); color: var(--ps-blue-dark); }
.psy-home { color: var(--ps-red-dark); text-decoration: none; font-size: 10px; font-weight: 850; letter-spacing: .08em; white-space: nowrap; }

.eyebrow { display: inline-flex; align-items: center; gap: 8px; color: var(--ps-blue-dark); font-size: 10px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { content: ''; width: 22px; height: 2px; background: var(--ps-red); }
.section { width: min(1404px, calc(100% - 56px)); margin: auto; padding: clamp(70px, 9vw, 126px) 0; }
.section-head { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: 48px; align-items: end; margin-bottom: 42px; }
.section-head h2 { max-width: 870px; margin: 12px 0 0; font: 600 clamp(42px, 6vw, 76px)/.96 var(--ps-display); letter-spacing: -.04em; }
.section-head p { max-width: 600px; margin: 0; color: var(--ps-muted); font-size: 15px; }
.section-head p strong { color: var(--ps-ink); }
.button-row { display: flex; flex-wrap: wrap; gap: 10px; }
.button, button.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 11px 17px; border: 1px solid var(--ps-blue); border-radius: 999px; background: transparent; color: var(--ps-blue-dark); text-decoration: none; font-size: 11px; font-weight: 850; cursor: pointer; }
.button.primary { border-color: var(--ps-blue-dark); background: var(--ps-blue-dark); color: #fff; }
.button.secondary { border-color: var(--ps-line); background: #fff; color: var(--ps-ink); }
.button:hover { border-color: var(--ps-red); transform: translateY(-1px); }
.text-link { color: var(--ps-blue-dark); text-decoration-thickness: 1px; text-underline-offset: 4px; font-size: 12px; font-weight: 800; }

/* Portada */
.psy-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 710px; border-bottom: 1px solid var(--ps-line); background: linear-gradient(135deg, #fff 0 55%, var(--ps-blue-soft) 55% 100%); }
.psy-hero::before { content: ''; position: absolute; z-index: -1; width: 480px; height: 480px; right: -160px; top: -170px; border: 1px solid rgba(35, 101, 154, .18); border-radius: 50%; box-shadow: 0 0 0 55px rgba(35, 101, 154, .04), 0 0 0 110px rgba(182, 66, 73, .035); }
.psy-hero__inner { width: min(1404px, calc(100% - 56px)); min-height: 710px; margin: auto; padding: 76px 0 68px; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(420px, .96fr); gap: 78px; align-items: center; }
.psy-hero__copy { min-width: 0; }
.psy-hero h1 { max-width: 100%; margin: 16px 0 12px; color: var(--ps-navy); font: 600 clamp(52px, 4.7vw, 72px)/.86 var(--ps-display); letter-spacing: -.058em; white-space: nowrap; }
.psy-hero h1 span { display: block; margin: 24px 0 0 7px; color: var(--ps-red-dark); font: 800 10px/1.2 var(--ps-body); letter-spacing: .22em; text-transform: uppercase; }
.psy-hero__lead { max-width: 780px; margin: 27px 0 14px; color: var(--ps-ink); font: 500 clamp(24px, 2.5vw, 36px)/1.17 var(--ps-serif); }
.psy-hero__copy > p:not(.psy-hero__lead) { max-width: 735px; color: var(--ps-muted); font-size: 15px; }
.psy-hero__positioning { padding-left: 16px; border-left: 3px solid var(--ps-red); }
.psy-hero__positioning strong { color: var(--ps-navy); }
.psy-hero .button-row { margin-top: 28px; }

.system-portrait { position: relative; min-height: 520px; display: grid; place-items: center; }
.system-portrait__core { z-index: 2; width: 176px; height: 176px; display: grid; place-content: center; padding: 24px; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: var(--ps-navy); color: #fff; text-align: center; box-shadow: 0 28px 65px rgba(7,27,58,.27); }
.system-portrait__core strong { font: 600 30px/1 var(--ps-display); }
.system-portrait__core span { margin-top: 8px; color: #bcd2e6; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.system-portrait__orbit { position: absolute; inset: 47px; border: 1px dashed rgba(35,101,154,.38); border-radius: 50%; animation: orbit 38s linear infinite; }
.system-portrait__orbit::after { content: ''; position: absolute; inset: 58px; border: 1px solid rgba(182,66,73,.18); border-radius: 50%; }
.system-node { position: absolute; z-index: 3; width: 132px; min-height: 70px; display: grid; place-content: center; padding: 12px; border: 1px solid var(--ps-line); border-radius: 15px; background: rgba(255,255,255,.96); color: var(--ps-navy); text-align: center; box-shadow: 0 12px 28px rgba(7,27,58,.1); font-size: 11px; font-weight: 800; }
.system-node small { display: block; margin-top: 3px; color: var(--ps-muted); font-size: 8px; font-weight: 600; }
.system-node:nth-of-type(3) { top: 15px; left: calc(50% - 66px); }
.system-node:nth-of-type(4) { top: 111px; right: 3px; }
.system-node:nth-of-type(5) { bottom: 83px; right: 11px; }
.system-node:nth-of-type(6) { bottom: 7px; left: calc(50% - 66px); }
.system-node:nth-of-type(7) { bottom: 83px; left: 11px; }
.system-node:nth-of-type(8) { top: 111px; left: 3px; }
@keyframes orbit { to { transform: rotate(360deg); } }

.proof-strip { border-bottom: 1px solid var(--ps-line); background: var(--ps-navy); color: #fff; }
.proof-strip__inner { width: min(1404px, 100%); margin: auto; display: grid; grid-template-columns: repeat(5, 1fr); }
.proof-strip span { padding: 24px 28px; border-left: 1px solid rgba(255,255,255,.12); color: #bcd2e6; font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.proof-strip strong { display: block; margin-bottom: 3px; color: #fff; font: 600 34px var(--ps-display); letter-spacing: -.02em; text-transform: none; }

.terrain-feature { scroll-margin-top: 150px; border-bottom: 1px solid var(--ps-line); background: var(--ps-navy); color: #fff; }
.terrain-feature .section { padding-block: clamp(72px, 8vw, 112px); }
.terrain-feature .section-head h2 { color: #fff; }
.terrain-feature .section-head p, .terrain-feature__footer p { color: #c3d5e5; }
.terrain-feature .eyebrow { color: #bcd2e6; }
.terrain-feature .eyebrow::before { background: #e8a3a7; }
.terrain-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; border: 1px solid rgba(255,255,255,.22); border-radius: var(--ps-radius); background: #fff; color: var(--ps-ink); box-shadow: 0 28px 70px rgba(0,0,0,.24); }
.terrain-card { min-width: 0; min-height: 300px; padding: clamp(23px, 2.5vw, 34px); border-left: 1px solid var(--ps-line); }
.terrain-card:first-child { border-left: 0; }
.terrain-card b { display: block; color: var(--ps-red-dark); font-size: 12px; letter-spacing: .12em; }
.terrain-card h3 { margin: 54px 0 13px; color: var(--ps-navy); font: 600 clamp(27px, 2.3vw, 34px)/1 var(--ps-display); letter-spacing: -.018em; overflow-wrap: anywhere; }
.terrain-card p { margin: 0; color: var(--ps-muted); font-size: 15px; line-height: 1.55; }
.terrain-feature__footer { margin-top: 24px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 30px; align-items: center; }
.terrain-feature__footer p { max-width: 820px; margin: 0; }
.terrain-feature__footer p strong { color: #fff; }
.terrain-feature .button.primary { border-color: #fff; background: #fff; color: var(--ps-navy); }
.terrain-feature .button.secondary { border-color: rgba(255,255,255,.42); background: transparent; color: #fff; }
.terrain-feature .safety-note { color: #6f282e; }

.manifesto { border-block: 1px solid var(--ps-line); background: #fff; }
.manifesto__inner { width: min(1180px, calc(100% - 56px)); margin: auto; padding: clamp(70px, 9vw, 120px) 0; text-align: center; }
.manifesto blockquote { margin: 18px auto 24px; color: var(--ps-navy); font: 500 clamp(38px, 5.8vw, 76px)/1 var(--ps-display); letter-spacing: -.035em; }
.manifesto p { max-width: 810px; margin: auto; color: var(--ps-muted); }

.entry-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.entry-card { --door-accent: #526c7e; --door-wash: #f4f7f7; position: relative; isolation: isolate; overflow: hidden; min-height: 392px; display: flex; flex-direction: column; padding: 25px; border: 1px solid var(--ps-line); border-radius: 18px; background: linear-gradient(155deg, #fff 0 59%, var(--door-wash) 100%); text-decoration: none; transition: transform .18s, box-shadow .18s, border-color .18s; }
.entry-card::before { content: ''; position: absolute; z-index: -1; inset: 0 auto 0 0; width: 4px; background: var(--door-accent); opacity: .78; }
.entry-card::after { content: ''; position: absolute; z-index: -1; width: 138px; height: 138px; right: -66px; top: 54px; border: 1px solid color-mix(in srgb, var(--door-accent) 30%, transparent); border-radius: 50%; opacity: .52; }
.entry-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--door-accent) 55%, var(--ps-line)); box-shadow: var(--ps-shadow); }
.entry-card__number { min-height: 28px; color: var(--door-accent); font-size: 10.5px; font-weight: 850; line-height: 1.35; letter-spacing: .12em; }
.entry-card__motif { width: 66px; height: 48px; display: grid; align-content: center; gap: 6px; margin-top: 26px; }
.entry-card__motif i { display: block; height: 2px; border-radius: 99px; background: var(--door-accent); opacity: .64; }
.entry-card__motif i:nth-child(1) { width: 66%; }
.entry-card__motif i:nth-child(2) { width: 100%; }
.entry-card__motif i:nth-child(3) { width: 45%; }
.entry-card h3 { max-width: 270px; margin: 15px 0 13px; font: 600 clamp(27px, 2.2vw, 32px)/1.02 var(--ps-display); letter-spacing: -.018em; overflow-wrap: anywhere; }
.entry-card p { margin: 0 0 24px; color: var(--ps-muted); font-size: 14px; line-height: 1.52; }
.entry-card strong { margin-top: auto; padding-top: 15px; border-top: 1px solid color-mix(in srgb, var(--door-accent) 25%, var(--ps-line)); color: var(--door-accent); font-size: 13px; }
.entry-card--archive { --door-accent: #214e78; --door-wash: #edf3f8; }
.entry-card--lab { --door-accent: #2f6fa6; --door-wash: #dceaf5; }
.entry-card--plaza { --door-accent: #c04a50; --door-wash: #f4e9eb; }
.entry-card--compass { --door-accent: #26384f; --door-wash: #e8ebef; }
.entry-card--lab .entry-card__motif { grid-template-columns: repeat(3, 12px); align-items: center; gap: 8px; }
.entry-card--lab .entry-card__motif i { width: 12px; height: 12px; border-radius: 50%; }
.entry-card--lab .entry-card__motif i:nth-child(2) { transform: translateY(-9px); }
.entry-card--plaza .entry-card__motif { position: relative; display: block; }
.entry-card--plaza .entry-card__motif i { position: absolute; width: 32px; height: 32px; border: 2px solid var(--door-accent); border-radius: 50%; background: transparent; }
.entry-card--plaza .entry-card__motif i:nth-child(1) { left: 0; top: 9px; }
.entry-card--plaza .entry-card__motif i:nth-child(2) { left: 21px; top: 0; }
.entry-card--plaza .entry-card__motif i:nth-child(3) { left: 35px; top: 14px; }
.entry-card--compass .entry-card__motif { position: relative; display: block; width: 48px; height: 48px; border: 1px solid color-mix(in srgb, var(--door-accent) 55%, transparent); border-radius: 50%; }
.entry-card--compass .entry-card__motif::before, .entry-card--compass .entry-card__motif::after { content: ''; position: absolute; left: 22px; top: 7px; width: 2px; height: 34px; background: var(--door-accent); transform: rotate(38deg); transform-origin: center; }
.entry-card--compass .entry-card__motif::after { opacity: .28; transform: rotate(-52deg); }
.entry-card--compass .entry-card__motif i { display: none; }

.why-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--ps-line); border-radius: var(--ps-radius); overflow: hidden; background: #fff; }
.why-card { min-height: 300px; padding: 26px; border-left: 1px solid var(--ps-line); }
.why-card:first-child { border-left: 0; }
.why-card span { color: var(--ps-red-dark); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.why-card h3 { margin: 62px 0 13px; font: 600 32px/1 var(--ps-display); }
.why-card p { color: var(--ps-muted); font-size: 12px; }

.routes-section { background: var(--ps-navy); color: #fff; }
.routes-section .section-head h2 { color: #fff; }
.routes-section .section-head p { color: #bcd2e6; }
.routes-section .eyebrow { color: #bcd2e6; }
.route-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.route-card { min-height: 430px; display: flex; flex-direction: column; padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(255,255,255,.18); border-radius: var(--ps-radius); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); }
.route-card__tag { color: #bcd2e6; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.route-card h3 { margin: 55px 0 14px; font: 600 clamp(37px, 4vw, 55px)/.95 var(--ps-display); }
.route-card p { max-width: 590px; color: #bcd2e6; }
.route-card ol { margin: 15px 0 30px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; list-style: none; }
.route-card li { padding: 6px 9px; border: 1px solid rgba(255,255,255,.17); border-radius: 999px; color: #d9e7f3; font-size: 9px; }
.route-card .button { width: max-content; margin-top: auto; border-color: rgba(255,255,255,.35); color: #fff; }
.route-card:last-child { background: linear-gradient(145deg, rgba(182,66,73,.26), rgba(255,255,255,.03)); }

.life-road { display: grid; grid-template-columns: repeat(8, 1fr); gap: 0; border: 1px solid var(--ps-line); border-radius: var(--ps-radius); overflow: hidden; background: #fff; }
.life-step { position: relative; min-height: 265px; padding: 20px 17px; border-left: 1px solid var(--ps-line); }
.life-step:first-child { border-left: 0; }
.life-step::after { content: '→'; position: absolute; z-index: 2; right: -10px; top: 30px; width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: var(--ps-red); color: #fff; font-size: 10px; }
.life-step:last-child::after { display: none; }
.life-step b { color: var(--ps-red-dark); font-size: 10px; letter-spacing: .12em; }
.life-step h3 { margin: 48px 0 10px; font: 600 22px/1 var(--ps-display); }
.life-step p { color: var(--ps-muted); font-size: 10px; }

.case-lab { display: grid; grid-template-columns: minmax(250px, .65fr) minmax(0, 1.35fr); border: 1px solid var(--ps-line); border-radius: var(--ps-radius); overflow: hidden; background: #fff; box-shadow: var(--ps-shadow); }
.case-lab__scene { padding: clamp(28px, 4vw, 48px); background: var(--ps-navy); color: #fff; }
.case-lab__scene h3 { margin: 52px 0 15px; font: 600 38px/1 var(--ps-display); }
.case-lab__scene p { color: #c3d5e5; font-family: var(--ps-serif); font-size: 18px; }
.case-lab__work { padding: clamp(26px, 4vw, 46px); }
.case-lab__work h3 { margin: 0 0 8px; font: 600 32px var(--ps-display); }
.case-lab__work > p { color: var(--ps-muted); font-size: 12px; }
.lens-buttons { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin: 24px 0 15px; }
.lens-button { min-height: 72px; padding: 11px; border: 1px solid var(--ps-line); border-radius: 11px; background: #fff; color: var(--ps-ink); text-align: left; cursor: pointer; font-size: 10px; font-weight: 800; }
.lens-button:hover, .lens-button[aria-pressed='true'] { border-color: var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-blue-dark); }
.lens-output { display: block; min-height: 128px; padding: 18px; border-left: 4px solid var(--ps-red); background: var(--ps-red-soft); color: var(--ps-ink); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
.lens-output strong { display: block; margin-bottom: 6px; color: var(--ps-red-dark); }
.lens-output__item + .lens-output__item { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(132,47,54,.18); }
.lens-output__integration { margin: 17px 0 0; padding-top: 14px; border-top: 1px solid rgba(132,47,54,.25); }

.prevention-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.prevention-card { min-height: 285px; padding: 25px; border: 1px solid var(--ps-line); border-radius: 17px; background: #fff; }
.prevention-card span { display: inline-grid; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: var(--ps-blue-soft); color: var(--ps-blue-dark); font-size: 10px; font-weight: 850; }
.prevention-card h3 { margin: 60px 0 11px; font: 600 29px/1 var(--ps-display); }
.prevention-card p { color: var(--ps-muted); font-size: 12px; }
.safety-note { margin-top: 18px; padding: 18px 20px; border: 1px solid #edb4b0; border-radius: 13px; background: var(--ps-red-soft); color: #6f282e; font-size: 12px; }

.source-ribbon { display: grid; grid-template-columns: 1.2fr repeat(3, 1fr); border: 1px solid var(--ps-line); border-radius: var(--ps-radius); overflow: hidden; background: #fff; }
.source-ribbon > div { min-height: 250px; padding: 25px; border-left: 1px solid var(--ps-line); }
.source-ribbon > div:first-child { border-left: 0; background: var(--ps-blue-soft); }
.source-ribbon strong { display: block; margin: 52px 0 12px; font: 600 27px/1 var(--ps-display); }
.source-ribbon p { color: var(--ps-muted); font-size: 11px; }

.closing { border-top: 1px solid var(--ps-line); background: #fff; }
.closing__inner { width: min(1100px, calc(100% - 56px)); margin: auto; padding: clamp(75px, 10vw, 130px) 0; text-align: center; }
.closing h2 { margin: 12px auto 20px; font: 600 clamp(42px, 6vw, 72px)/.98 var(--ps-display); letter-spacing: -.04em; }
.closing p { max-width: 720px; margin: 0 auto 27px; color: var(--ps-muted); }
.closing .button-row { justify-content: center; }

/* Cabeceras y superficies internas */
.campus-hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--ps-line); background: linear-gradient(135deg, #fff, var(--ps-blue-soft)); }
.campus-hero::after { content: 'cuerpo · experiencia · vínculos · historia'; position: absolute; right: 2%; top: 28px; color: rgba(35,101,154,.07); font: 600 clamp(36px, 6vw, 88px)/1 var(--ps-display); white-space: nowrap; pointer-events: none; }
.campus-hero__inner { position: relative; z-index: 1; width: min(1404px, calc(100% - 56px)); min-height: 390px; margin: auto; padding: 74px 0 52px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 50px; align-items: end; }
.campus-hero h1 { margin: 14px 0 18px; color: var(--ps-navy); font: 600 clamp(56px, 8vw, 104px)/.84 var(--ps-display); letter-spacing: -.055em; }
.campus-hero p { max-width: 760px; color: var(--ps-muted); font-size: 15px; }
.campus-note { padding: 25px; border: 1px solid #a9bfd2; border-radius: 17px; background: rgba(255,255,255,.9); box-shadow: var(--ps-shadow); }
.campus-note strong { display: block; margin-bottom: 7px; font: 600 32px/1 var(--ps-display); }
.campus-note span { color: var(--ps-muted); font-size: 11px; }
.summary-strip { width: min(1404px, 100%); margin: auto; display: grid; grid-template-columns: repeat(6, 1fr); }
.summary-strip span { padding: 19px 28px; border-left: 1px solid var(--ps-line); color: var(--ps-muted); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.summary-strip b { display: block; color: var(--ps-ink); font: 600 29px var(--ps-display); text-transform: none; }

.program-positioning { max-width: 780px; padding-left: 16px; border-left: 3px solid var(--ps-red); }
.program-positioning strong { color: var(--ps-navy); letter-spacing: .04em; }
.fourth-year-plan { width: min(1404px, calc(100% - 56px)); margin: 38px auto 0; padding: 34px; border: 1px solid var(--ps-line); border-radius: 20px; background: linear-gradient(135deg, #fff, #f8fbfd); }
.fourth-year-plan__head { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 36px; align-items: end; }
.fourth-year-plan h2 { margin: 12px 0 14px; color: var(--ps-navy); font: 600 clamp(38px, 5vw, 66px)/.94 var(--ps-display); letter-spacing: -.035em; }
.fourth-year-plan__head p { max-width: 860px; color: var(--ps-muted); font-size: 15px; line-height: 1.6; }
.fourth-year-plan__note { display: grid; gap: 6px; padding: 20px; border-left: 3px solid var(--ps-red); background: var(--ps-red-soft); color: var(--ps-red-dark); }
.fourth-year-plan__note strong { color: var(--ps-navy); font: 600 31px var(--ps-display); }
.fourth-year-plan__note span { font-size: 12px; line-height: 1.4; }
.fourth-year-plan__epistemology { margin: 25px 0 0; padding: 17px 20px; border-left: 3px solid var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-blue-dark); font-size: 14px; line-height: 1.6; }
.fourth-year-plan__capabilities { margin-top: 26px; padding: 18px 20px; border-top: 1px solid var(--ps-line); border-bottom: 1px solid var(--ps-line); color: var(--ps-navy); font-size: 13px; }
.fourth-year-plan__capabilities > div { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 12px; }
.fourth-year-plan__capabilities span { padding: 8px 11px; border: 1px solid var(--ps-line); border-radius: 999px; background: #fff; color: var(--ps-muted); font-size: 12px; line-height: 1.35; }
.fourth-year-plan__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 18px; }
.fourth-plan-card { min-width: 0; padding: 22px; border: 1px solid var(--ps-line); border-radius: 15px; background: #fff; }
.fourth-plan-card__top { display: flex; justify-content: space-between; gap: 10px; color: var(--ps-red-dark); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fourth-plan-card h3 { margin: 28px 0 10px; color: var(--ps-navy); font: 600 29px/1 var(--ps-display); }
.fourth-plan-card > p { min-height: 76px; color: var(--ps-muted); font-size: 13px; line-height: 1.5; }
.fourth-plan-card dl { display: grid; gap: 10px; margin: 17px 0; }
.fourth-plan-card dl div { padding-top: 10px; border-top: 1px solid var(--ps-line); }
.fourth-plan-card dt { color: var(--ps-blue-dark); font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fourth-plan-card dd { margin: 5px 0 0; color: var(--ps-muted); font-size: 12px; line-height: 1.45; }
.fourth-plan-card__criteria { margin: 14px 0; padding: 10px 11px; border: 1px solid var(--ps-line); border-radius: 10px; background: var(--ps-paper); }
.fourth-plan-card__criteria summary { cursor: pointer; color: var(--ps-blue-dark); font-size: 12px; font-weight: 800; }
.fourth-plan-card__criteria summary:focus-visible { outline: 3px solid var(--ps-red); outline-offset: 3px; border-radius: 3px; }
.fourth-plan-card__criteria ul { display: grid; gap: 6px; margin: 10px 0 0; padding-left: 17px; color: var(--ps-muted); font-size: 12px; line-height: 1.4; }
.fourth-plan-card__units { display: grid; gap: 5px; padding-top: 10px; border-top: 1px solid var(--ps-line); }
.fourth-plan-card__units small { color: var(--ps-muted); font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.fourth-plan-card__units a { color: var(--ps-blue-dark); font-size: 12px; font-weight: 750; text-decoration: none; }
.fourth-plan-card__units a:hover { color: var(--ps-red-dark); }
.fourth-plan-card__units a span { color: var(--ps-red-dark); }
.fourth-plan-card__anchors { display: grid; gap: 5px; margin-top: 12px; padding: 11px 12px; border-left: 3px solid var(--ps-red); background: var(--ps-red-soft); }
.fourth-plan-card__anchors small { color: var(--ps-red-dark); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.fourth-plan-card__anchors a { color: var(--ps-red-dark); font-size: 12px; font-weight: 750; text-decoration: none; }
.fourth-plan-card__anchors a:hover { color: var(--ps-blue-dark); }

/* Programa */
.program-tools { width: min(1404px, calc(100% - 56px)); margin: 38px auto 0; padding: 26px; border: 1px solid var(--ps-line); border-radius: 18px; background: #fff; }
.route-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.route-switch button { min-height: 92px; padding: 16px 18px; border: 1px solid var(--ps-line); border-radius: 12px; background: #fff; color: var(--ps-ink); text-align: left; cursor: pointer; }
.route-switch button strong { display: block; font: 600 24px var(--ps-display); }
.route-switch button small { color: var(--ps-muted); }
.route-switch button[aria-pressed='true'] { border-color: var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-blue-dark); }
.filter-row { display: grid; grid-template-columns: 1fr 1fr 1fr auto; gap: 10px; align-items: end; margin-top: 18px; }
.filter-row label { display: grid; gap: 5px; color: var(--ps-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.filter-row select, .filter-row input { min-width: 0; min-height: 43px; padding: 9px 11px; border: 1px solid var(--ps-line); border-radius: 9px; background: #fff; color: var(--ps-ink); }
.filter-row button { min-height: 43px; padding: 9px 14px; border: 1px solid var(--ps-line); border-radius: 9px; background: var(--ps-paper-2); cursor: pointer; font-size: 10px; font-weight: 800; }
.program-status { margin: 16px 0 0; color: var(--ps-blue-dark); font-size: 11px; font-weight: 800; }
.unit-grid { width: min(1404px, calc(100% - 56px)); margin: auto; padding: 26px 0 100px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
.unit-card { min-width: 0; min-height: 400px; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--ps-line); border-radius: 17px; background: #fff; }
.unit-card--lab { background: linear-gradient(180deg, var(--ps-blue-soft) 0, #fff 118px); }
.unit-card__top { display: flex; justify-content: space-between; gap: 12px; color: var(--ps-blue-dark); font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.unit-card h2 { min-width: 0; margin: 30px 0 5px; font: 600 34px/.98 var(--ps-display); overflow-wrap: anywhere; hyphens: auto; }
.unit-card__subtitle { color: var(--ps-red-dark); font-size: 10px; font-weight: 800; }
.unit-card > p { color: var(--ps-muted); font-size: 12px; }
.unit-card__meta { display: flex; flex-wrap: wrap; gap: 5px; margin: 12px 0; }
.unit-card__meta span { padding: 5px 7px; border-radius: 999px; background: var(--ps-blue-soft); color: var(--ps-blue-dark); font-size: 8px; font-weight: 800; }
.unit-card__role { margin: 10px 0 0; padding: 9px 11px; border-left: 3px solid var(--ps-blue); background: var(--ps-paper-2); color: var(--ps-muted); font-size: 9px; line-height: 1.5; }
.unit-card__role strong { color: var(--ps-blue-dark); }
.unit-card__evidence { margin-top: auto; padding: 11px; border-left: 3px solid var(--ps-red); background: var(--ps-red-soft); color: var(--ps-muted); font-size: 9px; }
.unit-card__sources { margin-top: 10px; padding-top: 9px; border-top: 1px solid var(--ps-line); color: var(--ps-muted); font-size: 9px; }
.unit-card__sources summary { color: var(--ps-blue-dark); font-weight: 850; cursor: pointer; }
.unit-card__sources p { margin: 8px 0 0; line-height: 1.5; }
.unit-card__sources ul { margin: 7px 0 0; padding-left: 17px; }
.unit-card__sources li + li { margin-top: 4px; }
.unit-card__sources a { font-size: 9px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; overflow-wrap: anywhere; }
.unit-card__progress { margin: 14px 0 11px; }
.unit-card__progress div { height: 5px; border-radius: 999px; overflow: hidden; background: var(--ps-paper-2); }
.unit-card__progress i { display: block; height: 100%; background: linear-gradient(90deg, var(--ps-blue), var(--ps-red)); }
.unit-card__progress small { display: flex; justify-content: space-between; margin-top: 5px; color: var(--ps-muted); font-size: 9px; }
.unit-card a { color: var(--ps-blue-dark); font-size: 11px; font-weight: 850; text-decoration: none; }
.program-empty { grid-column: 1/-1; padding: 70px 30px; border: 1px solid var(--ps-line); border-radius: 18px; background: #fff; text-align: center; }
.program-empty h2 { margin: 0; font: 600 42px var(--ps-display); }

/* Manual */
.manual-layout { width: min(1500px, 100%); margin: auto; padding: 18px 24px 100px; display: grid; grid-template-columns: 295px minmax(0, 1fr); gap: 14px; align-items: start; }
.manual-nav { position: sticky; top: calc(var(--global-products-height, 44px) + 86px); max-height: calc(100vh - 155px); overflow: auto; padding: 17px; border: 1px solid var(--ps-line); border-radius: 15px; background: #fff; }
.manual-nav h2 { margin: 8px 0 15px; font: 600 27px var(--ps-display); }
.manual-nav__intro { margin: -4px 0 13px; color: var(--ps-muted); font-size: 11px; line-height: 1.45; }
.manual-nav__chooser, .manual-moments { border: 1px solid var(--ps-line); border-radius: 10px; background: var(--ps-paper); }
.manual-nav__chooser summary, .manual-moments summary { padding: 11px 12px; color: var(--ps-blue-dark); cursor: pointer; font-size: 11px; font-weight: 850; }
.manual-nav__chooser[open] summary, .manual-moments[open] summary { border-bottom: 1px solid var(--ps-line); }
.manual-nav__chooser > :not(summary) { margin-inline: 11px; }
.manual-nav__chooser h3 { margin: 13px 0 6px; color: var(--ps-muted); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.manual-nav__chooser .manual-route-toggle { margin-top: 11px; }
.manual-route-toggle { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 13px; }
.manual-route-toggle button { padding: 8px; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; color: var(--ps-muted); cursor: pointer; font-size: 9px; font-weight: 800; }
.manual-route-toggle button[aria-pressed='true'] { border-color: var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-blue-dark); }
.manual-section-label { display: grid; gap: 5px; margin: 0 0 13px; color: var(--ps-muted); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.manual-section-label select { width: 100%; min-height: 42px; padding: 8px; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; color: var(--ps-ink); }
.manual-unit-list, .manual-lesson-list { display: grid; gap: 5px; }
.manual-unit-list button, .manual-lesson-list button { padding: 9px 10px; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; color: var(--ps-ink); text-align: left; cursor: pointer; font-size: 10px; }
.manual-unit-list button[aria-current], .manual-lesson-list button[aria-current] { border-color: var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-blue-dark); }
.manual-unit-list button small { display: block; margin-top: 3px; color: var(--ps-muted); font-size: 8px; }
.manual-lesson-list { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--ps-line); }
.manual-stage { min-height: 760px; border: 1px solid var(--ps-line); border-radius: 19px; overflow: hidden; background: #fff; box-shadow: var(--ps-shadow); }
.manual-stage__head { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 22px 28px; background: var(--ps-navy); color: #fff; }
.manual-stage__head small { color: #bcd2e6; }
.manual-stage__head strong { display: block; margin-top: 4px; font: 600 27px var(--ps-display); }
.manual-progress { align-self: center; min-width: 150px; }
.manual-progress div { height: 5px; border-radius: 999px; background: rgba(255,255,255,.2); overflow: hidden; }
.manual-progress i { display: block; height: 100%; background: #fff; }
.manual-progress span { display: block; margin-top: 5px; color: #bcd2e6; font-size: 9px; text-align: right; }
.manual-moments { border-width: 0 0 1px; border-radius: 0; background: var(--ps-paper); }
.manual-moments summary { padding: 12px 18px; list-style-position: inside; }
.moment-track { display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: 1px solid var(--ps-line); background: var(--ps-paper); }
.moment-track button { min-height: 54px; padding: 8px; border: 0; border-left: 1px solid var(--ps-line); background: transparent; color: var(--ps-muted); cursor: pointer; font-size: 9px; font-weight: 800; }
.moment-track button:first-child { border-left: 0; }
.moment-track button[aria-current='step'] { background: var(--ps-blue); color: #fff; }
.manual-content { padding: clamp(28px, 5vw, 58px); }
.manual-kicker { color: var(--ps-red-dark); font-size: 10px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.manual-content h1 { max-width: 900px; margin: 10px 0 13px; font: 600 clamp(39px, 5vw, 61px)/.98 var(--ps-display); letter-spacing: -.025em; }
.manual-capability { max-width: 820px; color: var(--ps-muted); font-size: 13px; }
.manual-role { max-width: 920px; margin: 8px 0 0; padding: 10px 13px; border-left: 3px solid var(--ps-blue); background: var(--ps-paper-2); color: var(--ps-muted); font-size: 11px; line-height: 1.55; }
.manual-role strong { color: var(--ps-blue-dark); }
.manual-activity { max-width: 920px; margin: 8px 0 0; color: var(--ps-blue-deep); font-size: 12px; line-height: 1.5; }
.manual-safety, .practice-safety { max-width: 920px; margin: 17px 0; padding: 16px 17px; border: 1px solid #aac0d4; border-radius: 12px; background: var(--ps-blue-soft); color: var(--ps-muted); font-size: 11px; line-height: 1.55; }
.manual-safety > strong, .practice-safety > strong { color: var(--ps-blue-dark); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }
.manual-safety p, .practice-safety p { margin: 7px 0 0; }
.manual-safety--help, .practice-safety--help { border-color: #e5a9a5; background: var(--ps-red-soft); }
.manual-safety--help > strong, .practice-safety--help > strong { color: var(--ps-red-dark); }
.manual-safety--clinical-lens, .practice-safety--clinical-lens { border-color: #d6bd9b; background: var(--ps-warning-soft); }
.manual-safety--clinical-lens > strong, .practice-safety--clinical-lens > strong { color: var(--ps-warning); }
.manual-safety .manual-actions, .practice-safety .manual-actions { margin-top: 12px; }
.micro-reading { max-width: 920px; padding: 25px 28px; border-left: 4px solid var(--ps-red); background: var(--ps-red-soft); font: 500 clamp(19px, 2vw, 24px)/1.42 var(--ps-serif); }
.scene-card { max-width: 920px; padding: 27px; border-radius: 15px; background: var(--ps-navy); color: #fff; }
.scene-card span { color: #bcd2e6; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.scene-card p { margin: 14px 0 0; font: 500 22px/1.35 var(--ps-serif); }
.manual-observation { max-width: 920px; margin-top: 12px; padding: 14px 16px; border-left: 3px solid var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-muted); font-size: 11px; line-height: 1.55; }
.concept-lab { max-width: 920px; margin-top: 15px; padding: clamp(18px, 3vw, 26px); border: 1px solid var(--ps-line); border-radius: 16px; background: linear-gradient(135deg, #fff 0 63%, var(--ps-blue-soft) 63% 100%); box-shadow: 0 18px 45px rgba(20, 34, 56, .08); }
.concept-lab__head { display: flex; justify-content: space-between; gap: 14px; align-items: baseline; }
.concept-lab__head strong { color: var(--ps-ink); font: 600 clamp(22px, 3vw, 31px)/1.05 var(--ps-display); }
.concept-lab__head span { color: var(--ps-red-dark); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.concept-lab__track { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 21px; }
.concept-lab__track::before { content: ''; position: absolute; top: 22px; right: 9%; left: 9%; height: 2px; background: linear-gradient(90deg, var(--ps-blue), var(--ps-red)); opacity: .45; pointer-events: none; }
.concept-lab__point { position: relative; z-index: 1; min-height: 72px; padding: 34px 10px 10px; border: 1px solid #9bb5cb; border-radius: 11px; background: #fff; color: var(--ps-blue-dark); cursor: pointer; font: 800 11px/1.2 var(--ps-sans); text-align: left; transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.concept-lab__point::before { content: attr(data-point-number); position: absolute; top: 9px; left: 10px; display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--ps-blue); color: #fff; font-size: 10px; }
.concept-lab__point:hover, .concept-lab__point:focus-visible { border-color: var(--ps-blue-deep); box-shadow: 0 8px 20px rgba(33, 78, 120, .16); transform: translateY(-2px); outline: none; }
.concept-lab__point[aria-pressed="true"] { border-color: var(--ps-red); box-shadow: 0 10px 24px rgba(192, 74, 80, .18); color: var(--ps-red-dark); }
.concept-lab__point[aria-pressed="true"]::before { background: var(--ps-red); }
.concept-lab__detail { margin-top: 13px; padding: 14px 16px; border-left: 3px solid var(--ps-red); border-radius: 0 10px 10px 0; background: #fff; color: var(--ps-muted); font-size: 12px; line-height: 1.55; }
.concept-lab__detail strong { color: var(--ps-ink); }
.concept-lab__detail p { margin: 5px 0 0; }
.manual-options { max-width: 920px; display: grid; gap: 8px; margin-top: 18px; }
.manual-content fieldset { max-width: 920px; margin: 18px 0 0; padding: 0; border: 0; }
.manual-content legend { max-width: 900px; font-weight: 800; }
.manual-options label { display: flex; gap: 11px; align-items: flex-start; padding: 14px; border: 1px solid var(--ps-line); border-radius: 10px; cursor: pointer; }
.manual-options label:has(input:checked) { border-color: var(--ps-blue); background: var(--ps-blue-soft); }
.manual-feedback { max-width: 920px; margin-top: 13px; padding: 16px; border-radius: 10px; background: var(--ps-paper-2); color: var(--ps-muted); font-size: 12px; }
.manual-feedback.ok { background: var(--ps-ok-soft); color: var(--ps-ok); }
.manual-feedback.bad { background: var(--ps-red-soft); color: var(--ps-red-dark); }
.activity-workbench { max-width: 920px; margin-top: 18px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--ps-line); border-radius: 16px; background: linear-gradient(135deg, var(--ps-blue-soft), #fff 70%); }
.activity-workbench header > span { color: var(--ps-red-dark); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.activity-workbench h2 { margin: 11px 0 8px; font: 600 clamp(29px, 4vw, 42px)/1.04 var(--ps-display); color: var(--ps-ink); }
.activity-workbench header > p { max-width: 760px; margin: 0; color: var(--ps-muted); font-size: 12px; line-height: 1.55; }
.activity-workbench form { margin-top: 20px; }
.activity-workbench__rows { display: grid; gap: 9px; }
.activity-workbench__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(185px, 32%); gap: 14px; align-items: center; padding: 14px; border: 1px solid var(--ps-line); border-radius: 11px; background: #fff; }
.activity-workbench__row > span { font-size: 12px; line-height: 1.45; }
.activity-workbench__row select { width: 100%; min-height: 42px; padding: 8px; border: 1px solid #a9bfd2; border-radius: 8px; background: #fff; color: var(--ps-ink); font: inherit; }
.activity-workbench__matrix { display: grid; gap: 10px; }
.activity-workbench__matrix-row { margin: 0; padding: 14px; border: 1px solid var(--ps-line); border-radius: 11px; background: #fff; }
.activity-workbench__matrix-row legend { padding: 0 4px; font-size: 12px; line-height: 1.45; }
.activity-workbench__choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(128px, 1fr)); gap: 7px; margin-top: 10px; }
.activity-workbench__choices label { display: flex; gap: 7px; align-items: flex-start; min-height: 46px; padding: 10px; border: 1px solid var(--ps-line); border-radius: 8px; color: var(--ps-muted); cursor: pointer; font-size: 10px; line-height: 1.35; }
.activity-workbench__choices label:has(input:checked) { border-color: var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-blue-dark); }
.activity-workbench__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 15px; }
.activity-workbench__actions button { min-height: 42px; padding: 10px 14px; border: 1px solid var(--ps-line); border-radius: 9px; background: #fff; color: var(--ps-ink); cursor: pointer; font-size: 10px; font-weight: 850; }
.activity-workbench__actions .primary { border-color: var(--ps-blue); background: var(--ps-blue); color: #fff; }
.activity-workbench__hint-text { margin: 10px 0 0; padding: 12px; border-left: 3px solid var(--ps-red); background: var(--ps-red-soft); color: var(--ps-red-dark); font-size: 11px; line-height: 1.45; }
.activity-workbench .manual-feedback ul { margin: 9px 0 0; padding-left: 18px; }
.activity-workbench .manual-feedback li + li { margin-top: 6px; }
.manual-hint { max-width: 920px; margin-top: 10px; padding: 14px; border: 1px dashed #9db3c7; border-radius: 10px; color: var(--ps-muted); font-size: 11px; }
.transfer-check { max-width: 920px; margin-top: 18px; padding: 18px; border: 1px solid var(--ps-line); border-radius: 14px; background: var(--ps-blue-soft); }
.transfer-check > strong { display: block; margin-bottom: 6px; color: var(--ps-blue-deep); }
.transfer-check form { margin-top: 14px; }
.transfer-actions[hidden] { display: none; }
.manual-sources { max-width: 920px; margin-top: 10px; padding: 13px 14px; border-left: 3px solid var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-muted); font-size: 10px; line-height: 1.55; }
.manual-sources a { color: var(--ps-blue-dark); font-weight: 750; }
.transfer-box { max-width: 920px; padding: 22px; border: 1px solid var(--ps-line); border-radius: 13px; background: var(--ps-blue-soft); }
.transfer-box label { display: block; margin-top: 15px; font-size: 10px; font-weight: 850; }
.transfer-box textarea { width: 100%; min-height: 130px; margin-top: 12px; padding: 13px; border: 1px solid #a9bfd2; border-radius: 9px; background: #fff; resize: vertical; }
.transfer-box small { display: block; margin-top: 7px; color: var(--ps-muted); }
.manual-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 23px; }
.manual-actions button, .manual-actions a { min-height: 42px; padding: 10px 14px; border: 1px solid var(--ps-line); border-radius: 9px; background: var(--ps-paper); color: var(--ps-ink); text-decoration: none; cursor: pointer; font-size: 10px; font-weight: 850; }
.manual-actions .primary { border-color: var(--ps-blue); background: var(--ps-blue); color: #fff; }
.lesson-complete { max-width: 760px; padding: 30px; border: 1px solid #a9d0bd; border-radius: 15px; background: var(--ps-ok-soft); }
.lesson-complete h2 { margin: 0 0 9px; font: 600 38px var(--ps-display); }
.manual-review { max-width: 760px; margin-top: 12px; padding: 22px 25px; border: 1px solid var(--ps-line); border-radius: 14px; background: var(--ps-paper); }
.manual-review > strong { display: block; color: var(--ps-blue-dark); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.manual-review p { margin: 7px 0 0; color: var(--ps-muted); font-size: 11px; }
.manual-review ul { margin: 14px 0 0; padding-left: 19px; }
.manual-review li + li { margin-top: 7px; }

/* Práctica */
.practice-layout { width: min(1404px, calc(100% - 56px)); margin: auto; padding: 30px 0 100px; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 14px; align-items: start; }
.practice-panel { position: sticky; top: calc(var(--global-products-height, 44px) + 86px); padding: 20px; border: 1px solid var(--ps-line); border-radius: 16px; background: #fff; }
.practice-panel h2 { margin: 10px 0 15px; font: 600 29px var(--ps-display); }
.practice-panel label { display: grid; gap: 5px; margin-top: 11px; color: var(--ps-muted); font-size: 9px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.practice-panel select { width: 100%; min-height: 42px; padding: 9px; border: 1px solid var(--ps-line); border-radius: 8px; background: #fff; }
.practice-panel button { width: 100%; min-height: 43px; margin-top: 15px; border: 1px solid var(--ps-blue); border-radius: 9px; background: var(--ps-blue); color: #fff; cursor: pointer; font-size: 10px; font-weight: 850; }
.practice-local { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--ps-line); color: var(--ps-muted); font-size: 10px; }
.practice-stage { min-height: 690px; border: 1px solid var(--ps-line); border-radius: 19px; overflow: hidden; background: #fff; box-shadow: var(--ps-shadow); }
.practice-head { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 17px 24px; background: var(--ps-navy); color: #fff; }
.practice-head span { color: #bcd2e6; font-size: 10px; }
.practice-track { height: 5px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.2); }
.practice-track i { display: block; height: 100%; background: #fff; }
.practice-activity { padding: clamp(27px, 5vw, 55px); }
.practice-activity > h2 { max-width: 900px; margin: 17px 0 14px; font: 600 clamp(38px, 5vw, 59px)/1 var(--ps-display); }
.practice-prompt { max-width: 930px; margin: 23px 0 4px; font-weight: 800; }
.practice-welcome { max-width: 760px; padding: 28px; border: 1px solid var(--ps-line); border-radius: 14px; background: var(--ps-blue-soft); }
.practice-welcome p { color: var(--ps-muted); }
.practice-scene { max-width: 930px; padding: 22px; border-left: 4px solid var(--ps-red); background: var(--ps-red-soft); font: 500 21px/1.4 var(--ps-serif); }
.practice-options { max-width: 930px; display: grid; gap: 8px; margin-top: 20px; }
.practice-options button { padding: 15px; border: 1px solid var(--ps-line); border-radius: 10px; background: #fff; color: var(--ps-ink); text-align: left; cursor: pointer; }
.practice-options button:hover, .practice-options button.is-selected { border-color: var(--ps-blue); background: var(--ps-blue-soft); }
.practice-feedback { max-width: 930px; min-height: 78px; margin-top: 13px; padding: 15px; border-radius: 10px; background: var(--ps-paper-2); color: var(--ps-muted); font-size: 12px; }
.practice-feedback.ok { background: var(--ps-ok-soft); color: var(--ps-ok); }
.practice-feedback.bad { background: var(--ps-red-soft); color: var(--ps-red-dark); }
.lens-classifier { max-width: 930px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; margin-top: 18px; }
.lens-classifier button { min-height: 72px; padding: 10px; border: 1px solid var(--ps-line); border-radius: 10px; background: #fff; cursor: pointer; font-size: 10px; font-weight: 800; }
.lens-classifier button[aria-pressed='true'] { border-color: var(--ps-blue); background: var(--ps-blue-soft); color: var(--ps-blue-dark); }

/* Sustento */
.framework-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.framework-card { min-height: 330px; padding: 27px; border: 1px solid var(--ps-line); border-radius: 18px; background: #fff; }
.framework-card span { color: var(--ps-red-dark); font-size: 10px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.framework-card h2, .framework-card h3 { margin: 52px 0 12px; font: 600 34px/1 var(--ps-display); }
.framework-card p { color: var(--ps-muted); font-size: 12px; }
.genealogy { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--ps-line); border-radius: 18px; overflow: hidden; background: #fff; }
.genealogy article { min-height: 280px; padding: 24px; border-left: 1px solid var(--ps-line); }
.genealogy article:first-child { border-left: 0; }
.genealogy h3 { margin: 50px 0 10px; font: 600 28px/1 var(--ps-display); }
.genealogy p { color: var(--ps-muted); font-size: 11px; }
.evidence-scale { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.evidence-level { min-height: 225px; padding: 21px; border: 1px solid var(--ps-line); border-radius: 14px; background: #fff; }
.evidence-level b { display: block; color: var(--ps-blue-dark); font-size: 10px; letter-spacing: .1em; }
.evidence-level h3 { margin: 42px 0 9px; font: 600 27px/1 var(--ps-display); }
.evidence-level p { color: var(--ps-muted); font-size: 10px; }
.source-list { display: grid; gap: 8px; }
.source-item { display: grid; grid-template-columns: 175px 1fr auto; gap: 18px; align-items: start; padding: 19px; border: 1px solid var(--ps-line); border-radius: 12px; background: #fff; }
.source-item strong { color: var(--ps-blue-dark); font-size: 11px; }
.source-item p { margin: 0; color: var(--ps-muted); font-size: 11px; }
.source-item a { color: var(--ps-red-dark); font-size: 10px; font-weight: 850; white-space: nowrap; }
.source-item > span { color: var(--ps-red-dark); font-size: 10px; font-weight: 700; }
.limit-box { padding: 25px; border: 1px solid #e4a9a6; border-radius: 15px; background: var(--ps-red-soft); color: #6f282e; }
.limit-box h3 { margin: 0 0 8px; font: 600 30px var(--ps-display); }
.limit-box p { margin: 0; font-size: 12px; }

.psy-footer { border-top: 1px solid rgba(255,255,255,.13); background: var(--ps-navy); color: #bdcfdf; }
.psy-footer__inner { width: min(1404px, calc(100% - 56px)); margin: auto; padding: 45px 0; display: grid; grid-template-columns: 1fr auto; gap: 35px; }
.psy-footer strong { color: #fff; font: 600 28px var(--ps-display); }
.psy-footer p { max-width: 680px; font-size: 11px; }
.psy-footer nav { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 14px; }
.psy-footer a { color: #d8e5f1; font-size: 10px; font-weight: 750; text-decoration: none; }
.psy-footer small { grid-column: 1/-1; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); color: #8fa8bd; font-size: 9px; }

@media (max-width: 1100px) {
  .psy-nav { justify-content: flex-start; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
  .psy-nav::-webkit-scrollbar { display: none; }
  .psy-hero__inner { grid-template-columns: 1fr; gap: 30px; }
  .system-portrait { max-width: 650px; width: 100%; margin: auto; }
  .entry-grid, .why-grid, .prevention-grid { grid-template-columns: 1fr 1fr; }
  .why-card:nth-child(3) { border-left: 0; border-top: 1px solid var(--ps-line); }
  .why-card:nth-child(4) { border-top: 1px solid var(--ps-line); }
  .life-road { grid-template-columns: repeat(4, 1fr); }
  .life-step:nth-child(5) { border-left: 0; border-top: 1px solid var(--ps-line); }
  .life-step:nth-child(n+6) { border-top: 1px solid var(--ps-line); }
  .life-step:nth-child(4)::after { display: none; }
  .unit-grid { grid-template-columns: 1fr 1fr; }
  .filter-row { grid-template-columns: 1fr 1fr; }
  .framework-grid { grid-template-columns: 1fr 1fr; }
  .genealogy, .evidence-scale { grid-template-columns: 1fr 1fr; }
  .terrain-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .terrain-card:nth-child(3) { border-left: 0; }
  .terrain-card:nth-child(n+3) { border-top: 1px solid var(--ps-line); }
  .genealogy article:nth-child(3) { border-left: 0; border-top: 1px solid var(--ps-line); }
  .genealogy article:nth-child(4) { border-top: 1px solid var(--ps-line); }
  .fourth-year-plan__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 1180px) {
  .psy-topbar__inner { grid-template-columns: minmax(0, 1fr) auto; }
  .psy-nav { grid-column: 1/-1; width: auto; margin-left: -28px; margin-right: -28px; padding: 6px 24px; border-top: 1px solid var(--ps-line); order: 3; justify-content: flex-start; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
  .psy-nav::-webkit-scrollbar { display: none; }
  .psy-nav a { min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
}

@media (max-width: 820px) {
  .psy-topbar__inner { max-width: 100%; min-height: 61px; grid-template-columns: minmax(0, 1fr) auto; padding: 0 16px; }
  .psy-brand { min-width: 0; }
  .psy-nav { grid-column: 1/-1; width: auto; margin-left: -16px; margin-right: -16px; padding: 6px 12px; border-top: 1px solid var(--ps-line); order: 3; background: linear-gradient(90deg,transparent calc(100% - 24px),rgba(245,246,248,.96)); }
  .psy-nav a { min-height: 44px; display: inline-flex; align-items: center; white-space: nowrap; }
  .section, .psy-hero__inner, .campus-hero__inner, .program-tools, .fourth-year-plan, .unit-grid, .practice-layout { width: calc(100% - 36px); }
  .section-head, .campus-hero__inner { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .campus-hero__inner > *, .campus-note { min-width: 0; }
  .campus-hero h1, .campus-hero .eyebrow, .campus-note strong, .campus-note span { max-width: 100%; overflow-wrap: anywhere; }
  .section-head > *, .section-head h2, .framework-card, .framework-card > *, .genealogy article, .genealogy article > * { min-width: 0; }
  .section-head h2, .framework-card h3, .genealogy h3 { max-width: 100%; overflow-wrap: anywhere; hyphens: auto; }
  .proof-strip__inner, .summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .proof-strip span:nth-child(3), .proof-strip span:nth-child(4) { border-top: 1px solid rgba(255,255,255,.12); }
  .proof-strip span:last-child { grid-column: 1/-1; border-top: 1px solid rgba(255,255,255,.12); text-align: center; }
  .summary-strip span:nth-child(n+3) { border-top: 1px solid var(--ps-line); }
  .route-grid, .case-lab { grid-template-columns: 1fr; }
  .source-ribbon { grid-template-columns: 1fr 1fr; }
  .source-ribbon > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--ps-line); }
  .source-ribbon > div:nth-child(4) { border-top: 1px solid var(--ps-line); }
  .manual-layout, .practice-layout { width: 100%; grid-template-columns: 1fr; padding-inline: 18px; }
  .manual-nav, .practice-panel { position: static; max-height: none; }
  .manual-unit-list, .manual-lesson-list { display: flex; gap: 7px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -ms-overflow-style: none; }
  .manual-unit-list::-webkit-scrollbar, .manual-lesson-list::-webkit-scrollbar { display: none; }
  .manual-unit-list button { flex: 0 0 min(72vw, 250px); scroll-snap-align: start; }
  .manual-lesson-list button { flex: 0 0 min(64vw, 220px); scroll-snap-align: start; }
  .source-item { grid-template-columns: 1fr; }
  .source-item a { white-space: normal; }
  .terrain-feature__footer { grid-template-columns: 1fr; gap: 20px; }
  .psy-footer__inner { grid-template-columns: 1fr; }
  .psy-footer nav { justify-content: flex-start; }
  .fourth-year-plan__head { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 580px) {
  .psy-home { display: none; }
  .psy-brand span { display: none; }
  .psy-hero__inner { width: calc(100% - 28px); min-height: 0; padding-top: 50px; }
  .psy-hero h1 { font-size: clamp(25px, 8vw, 52px); white-space: normal; }
  .psy-hero h1 span { white-space: normal; }
  .system-portrait { min-height: 420px; transform: none; margin-block: -18px; }
  .system-portrait__core { width: 124px; height: 124px; padding: 16px; }
  .system-portrait__core strong { font-size: 24px; }
  .system-node { width: 106px; min-height: 62px; padding: 9px 7px; font-size: 10px; }
  .system-node small { font-size: 8px; }
  .system-portrait__orbit { inset: 55px 34px; }
  .system-portrait__orbit::after { inset: 50px; }
  .system-node:nth-of-type(3) { top: 8px; left: calc(50% - 53px); }
  .system-node:nth-of-type(4) { top: 83px; right: 0; }
  .system-node:nth-of-type(5) { bottom: 70px; right: 0; }
  .system-node:nth-of-type(6) { bottom: 5px; left: calc(50% - 53px); }
  .system-node:nth-of-type(7) { bottom: 70px; left: 0; }
  .system-node:nth-of-type(8) { top: 83px; left: 0; }
  .proof-strip__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .summary-strip span { min-width: 0; padding: 16px 13px; overflow-wrap: anywhere; }
  .proof-strip span:nth-child(n) { border-top: 1px solid rgba(255,255,255,.12); }
  .proof-strip span:nth-child(-n+2) { border-top: 0; }
  .proof-strip span:last-child { grid-column: 1/-1; text-align: center; }
  .section-head h2 { font-size: 43px; }
  .route-card h3 { font-size: clamp(31px, 10vw, 43px); overflow-wrap: anywhere; }
  .entry-grid, .why-grid, .prevention-grid, .unit-grid, .framework-grid, .genealogy, .evidence-scale, .route-grid { grid-template-columns: minmax(0, 1fr); }
  .terrain-grid { grid-template-columns: minmax(0, 1fr); }
  .terrain-card { min-height: 0; border-left: 0; }
  .terrain-card:nth-child(n+2) { border-top: 1px solid var(--ps-line); }
  .terrain-card h3 { margin-top: 30px; }
  .terrain-feature__footer .button-row { display: grid; }
  .route-card { min-width: 0; padding-inline: 22px; }
  .route-card .button { width: 100%; max-width: 100%; }
  .why-card { border-left: 0; border-top: 1px solid var(--ps-line); }
  .why-card:first-child { border-top: 0; }
  .life-road { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .life-step { min-width: 0; padding-inline: 13px; }
  .life-step h3 { font-size: clamp(18px, 5.8vw, 22px); overflow-wrap: anywhere; }
  .life-step:nth-child(odd) { border-left: 0; }
  .life-step:nth-child(n+3) { border-top: 1px solid var(--ps-line); }
  .life-step:nth-child(2n)::after { display: none; }
  .lens-buttons, .lens-classifier { grid-template-columns: 1fr 1fr; }
  .concept-lab__track { grid-template-columns: 1fr; gap: 8px; }
  .concept-lab__track::before { top: 9%; bottom: 9%; left: 21px; width: 2px; height: auto; background: linear-gradient(180deg, var(--ps-blue), var(--ps-red)); }
  .concept-lab__point { min-height: 58px; padding: 20px 12px 12px 50px; }
  .concept-lab__point::before { top: 50%; left: 12px; transform: translateY(-50%); }
  .source-ribbon { grid-template-columns: 1fr; }
  .source-ribbon > div { border-left: 0; border-top: 1px solid var(--ps-line); }
  .source-ribbon > div:first-child { border-top: 0; }
  .route-switch, .filter-row { grid-template-columns: 1fr; }
  .fourth-year-plan { padding: 22px 16px; }
  .fourth-year-plan__grid { grid-template-columns: 1fr; }
  .fourth-plan-card > p { min-height: 0; }
  .unit-card { min-height: 0; }
  .manual-unit-list { grid-template-columns: 1fr; }
  .manual-stage__head { grid-template-columns: 1fr; }
  .manual-progress { min-width: 0; }
  .manual-progress span { text-align: left; }
  .moment-track { grid-template-columns: repeat(3, 1fr); }
  .moment-track button:nth-child(n+4) { border-top: 1px solid var(--ps-line); }
  .activity-workbench { padding: 17px 14px; }
  .activity-workbench__row { grid-template-columns: 1fr; gap: 9px; }
  .activity-workbench__choices { grid-template-columns: 1fr 1fr; }
  .practice-head { grid-template-columns: 1fr; }
  .manual-layout, .practice-layout { padding-inline: 12px; }
  .genealogy article { border-left: 0; border-top: 1px solid var(--ps-line); }
  .genealogy article:first-child { border-top: 0; }
  .psy-footer__inner > * { min-width: 0; }
  .psy-footer strong { font-size: 23px; }
}

/* Tamaños de lectura: la profundidad no necesita letra diminuta. */
.psy-brand span, .psy-home, .eyebrow { font-size: 12px; }
.psy-nav a, .button, button.button, .text-link { font-size: 13px; }
.proof-strip span, .summary-strip span { font-size: 12px; }
.campus-note span { font-size: 15px; line-height: 1.55; }
.filter-row label, .filter-row button, .program-status { font-size: 13px; }
.unit-card__top, .unit-card__subtitle, .unit-card__meta span, .unit-card__evidence,
.unit-card__sources, .unit-card__sources a, .unit-card__progress small { font-size: 12px; }
.unit-card > p, .unit-card a { font-size: 15px; line-height: 1.55; }
.manual-route-toggle button, .manual-section-label, .manual-unit-list button,
.manual-lesson-list button, .manual-unit-list button small, .moment-track button { font-size: 13px; }
.manual-observation, .manual-hint, .manual-sources, .manual-actions button,
.manual-actions a, .manual-review > strong, .manual-review p { font-size: 14px; }
.transfer-box label, .practice-panel label, .practice-panel button, .practice-local,
.practice-head span, .lens-classifier button { font-size: 13px; }
.practice-feedback { font-size: 15px; line-height: 1.55; }
.framework-card span, .evidence-level b, .terrain-card b { font-size: 12px; }
.framework-card p, .genealogy p, .evidence-level p, .terrain-card p, .source-item strong,
.source-item p, .source-item a, .source-item > span, .limit-box p { font-size: 15px; line-height: 1.55; }
.psy-footer p, .psy-footer a, .psy-footer small { font-size: 12px; }

.journey-guide {
  width: min(1180px, calc(100% - 40px));
  margin: 26px auto;
  padding: 22px 24px;
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) auto auto;
  gap: 24px;
  align-items: center;
  background: var(--ps-surface, #fff);
  border: 1px solid var(--ps-line);
  border-left: 4px solid var(--ps-blue);
  border-radius: 14px;
  box-shadow: 0 12px 34px rgba(20, 34, 56, .08);
}
.journey-guide h2 { margin: 3px 0 5px; font-family: var(--ps-serif); font-size: clamp(26px, 3vw, 38px); line-height: 1.05; }
.journey-guide p { margin: 0; color: var(--ps-muted); font-size: 14px; line-height: 1.5; }
.journey-guide dl { display: flex; margin: 0; border: 1px solid var(--ps-line); border-radius: 10px; overflow: hidden; }
.journey-guide dl div { min-width: 92px; padding: 10px 12px; text-align: center; }
.journey-guide dl div + div { border-left: 1px solid var(--ps-line); }
.journey-guide dt { color: var(--ps-muted); font-size: 10px; line-height: 1.2; text-transform: uppercase; letter-spacing: .06em; }
.journey-guide dd { margin: 4px 0 0; color: var(--ps-ink); font-family: var(--ps-serif); font-size: 24px; font-weight: 700; }
.journey-guide > .button { white-space: nowrap; }
.manual-lesson-evidence { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 18px; }
.manual-lesson-evidence span { padding: 7px 10px; color: var(--ps-muted); background: var(--ps-paper-2); border: 1px solid var(--ps-line); border-radius: 999px; font-size: 11px; }
.manual-lesson-evidence b { color: var(--ps-ink); }
.manual-lesson-evidence .is-due { color: var(--ps-red-dark); background: var(--ps-red-soft); border-color: rgba(192, 74, 80, .3); }
.manual-lesson-evidence .is-due b { color: var(--ps-red-dark); }

@media (max-width: 860px) {
  .journey-guide { grid-template-columns: 1fr; gap: 16px; }
  .journey-guide dl { width: 100%; }
  .journey-guide dl div { flex: 1 1 0; min-width: 0; }
  .journey-guide > .button { width: 100%; text-align: center; }
}

@media (max-width: 580px) {
  .journey-guide { width: calc(100% - 24px); margin-block: 16px; padding: 18px 16px; }
  .journey-guide dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .journey-guide dl div { padding-inline: 6px; }
  .journey-guide dl div + div { border-left: 1px solid var(--ps-line); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .system-portrait__orbit { animation: none; }
  .button, .entry-card { transition: none; }
}

@media print {
  .global-products, .psy-topbar, .button-row, .manual-nav, .practice-panel, .journey-guide, .psy-footer { display: none !important; }
  body { background: #fff; color: #111; }
  .terrain-feature { background: #fff; color: #111; }
  .terrain-feature .section-head h2, .terrain-feature .section-head p, .terrain-feature__footer p, .terrain-feature__footer p strong { color: #111; }
  .section, .psy-hero__inner, .campus-hero__inner, .unit-grid { width: 100%; }
  .psy-hero, .campus-hero { min-height: 0; background: #fff; }
  .unit-grid { grid-template-columns: 1fr 1fr; }
}

/* Portada compacta: escala primero y las cuatro puertas conceptuales enseguida. */
.psychology-landing .psy-hero{min-height:0;background:#fff}
.psychology-landing .psy-hero__inner{min-height:0;padding:42px 0 38px;gap:44px}
.psychology-landing .psy-hero h1{font-size:clamp(50px,4.8vw,72px)}
.psychology-landing .psy-hero__lead{font-size:clamp(23px,2.3vw,32px)}
.psychology-landing .system-portrait{min-height:350px;transform:scale(.78)}
.psychology-landing .portal-overview{margin-top:18px}
.psychology-landing .entry-section{padding:22px 0 52px}
.psychology-landing .entry-section .section-head{margin-bottom:18px}
.psychology-landing .entry-grid{gap:9px}
.psychology-landing .entry-card{min-height:190px;padding:18px;border-radius:14px}
.psychology-landing .entry-card__motif{display:none}
.psychology-landing .entry-card h3{margin:20px 0 9px;font-size:clamp(23px,2vw,29px)}
.psychology-landing .entry-card p{margin-bottom:14px;font-size:12px}
.psychology-landing .entry-card strong{padding-top:10px;font-size:11px}
@media(max-width:760px){.psychology-landing .psy-hero__inner{padding:28px 0 24px}.psychology-landing .system-portrait{display:none}.psychology-landing .portal-overview{margin-top:12px}.psychology-landing .entry-section{padding-top:12px}.psychology-landing .entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px}.psychology-landing .entry-card{min-height:138px;padding:12px}.psychology-landing .entry-card__number{font-size:8px}.psychology-landing .entry-card h3{margin:13px 0 7px;font-size:20px}.psychology-landing .entry-card p{display:none}.psychology-landing .entry-card strong{font-size:9px}}
