/* Fichas de Derecho: misma composición, tipografía y paleta que Bachillerato. */
.academic-page .br-hero { padding-block: clamp(32px, 4vw, 56px); }
.academic-page .br-hero-grid { grid-template-columns: minmax(0, 1.35fr) minmax(0, .85fr); }
.academic-page .br-hero h1 { font-size: clamp(48px, 5.3vw, 78px); line-height: 1.04; text-wrap: balance; }
.academic-page .br-hero .br-intro { font-size: clamp(19px, 1.65vw, 23px); line-height: 1.6; max-width: 54ch; }
.academic-page .br-hero-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 26px; }
.academic-hero-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #eadbf2; font-size: 14px; font-weight: 600; text-decoration: underline; text-underline-offset: 5px; }
.academic-page .br-hero-card { border-radius: 12px; overflow: hidden; }
.academic-page .br-hero-card .br-image-frame { border-radius: 0; }
.academic-page .br-hero-card img { display: block; aspect-ratio: auto; height: auto; width: 100%; }
.academic-page .br-button { border-radius: 6px; }
.academic-page .br-hero-facts { max-width: none; }
.academic-page .br-hero-facts dt { font-size: 13px; }
.academic-page .br-hero-facts dd { font-size: 15px; }
.academic-page :is(.br-hero, .academic-related, .academic-masters-hero, .academic-masters-guidance) :focus-visible { outline: 3px solid var(--accent-light); outline-offset: 4px; }
.academic-page .br-badges span { border-radius: 4px; font-size: 12px; }
.academic-page .br-navigation { border-radius: 8px; }
.academic-page .br-navigation a { min-height: 60px; }
.academic-page .br-section-head .sec-title { font-size: clamp(32px, 3.5vw, 46px); }
.academic-page .br-panel > div { min-width: 0; }
.academic-page :is(.academic-audience, .academic-outcomes, .academic-validity) { margin-top: 32px; padding: 28px; background: var(--cream); border: 1px solid var(--line); border-radius: 8px; }
.academic-page :is(.academic-audience, .academic-outcomes, .academic-validity, .academic-areas) h3 { margin-bottom: 14px; font: 500 27px/1.25 'Playfair Display', Georgia, serif; color: var(--navy); }
.academic-page :is(.academic-audience, .academic-outcomes, .academic-validity, .academic-areas) p { color: var(--muted); font-size: 16px; }
.academic-page .academic-audience .editorial-link { margin-top: 16px; }
.academic-areas { margin-top: 38px; }
.academic-area-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; margin-top: 24px; }
.academic-area-grid article { padding: 24px 0; border-top: 1px solid var(--line); }
.academic-area-grid article > span { display: block; color: var(--accent); font-size: 12px; margin-bottom: 10px; }
.academic-area-grid h4 { font: 600 18px/1.3 'Source Sans 3', sans-serif; color: var(--navy); margin-bottom: 10px; }
.academic-page .academic-plan-note { font-size: 14px; margin-block: 8px 12px; }
.academic-validity .editorial-link { margin-top: 16px; }
.academic-model-image { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; background: var(--cream); }
.academic-model-image img { display: block; width: 100%; height: auto; }
.academic-model-image figcaption { font-size: 14px; color: var(--muted); padding: 14px 20px; }
.academic-page .br-benefits > div { border-radius: 8px; }
.academic-admission-steps { list-style: none; padding: 0; margin: 0; }
.academic-admission-steps li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 24px; border-top: 1px solid var(--line); padding: 26px 0; }
.academic-admission-steps li > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 6px; background: #eee4f4; color: var(--accent-hover); font-size: 14px; }
.academic-admission-steps h3 { font: 500 25px/1.3 'Playfair Display', Georgia, serif; color: var(--navy); margin-bottom: 8px; }
.academic-admission-steps p { font-size: 16px; color: var(--muted); }
.academic-related { background: var(--navy); color: white; }
.academic-related-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; margin-bottom: 32px; }
.academic-related-heading .sec-title { margin-bottom: 0; }
.academic-related :is(.sec-title, h3) { color: white; }
.academic-related .bv-eyebrow { color: var(--accent-light); }
.academic-related-heading > p { color: #ddd1e5; }
.academic-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.academic-related-card { display: grid; grid-template-columns: 34% minmax(0, 1fr); border: 1px solid #ffffff38; border-radius: 8px; overflow: hidden; background: #ffffff06; transition: background .2s; }
.academic-related-card:hover { background: #ffffff10; }
.academic-related-card > img { width: 100%; height: 100%; object-fit: cover; }
.academic-related-card > div { padding: 24px; min-width: 0; }
.academic-related-card h3 { font: 500 clamp(22px, 2vw, 29px)/1.2 'Playfair Display', Georgia, serif; margin: 12px 0; }
.academic-related-card p { color: #ddd1e5; font-size: 13px; }
.academic-related-card > div > span { display: flex; justify-content: space-between; gap: 10px; margin-top: 22px; color: var(--accent-light); font-size: 14px; font-weight: 600; }
.academic-page .br-contact .form { border-radius: 12px; box-shadow: none; }
.academic-page .br-contact .form .btn { border-radius: 4px; }
.academic-page .br-contact .sec-title { font-size: clamp(32px, 3.4vw, 46px); }
.academic-page .academic-form-program { font-size: 14px; color: var(--muted); margin: -8px 0 2px; }
.academic-page .academic-contact-phone { margin-top: 12px; font-size: 15px; }
.academic-contact-phone a { color: var(--accent-hover); text-decoration: underline; text-underline-offset: 3px; }
.academic-masters-hero { background: radial-gradient(ellipse at 80% 20%, #513561, transparent 65%), var(--navy); color: white; }
.academic-masters-hero .bv-eyebrow { color: var(--accent-light); }
.academic-masters-hero h1 { max-width: 20ch; font: 700 clamp(46px, 5.6vw, 82px)/1.08 'Source Sans 3', sans-serif; letter-spacing: -.04em; margin: 24px 0; text-wrap: balance; }
.academic-masters-hero h1 em { color: var(--accent-light); font: italic 500 .94em/1.12 'Playfair Display', Georgia, serif; }
.academic-masters-hero .container > p:not(.bv-eyebrow) { max-width: 62ch; color: #ddd1e5; font-size: 21px; }
.academic-masters-actions { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin: 28px 0 36px; }
.academic-masters-actions .br-button { background: var(--accent-light); border-color: var(--accent-light); color: var(--navy); }
.academic-masters-hero dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; max-width: 900px; }
.academic-masters-hero dl > div { padding-top: 14px; border-top: 1px solid #ffffff40; }
.academic-masters-hero dt { font-size: 13px; color: #ddd1e5; }
.academic-masters-hero dd { font-size: 18px; margin-top: 6px; }
.academic-masters .academic-related-heading > p { color: var(--muted); }
.academic-masters-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.academic-master-card { border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.academic-master-card > img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; object-position: center top; }
.academic-master-card > div { padding: 28px; }
.academic-master-card h3 { font: 500 clamp(26px, 2.4vw, 34px)/1.2 'Playfair Display', Georgia, serif; color: var(--navy); margin: 16px 0; }
.academic-master-card > div > p:not(.bv-eyebrow) { color: var(--muted); }
.academic-master-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 24px 0; }
.academic-master-card dl > div { border-top: 1px solid var(--line); padding-top: 12px; }
.academic-master-card dt { color: var(--muted); font-size: 13px; }
.academic-master-card dd { color: var(--navy); font-size: 15px; }
.academic-master-card .editorial-link { margin: 14px 0 0 20px; min-height: 44px; }
.academic-masters-guidance { background: var(--navy); color: #ddd1e5; }
.academic-masters-guidance .container { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 60px; }
.academic-masters-guidance .bv-eyebrow { grid-column: 1 / -1; color: var(--accent-light); }
.academic-masters-guidance .sec-title { color: white; }
.academic-masters-guidance p + p { margin-top: 16px; }
.academic-masters-guidance .br-button { margin-top: 24px; background: var(--accent-light); border-color: var(--accent-light); color: var(--navy); }
@media (max-width: 1000px) {
  .academic-page .br-navigation { border-radius: 0; }
  .academic-related-card { grid-template-columns: 1fr; }
  .academic-related-card > img { aspect-ratio: 3 / 2; height: auto; max-height: 260px; object-position: center 25%; }
}
@media (max-width: 800px) {
  .academic-page .br-hero-grid { grid-template-columns: 1fr; }
  .academic-page .br-hero h1 { font-size: clamp(42px, 8vw, 66px); }
  .academic-page .br-hero-card { max-width: 420px; }
  .academic-page .br-hero .br-intro { font-size: 19px; }
  .academic-related-heading, .academic-masters-guidance .container { grid-template-columns: 1fr; gap: 22px; }
  .academic-master-card > div { padding: 22px; }
  .academic-masters-grid { gap: 18px; }
}
@media (max-width: 640px) {
  .academic-area-grid, .academic-related-grid, .academic-masters-grid { grid-template-columns: 1fr; }
  .academic-page .br-hero h1 { font-size: clamp(40px, 10vw, 58px); }
  .academic-page .br-badges { gap: 6px; }
  .academic-page .br-badges span { font-size: 11px; padding: 5px 8px; }
  .academic-page .br-navigation a { font-size: 12px; padding: 10px 4px; overflow-wrap: anywhere; }
  .academic-page :is(.academic-audience, .academic-outcomes, .academic-validity) { padding: 22px 20px; }
  .academic-admission-steps li { grid-template-columns: 38px minmax(0, 1fr); gap: 14px; }
  .academic-admission-steps li > span { width: 36px; height: 36px; }
  .academic-masters-hero h1 { font-size: clamp(40px, 10vw, 58px); }
  .academic-masters-hero .container > p:not(.bv-eyebrow) { font-size: 19px; }
  .academic-masters-hero dl { grid-template-columns: 1fr; gap: 18px; }
  .academic-master-card .editorial-link { margin-left: 0; display: flex; }
}
@media (prefers-reduced-motion: reduce) {
  .academic-page *, .academic-page *::before, .academic-page *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
