:root {
  --blue: #4574B8;
  --green: #9EC54E;
  --ink: #171717;
  --muted: #5b5b5b;
  --line: #e5e7ea;
  --soft: #f7f8f8;
  --white: #ffffff;
  --max: 1180px;
  --header-h: 90px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  font-family: Arial, Helvetica, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.wrap { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--blue) 72%, white);
  outline-offset: 4px;
  border-radius: 3px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255,255,255,.97);
  border-bottom: 1px solid var(--line);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.header-inner {
  min-height: var(--header-h);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  position: relative;
}
.brand { flex: 0 0 auto; }
.brand img { width: clamp(245px, 22vw, 285px); }
.main-nav { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; justify-content: flex-end; }
.main-nav a {
  text-decoration: none;
  font-size: 1rem;
  letter-spacing: .01em;
  color: #262626;
  padding: 8px 0;
}
.main-nav a:hover { color: var(--blue); }
.menu-toggle {
  display: none;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ink);
  width: 48px;
  height: 48px;
  padding: 10px;
  cursor: pointer;
  align-items: center;
  justify-content: center;
}
.menu-toggle svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 2.2; stroke-linecap: round; }
.menu-toggle .icon-close { display: none; }
.menu-toggle[aria-expanded="true"] .icon-menu { display: none; }
.menu-toggle[aria-expanded="true"] .icon-close { display: block; }

.hero { padding: clamp(64px, 7vw, 84px) 0 clamp(64px, 6.5vw, 78px); }
.hero-inner { max-width: 1100px; }
.eyebrow {
  margin: 0 0 14px;
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .16em;
  color: var(--blue);
}
.eyebrow.green { color: #729a24; }
h1, h2, h3 { line-height: 1.15; margin-top: 0; }
h1 {
  font-size: clamp(2.8rem, 5vw, 5rem);
  max-width: 1180px;
  margin-bottom: 32px;
  font-weight: 700;
  letter-spacing: -.035em;
}
.hero-blue { color: var(--blue); }
/* Controlled hero line breaks: predictable on wide screens, fluid on small screens */
.home-title { font-size: clamp(2.65rem, 4.25vw, 4.35rem); max-width: none; }
.title-line { display: inline-block; }
.home-title-second { display: inline-block; white-space: nowrap; }
.clinic-title { font-size: clamp(2.65rem, 4.35vw, 4.45rem); max-width: none; }
.clinic-title-first { white-space: nowrap; }

h2 { font-size: clamp(2rem, 3.3vw, 3.4rem); margin-bottom: 24px; letter-spacing: -.025em; }
h3 { font-size: 1.55rem; margin-bottom: 18px; }
.lead { max-width: 900px; font-size: clamp(1.08rem, 1.45vw, 1.22rem); color: #292929; }
.signature { margin-top: 26px; color: var(--muted); font-size: 1rem; }
.profile-link { color: var(--blue); font-weight: 700; text-decoration: none; }
.profile-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.areas { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.three-col { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.area-block { padding: 54px 42px 58px 0; min-height: 330px; }
.area-block + .area-block { border-left: 1px solid var(--line); padding-left: 42px; }
.area-icon { display: inline-flex; width: 58px; height: 58px; margin-bottom: 20px; color: var(--green); }
.area-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.area-block p, .tool-block p { color: var(--muted); }
.text-link {
  display: inline-block;
  margin-top: 12px;
  color: var(--blue);
  text-decoration: none;
  font-weight: 700;
  padding-block: 3px;
}
.text-link:hover { text-decoration: underline; text-underline-offset: 3px; }

.resources { background: var(--soft); padding: 72px 0; }
.resources-inner { display: grid; grid-template-columns: .8fr 1.4fr; gap: clamp(48px, 7vw, 90px); align-items: start; }
.resources-copy p { margin-top: 0; font-size: 1.08rem; color: #343434; }

.tools { padding: 72px 0; }
.section-heading { max-width: none; margin-bottom: 44px; }
.section-heading h2 { white-space: nowrap; }
.tools-grid { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tool-block { padding: 42px 38px 46px 0; }
.tool-block + .tool-block { border-left: 1px solid var(--line); padding-left: 38px; }

.history { padding: 72px 0; border-top: 1px solid var(--line); }
.history-inner { display: grid; grid-template-columns: 170px 1fr; gap: 54px; max-width: 980px; }
.history-rule { width: 100%; border-top: 5px solid var(--blue); position: relative; margin-top: 14px; }
.history-rule::after { content: ""; display: block; width: 42%; border-top: 5px solid var(--green); position: absolute; right: 0; top: -5px; }
.history p { color: #343434; font-size: 1.08rem; }

.site-footer { border-top: 1px solid var(--line); padding: 30px 0 calc(40px + env(safe-area-inset-bottom)); }
.footer-inner { display: flex; justify-content: space-between; gap: 30px; align-items: center; color: var(--muted); font-size: .9rem; }
.footer-inner strong { color: var(--blue); margin-right: .35em; }
.footer-discipline { color: var(--green); }
.footer-inner nav { display: flex; gap: 22px; flex-wrap: wrap; }
.footer-inner a { text-decoration: none; padding-block: 4px; }
.footer-inner a:hover { color: var(--blue); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

section[id], article[id] { scroll-margin-top: calc(var(--header-h) + 18px); }

@media (max-width: 1100px) {
  .header-inner { gap: 18px; }
  .brand img { width: 240px; }
  .main-nav { gap: 10px 16px; }
  .main-nav a { font-size: .94rem; }
  .area-block { padding-right: 30px; }
  .area-block + .area-block { padding-left: 30px; }
  .tool-block { padding-right: 28px; }
  .tool-block + .tool-block { padding-left: 28px; }
}

@media (max-width: 900px) {
  :root { --header-h: 78px; }
  .header-inner { min-height: var(--header-h); }
  .brand img { width: 235px; }
  .menu-toggle { display: inline-flex; }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: -24px;
    right: -24px;
    padding: 12px 24px 20px;
    background: rgba(255,255,255,.99);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 12px 24px rgba(0,0,0,.05);
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .main-nav.is-open { display: flex; }
  .main-nav a {
    min-height: 46px;
    display: flex;
    align-items: center;
    border-top: 1px solid var(--line);
    font-size: 1rem;
  }
  .main-nav a:first-child { border-top: 0; }
  .three-col { grid-template-columns: 1fr; }
  .area-block, .tool-block { padding: 38px 0 !important; min-height: 0; }
  .area-block + .area-block, .tool-block + .tool-block { border-left: 0; border-top: 1px solid var(--line); }
  .resources-inner { grid-template-columns: 1fr; gap: 12px; }
  .history-inner { grid-template-columns: 1fr; gap: 26px; }
  .history-rule { width: 140px; }
  .section-heading h2 { white-space: normal; }
  .area-icon { width: 62px; height: 62px; }
}

@media (max-width: 640px) {
  .wrap { width: min(100% - 30px, var(--max)); }
  .brand img { width: min(215px, 67vw); }
  .hero { padding: 52px 0 60px; }
  h1 { font-size: clamp(2.25rem, 11vw, 3rem); line-height: 1.08; letter-spacing: -.03em; }
  h2 { font-size: clamp(1.85rem, 8vw, 2.5rem); }
  h3 { font-size: 1.4rem; }
  .lead { font-size: 1.05rem; }
  .resources, .tools, .history { padding-top: 56px; padding-bottom: 60px; }
  .area-block, .tool-block { padding-block: 34px !important; }
  .footer-inner { flex-direction: column; align-items: flex-start; gap: 16px; }
  .footer-inner nav { gap: 10px 18px; }
}

@media (max-width: 380px) {
  .wrap { width: calc(100% - 24px); }
  .brand img { width: 190px; }
  .menu-toggle { width: 44px; height: 44px; padding: 8px; }
  h1 { font-size: clamp(2rem, 10.7vw, 2.45rem); }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 900px) {
  .main-nav.is-open { max-height: calc(100vh - var(--header-h)); overflow-y: auto; }
  .hero { padding-top: 42px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Internal pages */
.main-nav a.active { color: var(--blue); font-weight: 700; }
.page-hero { padding: clamp(58px, 6vw, 76px) 0 clamp(56px, 6vw, 72px); }
.page-hero-inner { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 34px; align-items: start; max-width: 1080px; }
.page-icon { width: 74px; height: 74px; color: var(--green); margin-top: 5px; }
.page-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.page-hero h1 { margin-bottom: 24px; }
.page-hero .lead { margin-bottom: 0; }
.border-top { border-top: 1px solid var(--line); }
.content-section { padding: 72px 0; }
.content-grid { display: grid; grid-template-columns: minmax(240px, .75fr) minmax(0, 1.55fr); gap: clamp(48px, 7vw, 96px); align-items: start; }
.content-heading h2 { margin-bottom: 0; }
.prose { max-width: 770px; }
.prose p { margin: 0 0 1.25em; color: #343434; font-size: 1.08rem; }
.prose p:last-of-type { margin-bottom: 0; }
.prominent-link { margin-top: 22px; }
.service-strip { background: var(--soft); padding: 68px 0; }
.service-inner, .closing-inner { display: grid; grid-template-columns: .8fr 1.4fr; gap: clamp(48px, 7vw, 90px); align-items: start; }
.service-copy p, .closing-inner p { margin-top: 0; color: #343434; font-size: 1.08rem; }
.principles { padding: 72px 0; }
.compact-heading { margin-bottom: 38px; }
.principles-grid { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.principle-block { padding: 40px 36px 42px 0; }
.principle-block + .principle-block { border-left: 1px solid var(--line); padding-left: 36px; }
.principle-block p { color: var(--muted); margin-bottom: 0; }
.principle-icon { display: inline-flex; width: 58px; height: 58px; margin-bottom: 18px; color: var(--green); }
.principle-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 3.5; stroke-linecap: round; stroke-linejoin: round; }
.closing-callout { padding: 68px 0; background: #fbfbfb; border-top: 1px solid var(--line); }
.closing-inner h2 { margin-bottom: 0; }

@media (max-width: 900px) {
  .home-title-second { white-space: normal; }
  .clinic-title-first { white-space: normal; }
  .page-hero-inner { grid-template-columns: 70px minmax(0,1fr); gap: 24px; }
  .page-icon { width: 62px; height: 62px; }
  .content-grid, .service-inner, .closing-inner { grid-template-columns: 1fr; gap: 18px; }
  .principle-block { padding: 34px 0 !important; }
  .principle-block + .principle-block { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 640px) {
  .home-title, .clinic-title { font-size: clamp(2.05rem, 10vw, 2.75rem); }
  .title-line, .home-title-second { display: inline; }
  .page-hero { padding: 48px 0 54px; }
  .page-hero-inner { grid-template-columns: 1fr; gap: 16px; }
  .page-icon { width: 58px; height: 58px; }
  .content-section, .principles { padding: 56px 0 60px; }
  .service-strip, .closing-callout { padding: 54px 0 58px; }
  .prose p, .service-copy p, .closing-inner p { font-size: 1.04rem; }
}

/* Docencia */
.teaching-title-first { white-space: nowrap; }
@media (max-width: 900px) {
  .teaching-title-first { white-space: normal; }
}


/* Docencia: VideoCortox */
.video-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 46px;
}
.video-card {
  text-decoration: none;
  color: var(--ink);
}
.video-thumb {
  position: relative;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: var(--soft);
  border: 1px solid var(--line);
}
.video-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .18s ease;
}
.video-card:hover .video-thumb img { transform: scale(1.018); }
.play-mark {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  color: var(--blue);
  display: grid;
  place-items: center;
  padding-left: 3px;
  font-size: 1.15rem;
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
}
.video-card h3 {
  font-size: 1.08rem;
  line-height: 1.35;
  margin: 14px 0 0;
  font-weight: 700;
}
.video-card:hover h3 { color: var(--blue); }
@media (max-width: 900px) {
  .video-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
}
@media (max-width: 640px) {
  .teaching-title { font-size: clamp(2.05rem, 10vw, 2.75rem); }
  .video-grid { grid-template-columns: 1fr; margin-top: 34px; }
}

/* Stacked links */
.link-stack { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; margin-top: 18px; }
.link-stack .text-link { margin-top: 0; }

/* Research page */
.research-links { display:grid; gap:12px; margin-top:26px; }
.research-links .text-link { width:max-content; max-width:100%; }
.instrument-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.instrument-card { padding:34px 30px 36px 0; }
.instrument-card + .instrument-card { border-left:1px solid var(--line); padding-left:30px; }
.instrument-card h3 { margin:14px 0 12px; font-size:clamp(1.28rem,1.7vw,1.6rem); }
.instrument-card p { margin:0 0 18px; }
.instrument-icon { display:block; width:56px; height:56px; color:var(--green); }
.instrument-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:900px){.instrument-grid{grid-template-columns:1fr}.instrument-card{padding:28px 0}.instrument-card + .instrument-card{border-left:0;border-top:1px solid var(--line);padding-left:0}}


/* Scientific articles */
.articles-intro { max-width: 880px; }
.academic-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-top:40px; }
.academic-link { padding:26px 28px 28px 0; }
.academic-link + .academic-link { border-left:1px solid var(--line); padding-left:28px; }
.academic-link h3 { font-size:1.12rem; margin:0 0 8px; }
.academic-link p { margin:0 0 14px; color:#4a4a4a; font-size:.96rem; }
.publication-section { padding: clamp(58px,7vw,88px) 0; border-top:1px solid var(--line); }
.publication-section.alt { background:var(--soft); }
.publication-heading { max-width:800px; margin-bottom:38px; }
.publication-heading h2 { margin-bottom:12px; }
.publication-heading p:last-child { margin:0; color:var(--muted); }
.publication-list { list-style:none; padding:0; margin:0; border-top:1px solid var(--line); }
.publication-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:26px; align-items:start; padding:24px 0; border-bottom:1px solid var(--line); }
.publication-citation { margin:0; line-height:1.62; color:#303030; }
.publication-citation strong { font-weight:700; color:var(--ink); }
.publication-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px 14px; min-width:112px; padding-top:2px; }
.publication-actions a { color:var(--blue); text-decoration:none; font-weight:700; font-size:.88rem; white-space:nowrap; }
.publication-actions a:hover { text-decoration:underline; }
.archive-note { margin-top:28px; max-width:820px; color:var(--muted); font-size:.96rem; }
@media (max-width:900px){.academic-links{grid-template-columns:1fr}.academic-link{padding:22px 0}.academic-link + .academic-link{border-left:0;border-top:1px solid var(--line);padding-left:0}.publication-item{grid-template-columns:1fr;gap:12px}.publication-actions{justify-content:flex-start;padding-top:0}}

/* ISP / ISP-20 */
.version-section { padding: clamp(58px,7vw,88px) 0; border-top:1px solid var(--line); }
.version-section.alt { background:var(--soft); }
.version-heading { max-width:820px; margin-bottom:36px; }
.version-heading h2 { margin-bottom:12px; }
.version-heading p:last-child { margin-bottom:0; color:var(--muted); }
.version-block { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr); gap:clamp(38px,6vw,84px); padding:38px 0; border-top:1px solid var(--line); }
.version-block:last-child { border-bottom:1px solid var(--line); }
.version-block h3 { margin:0 0 12px; font-size:clamp(1.35rem,1.8vw,1.7rem); }
.version-block .version-kicker { color:var(--green-dark); font-size:.78rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; margin:0 0 10px; }
.version-copy p:first-child { margin-top:0; }
.dimension-list { margin:18px 0 0; padding-left:20px; }
.dimension-list li { margin:7px 0; }
.download-group { margin-top:24px; }
.download-group h4 { margin:0 0 12px; font-size:.9rem; letter-spacing:.06em; text-transform:uppercase; }
.download-links { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.download-links a { color:var(--blue); font-weight:700; text-decoration:none; line-height:1.45; }
.download-links a:hover { text-decoration:underline; }
.international-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--line); }
.country-card { padding:32px 34px 34px 0; border-bottom:1px solid var(--line); }
.country-card:nth-child(even) { border-left:1px solid var(--line); padding-left:34px; }
.country-card h3 { margin:0 0 12px; font-size:clamp(1.25rem,1.7vw,1.55rem); }
.country-card p { margin:0 0 16px; }
.country-card .download-links { margin-top:16px; }
@media (max-width:900px){.version-block{grid-template-columns:1fr;gap:12px}.international-grid{grid-template-columns:1fr}.country-card,.country-card:nth-child(even){padding:26px 0;border-left:0}.country-card + .country-card{border-top:0}}

/* ICAP application layout */
.icap-process { max-width:980px; margin:0 0 8px; padding:0 0 30px; }
.icap-process h4 { margin:0 0 12px; font-size:.82rem; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.icap-process p { margin:0; max-width:900px; font-size:1.05rem; line-height:1.65; }
.icap-models { grid-template-columns:repeat(2,minmax(0,1fr)); }
.icap-access { padding:34px 0 4px; }
.icap-access a { display:inline-block; color:var(--blue); font-size:clamp(1.7rem,3vw,2.6rem); line-height:1.1; font-weight:800; text-decoration:none; letter-spacing:-.02em; }
.icap-access a:hover { text-decoration:underline; }
@media (max-width:900px){.icap-models{grid-template-columns:1fr;gap:28px}.icap-access a{font-size:clamp(1.55rem,7vw,2.2rem)}}

/* Other questionnaires */
.questionnaire-section{padding:clamp(58px,7vw,88px) 0;border-top:1px solid var(--line)}
.questionnaire-section.alt{background:var(--soft)}
.questionnaire-heading{max-width:850px;margin-bottom:36px}
.questionnaire-heading h2{margin-bottom:12px}
.questionnaire-heading p:last-child{margin:0;color:var(--muted)}
.questionnaire-grid{display:grid;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.questionnaire-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.questionnaire-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.questionnaire-card{padding:32px 32px 34px 0;min-width:0}
.questionnaire-card + .questionnaire-card{border-left:1px solid var(--line);padding-left:32px}
.questionnaire-card h3{margin:0 0 13px;font-size:clamp(1.22rem,1.65vw,1.52rem);line-height:1.22}
.questionnaire-card>p:not(.version-kicker){margin:0 0 18px;color:#383838}
.questionnaire-card .download-links{margin-top:20px}
@media(max-width:900px){.questionnaire-grid.three,.questionnaire-grid.two{grid-template-columns:1fr}.questionnaire-card,.questionnaire-card + .questionnaire-card{padding:27px 0;border-left:0}.questionnaire-card + .questionnaire-card{border-top:1px solid var(--line)}}

/* Professional resources */
.resource-intro{padding:clamp(58px,7vw,86px) 0;border-top:1px solid var(--line)}
.resource-intro.alt,.resource-section.alt{background:var(--soft)}
.resource-heading{max-width:900px;margin-bottom:34px}.resource-heading h2{margin-bottom:12px}.resource-heading p:last-child{margin:0;color:var(--muted)}
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.resource-card{padding:31px 34px 32px 0}.resource-card:nth-child(even){border-left:1px solid var(--line);padding-left:34px}.resource-card:nth-child(n+3){border-top:1px solid var(--line)}
.resource-card h3{font-size:clamp(1.25rem,1.7vw,1.55rem);margin:0 0 11px}.resource-card p{margin:0 0 15px;color:#383838}
.resource-section{padding:clamp(60px,7vw,90px) 0;border-top:1px solid var(--line)}
.resource-list{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr);gap:55px;border-top:1px solid var(--line);padding:30px 0}.resource-list:last-child{border-bottom:1px solid var(--line)}
.resource-list h3{margin:0;font-size:clamp(1.3rem,1.8vw,1.65rem)}.resource-list p{margin:0 0 14px}.resource-links{display:flex;flex-direction:column;gap:9px}.resource-links a{color:var(--blue);font-weight:650;text-decoration:none}.resource-links a:hover{text-decoration:underline}
.resource-note{margin-top:34px;max-width:920px;color:var(--muted);font-size:.95rem}
@media(max-width:760px){.resource-grid{grid-template-columns:1fr}.resource-card,.resource-card:nth-child(even){padding:26px 0;border-left:0}.resource-card:nth-child(n+2){border-top:1px solid var(--line)}.resource-list{grid-template-columns:1fr;gap:12px}}

/* Recursos profesionales: directorio digital en tres columnas */
.digital-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2.2rem;row-gap:.45rem}
.digital-links a{display:block}
@media (max-width:900px){.digital-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.digital-links{grid-template-columns:1fr}}

/* Sobre LOGICORTEX: perfiles y redes */
.academic-profile-section { background:#fff; }
.institutional-profile-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; margin-top:38px; }
.institutional-profile { display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; padding:26px 22px 24px; border:1px solid var(--line); text-decoration:none; color:var(--ink); min-height:205px; justify-content:center; }
.institutional-profile:hover { border-color:rgba(69,116,184,.55); }
.institutional-profile strong { font-size:1.04rem; }
.institutional-profile span:last-child { color:#555; font-size:.92rem; line-height:1.45; }
.institutional-mark { display:flex; align-items:center; justify-content:center; min-height:58px; font-weight:800; letter-spacing:.02em; margin-bottom:4px; }
.ucm-mark { font-family:Georgia,serif; font-size:2.35rem; color:#454545; }
.docta-mark { font-size:2.25rem; color:#111; letter-spacing:.08em; }
.docta-mark::first-letter { color:#c9183b; }
.netlab-mark { font-size:2.25rem; color:#af2637; font-weight:500; }
.external-profile-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; margin-top:30px; }
.external-profile { text-decoration:none; color:var(--ink); text-align:center; display:flex; flex-direction:column; gap:10px; align-items:stretch; }
.profile-logo { height:116px; display:flex; align-items:center; justify-content:center; font-size:3.8rem; font-family:Georgia,serif; border:1px solid rgba(0,0,0,.04); }
.external-profile strong { display:block; background:var(--blue); color:#fff; padding:11px 6px; border-radius:4px; font-size:.88rem; }
.rg-logo { background:#08c3b0; color:#fff; }
.rg-logo sup { font-size:1.2rem; transform:translateY(-1.2rem); }
.academia-logo { background:#3f4244; color:#fff; }
.scholar-logo { background:#4b82e7; color:#fff; }
.scholar-logo svg { width:68%; height:68%; fill:#fff; }
.orcid-logo { background:#a6ce39; color:#fff; font-family:Arial,sans-serif; font-weight:400; }
.researcher-logo { background:#376c9f; color:#fff; font-size:4.6rem; }
.scopus-logo { background:#ff8200; color:#fff; font-family:Arial,sans-serif; font-weight:300; }
.social-intro { margin:0 0 24px; color:#343434; font-size:1.08rem; max-width:760px; }
.social-links { display:flex; flex-wrap:wrap; gap:12px; }
.social-link { display:inline-flex; align-items:center; gap:10px; padding:10px 14px 10px 10px; border:1px solid var(--line); color:var(--ink); text-decoration:none; background:#fff; }
.social-link:hover { border-color:rgba(69,116,184,.5); }
.social-icon { width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:700; font-family:Arial,sans-serif; font-size:1.25rem; color:#fff; }
.facebook .social-icon { background:#1877f2; font-size:1.65rem; }
.x-social .social-icon { background:#111; font-size:1.1rem; }
.linkedin .social-icon { background:#0a66c2; font-size:1rem; }
.youtube .social-icon { background:#fff; border-radius:0; width:38px; }
.youtube-icon svg { width:34px; height:28px; fill:#ff0000; }
.youtube-icon .play { fill:#fff; }
.email .social-icon { background:var(--green); }
.reminiscence { background:#fbfbfb; }
.reminiscence-copy { max-width:790px; }
.reminiscence-copy p:last-child { padding-top:22px; border-top:1px solid var(--line); font-weight:500; }
@media(max-width:1100px){.external-profile-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.profile-logo{height:130px}}
@media(max-width:900px){.institutional-profile-grid{grid-template-columns:1fr;}.institutional-profile{min-height:0}.external-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:480px){.external-profile-grid{grid-template-columns:1fr 1fr;gap:12px}.profile-logo{height:100px;font-size:3rem}.external-profile strong{font-size:.78rem}.social-links{display:grid;grid-template-columns:1fr 1fr}.social-link.email{grid-column:1/-1}}

/* =========================================================
   LOGICORTEX® MASTER DESIGN SYSTEM v1 — 2026-09
   Global normalization applied after complete site build.
   ========================================================= */
:root {
  --max: 1180px;
  --content-max: 1080px;
  --measure: 780px;
  --display-size: clamp(2.55rem, 4.05vw, 3.95rem);
  --heading-size: clamp(1.95rem, 3vw, 3.05rem);
  --section-space: clamp(58px, 6.2vw, 76px);
  --card-icon: 62px;
  --icon-stroke: 3.5;
}

/* Global rhythm and type */
.hero, .page-hero { padding: var(--section-space) 0; }
.home-title,
.page-hero h1,
.page-display-title,
.clinic-title,
.teaching-title {
  font-size: var(--display-size);
  line-height: 1.075;
  letter-spacing: -.035em;
  margin-bottom: 28px;
  max-width: 100%;
}
h2 { font-size: var(--heading-size); line-height: 1.1; }
.lead { max-width: 900px; line-height: 1.58; }
.content-section,
.principles,
.tools,
.resources,
.history,
.service-strip,
.closing-callout { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.publication-section,
.version-section,
.questionnaire-section,
.resource-section,
.resource-intro { padding-top: var(--section-space); padding-bottom: var(--section-space); }
.section-heading,
.compact-heading,
.publication-heading,
.version-heading,
.questionnaire-heading,
.resource-heading { margin-bottom: 34px; }

/* Stable display breaks on large screens */
.home-title-second,
.clinic-title-first { white-space: nowrap; }
.home-title { max-width: 1120px; }
.page-hero-inner { max-width: var(--content-max); }

/* Unified icon system */
.area-icon,
.principle-icon,
.instrument-icon { width: var(--card-icon); height: var(--card-icon); }
.area-icon svg,
.principle-icon svg,
.instrument-icon svg,
.page-icon svg { stroke-width: var(--icon-stroke); }
.page-icon { width: 72px; height: 72px; }
.page-hero-inner { grid-template-columns: 82px minmax(0,1fr); gap: 32px; }

/* Unified card typography and symmetry */
.area-block,
.tool-block,
.principle-block,
.instrument-card,
.questionnaire-card,
.country-card,
.resource-card,
.academic-link {
  min-width: 0;
}
.area-block h3,
.tool-block h3,
.principle-block h3,
.instrument-card h3,
.questionnaire-card h3,
.country-card h3,
.resource-card h3 { line-height: 1.22; }

/* Research instrument cards: match the rest of the visual system */
.instrument-icon { display:inline-flex; margin-bottom: 16px; }
.instrument-card { padding-top: 38px; padding-bottom: 40px; }
.instrument-card h3 { margin-top: 0; }

/* AIMAR: no visually empty cells. Five models + three applications. */
.aimar-model-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.aimar-model-card {
  padding:30px 24px 32px;
  border-left:1px solid var(--line);
  min-width:0;
}
.aimar-model-card:first-child { border-left:0; }
.aimar-model-card .version-kicker { margin:0 0 10px; }
.aimar-model-card h3 { font-size:1.28rem; margin:0 0 12px; }
.aimar-model-card p:last-child { margin-bottom:0; color:#3d3d3d; }
.aimar-app-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.aimar-app-grid .country-card { border-bottom:0; padding:32px 30px; }
.aimar-app-grid .country-card + .country-card { border-left:1px solid var(--line); }
.aimar-validation-card {
  display:grid;
  grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr);
  gap:clamp(34px,5vw,70px);
  padding:34px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  align-items:start;
}
.aimar-validation-card h3 { margin:0 0 12px; }

/* Profile grids: consistent vertical alignment */
.institutional-profile-grid { align-items:stretch; }
.institutional-profile { height:100%; }
.external-profile-grid { align-items:stretch; }
.external-profile { height:100%; }
.external-profile strong { margin-top:auto; }

/* Footer discipline: natural spacing and no fake buttons for pending legal pages */
.footer-inner strong { margin-right:.3em; }
.legal-pending { opacity:.55; cursor:default; pointer-events:none; }

/* Keep line breaking predictable, then release it on compact screens */
@media (max-width: 1050px) {
  :root { --display-size: clamp(2.45rem, 5.2vw, 3.55rem); }
  .home-title-second,
  .clinic-title-first { white-space: normal; }
  .aimar-model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .aimar-model-card { border-left:0; border-top:1px solid var(--line); }
  .aimar-model-card:nth-child(even) { border-left:1px solid var(--line); }
  .aimar-model-card:nth-child(-n+2) { border-top:0; }
  .aimar-model-card:last-child { grid-column:1/-1; border-left:0; }
}
@media (max-width: 900px) {
  .page-hero-inner { grid-template-columns:68px minmax(0,1fr); gap:24px; }
  .page-icon { width:60px; height:60px; }
  .aimar-app-grid { grid-template-columns:1fr; }
  .aimar-app-grid .country-card,
  .aimar-app-grid .country-card + .country-card { border-left:0; border-top:1px solid var(--line); padding:28px 0; }
  .aimar-app-grid .country-card:first-child { border-top:0; }
  .aimar-validation-card { grid-template-columns:1fr; gap:14px; }
}
@media (max-width: 640px) {
  :root {
    --display-size: clamp(2.05rem, 9.5vw, 2.65rem);
    --heading-size: clamp(1.8rem, 7.8vw, 2.35rem);
    --section-space: 54px;
  }
  .home-title-second,
  .clinic-title-first { white-space: normal; }
  .page-hero-inner { grid-template-columns:1fr; gap:14px; }
  .page-icon { width:56px; height:56px; }
  .aimar-model-grid { grid-template-columns:1fr; }
  .aimar-model-card,
  .aimar-model-card:nth-child(even),
  .aimar-model-card:last-child { grid-column:auto; border-left:0; border-top:1px solid var(--line); padding:26px 0; }
  .aimar-model-card:first-child { border-top:0; }
}


/* MASTER v2 refinements */
.history-brand-logo{display:block;width:clamp(220px,28vw,330px);max-width:100%;height:auto;margin:0 0 22px}
.icap-access{text-align:center}
.inline-reference-link{color:var(--blue);font-weight:700;text-decoration:none;white-space:nowrap}
.inline-reference-link:hover{text-decoration:underline}
.resource-note{text-align:justify;text-justify:inter-word}
#perfil-title{line-height:1.03}
@media (min-width:701px){.digital-links a{white-space:nowrap}}
@media (max-width:700px){.history-brand-logo{width:min(280px,82vw)}}


/* =========================================================
   LOGICORTEX MASTER v3 — visual integration refinements
   ========================================================= */
.menu-page-hero { position:relative; isolation:isolate; background-image:linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.90)),url("../img/logicortex-hero-conectividad.png"); background-size:cover; background-position:center; }
.menu-page-hero > * { position:relative; z-index:1; }
@media(max-width:640px){.menu-page-hero{background-image:linear-gradient(rgba(255,255,255,.90),rgba(255,255,255,.95)),url("../img/logicortex-hero-conectividad.png"); background-position:center top;}}

.tool-media-frame,.instrument-media-frame{width:150px;height:150px;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;overflow:hidden;background:#fff}
.tool-media,.instrument-media{width:100%;height:100%;object-fit:contain}
.tool-block,.instrument-card{text-align:center}.tool-block p,.instrument-card p{text-align:left}.tool-block .text-link,.instrument-card .text-link{text-align:center}

.brain-pair{display:flex;justify-content:center;align-items:center;gap:18px;margin:28px auto 0}.brain-small{width:112px;height:112px;object-fit:contain}
.contact-row-visual{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:30px;align-items:center}.contact-side-image{width:190px;justify-self:center}

.section-media{display:block;width:min(100%,560px);max-height:270px;object-fit:cover;margin:28px auto 0}.compact-media{width:min(100%,500px);max-height:235px}.centered-media{margin-left:auto;margin-right:auto}.conference-media{object-position:center 30%}
.workshop-list{margin:18px 0 4px;padding-left:1.35rem}.workshop-list li{margin:.48rem 0}

.academic-logo-frame{height:105px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.academic-logo{max-width:210px;max-height:82px;object-fit:contain}.academic-logo-1 .academic-logo{transform:scale(1.22)}.academic-logo-3 .academic-logo{transform:scale(.82)}

.world-map-wrap{margin:28px auto 42px;max-width:1050px}.world-map-image{width:100%;height:auto}
.image-row,.image-grid{margin-top:34px;margin-bottom:54px}.two-image-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.four-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.scientific-figure{width:100%;height:auto;object-fit:contain;border:1px solid var(--line);background:#fff}
.center-access{text-align:center}.app-screenshot{width:min(100%,1080px);height:auto;margin:32px auto 0;border:1px solid var(--line)}

.aimar-hero-logo{width:min(520px,75vw);height:auto;margin:0 0 24px}.risk-example-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;padding-top:34px;padding-bottom:48px}.risk-figure{margin:0}.risk-image{width:100%;height:auto;border:1px solid var(--line)}.risk-figure figcaption{text-align:center;color:var(--muted);font-size:.92rem;margin-top:9px}

.resource-program-image{width:min(100%,460px);max-height:220px;margin-top:20px}.justified-note{text-align:justify}

.profile-photo-small{width:220px;max-width:100%;height:auto;margin:24px auto 0}.award-image{width:min(100%,420px);height:auto;margin:26px auto 0}
.institutional-logo-frame{height:76px;display:flex;align-items:center;justify-content:center}.institutional-logo{max-width:190px;max-height:66px;object-fit:contain}.institutional-logo-1 .institutional-logo{transform:scale(1.18)}.institutional-logo-3 .institutional-logo{transform:scale(.82)}
.profile-logo-image-frame{height:112px;display:flex;align-items:center;justify-content:center}.profile-logo-image{max-width:100%;max-height:100%;object-fit:contain}.profile-label-plain{background:transparent!important;color:var(--ink)!important;padding:4px 2px!important;border-radius:0!important}
.social-links{justify-content:center;gap:28px}.social-logo-link{display:flex;align-items:center;justify-content:center;width:68px;height:68px;text-decoration:none}.social-logo-link .social-icon{width:56px;height:56px;font-size:1.7rem}.social-logo-link.youtube .social-icon{width:60px;height:56px}.social-logo-link .youtube-icon svg{width:52px;height:42px}
.reminiscence-wrap>.content-heading{max-width:760px}.history-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 46px}.history-shot{margin:0}.history-shot-image{width:100%;aspect-ratio:16/10;object-fit:contain;background:#fff;border:1px solid var(--line)}.history-shot figcaption{text-align:center;margin-top:8px;color:var(--muted);font-size:.88rem}.reminiscence-copy{max-width:900px}
.contact-email-large{display:block;text-align:center;font-size:clamp(1.4rem,2.5vw,2rem);margin:22px auto 0}.contact-final-image{width:150px;margin:24px auto 0}

@media(max-width:900px){.tool-media-frame,.instrument-media-frame{width:130px;height:130px}.contact-row-visual{grid-template-columns:1fr}.contact-side-image{width:150px}.history-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.brain-small{width:94px;height:94px}.section-media,.compact-media{width:min(100%,430px);max-height:none}.two-image-row,.four-image-grid,.risk-example-row{grid-template-columns:1fr}.history-gallery{grid-template-columns:1fr}.profile-photo-small{width:190px}.academic-logo-frame{height:90px}}


/* =========================================================
   LOGICORTEX MASTER v4 — final visual refinements
   ========================================================= */
/* AIMAR card logos: same optical height as ISP / ICAP */
.aimar-card-logo{transform:scale(1.18);transform-origin:center;}

/* Docencia and Investigación illustrations: compact and close to copy */
.docencia-media-small,.research-media-small{width:min(100%,330px)!important;max-height:170px!important;object-fit:contain!important;margin:18px auto 20px!important;}
.conference-media.docencia-media-small{width:min(100%,300px)!important;max-height:190px!important;object-fit:cover!important;}

/* Academic profiles: slightly reduce DOCTA optical size */
.academic-logo-frame.docta-logo-smaller .academic-logo{transform:scale(.68)!important;}

/* ICAP figure rows */
.icap-foundation-images{max-width:620px;margin-left:auto!important;margin-right:auto!important;gap:18px!important;}
.icap-model-images{grid-template-columns:repeat(4,minmax(0,1fr))!important;max-width:1080px;margin-left:auto!important;margin-right:auto!important;gap:14px!important;}
.icap-access-centered{display:flex!important;flex-direction:column;align-items:center;text-align:center!important;}

/* AIMAR hero: cropped artwork and reduced whitespace */
.aimar-hero-logo-tight{width:min(470px,72vw)!important;margin:0 0 8px!important;display:block;}
.page-hero .aimar-hero-logo-tight + .lead{margin-top:0!important;}

/* About: smaller award aligned to the right of copy */
.award-prose-grid{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:28px;align-items:start;}
.award-image-small{width:170px!important;max-width:100%;height:auto;margin:0!important;justify-self:end;}

/* Reminiscence: one compact historical screenshot per row */
.history-gallery-vertical{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;max-width:500px;margin:24px auto 36px!important;}
.history-gallery-vertical .history-shot{width:100%;max-width:500px;margin:0 auto!important;}
.history-gallery-vertical .history-shot-image{width:100%;aspect-ratio:16/9;object-fit:contain;}

@media(max-width:900px){
  .icap-model-images{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:720px;}
  .award-prose-grid{grid-template-columns:minmax(0,1fr) 150px;gap:20px;}
  .award-image-small{width:145px!important;}
}
@media(max-width:640px){
  .aimar-card-logo{transform:scale(1.10);}
  .docencia-media-small,.research-media-small{width:min(100%,300px)!important;max-height:none!important;}
  .icap-foundation-images,.icap-model-images{grid-template-columns:1fr!important;max-width:420px;}
  .award-prose-grid{grid-template-columns:1fr;}
  .award-image-small{width:150px!important;justify-self:center;margin:10px auto 0!important;}
  .history-gallery-vertical{max-width:390px;}
}
\n\n/* ===== MASTER V5 refinements ===== */
/* AIMAR cards: preserve the complete vertical lock-up and give it equal optical weight */
.tool-media-frame .aimar-card-logo,
.instrument-media-frame .aimar-card-logo{
  transform:none!important;
  width:96%!important;
  height:96%!important;
  max-width:96%!important;
  max-height:96%!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* NeT-Lab: slight optical increase wherever institutional profiles recur */
.academic-logo-1 .academic-logo,
.netlab-logo-larger .institutional-logo{ transform:scale(1.35)!important; }

/* Resources warning */
.resource-warning-wrap{display:grid;grid-template-columns:54px minmax(0,1fr);gap:18px;align-items:center;margin-top:34px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.resource-warning-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;font-size:2rem;line-height:1;color:#ad7a00}
.resource-warning-wrap .resource-note{margin:0!important;border:0!important;padding:0!important}

/* Award: smaller, right aligned, no unnecessary vertical expansion */
.award-prose-grid{grid-template-columns:minmax(0,1fr) 145px!important;gap:22px!important;align-items:start!important}
.award-image-v5{width:132px!important;max-width:100%!important;margin:0!important;justify-self:end!important}

/* About academic profiles */
.institutional-cta{display:block;margin-top:8px;color:var(--blue);font-weight:650}

/* Reminiscence: text directly under heading, compact chronological gallery at right */
.reminiscence-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);gap:56px;align-items:start}
.reminiscence-left .content-heading{margin-bottom:26px}
.history-gallery-side{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin:0!important;max-width:300px!important;justify-self:end}
.history-gallery-side .history-shot{width:100%!important;max-width:300px!important;margin:0!important}
.history-gallery-side .history-shot-image{width:100%!important;aspect-ratio:16/9!important;object-fit:contain!important;background:#fff;border:1px solid var(--line)}
.history-gallery-side .history-shot figcaption{font-size:.78rem!important;line-height:1.3!important;margin-top:5px!important}
.reminiscence-copy{max-width:none!important}

/* About contact: graphic to right of copy, like clinical contact */
.about-contact-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:30px;align-items:center}
.about-contact-image{width:120px!important;max-width:100%!important;margin:0!important;justify-self:end}
.about-contact-copy .contact-email-large{text-align:left!important;margin:20px 0 0!important}

@media(max-width:900px){
  .reminiscence-layout{grid-template-columns:minmax(0,1fr) 230px;gap:32px}
  .history-gallery-side{max-width:230px!important}
  .history-gallery-side .history-shot{max-width:230px!important}
  .award-prose-grid{grid-template-columns:minmax(0,1fr) 125px!important}
  .award-image-v5{width:115px!important}
}
@media(max-width:640px){
  .resource-warning-wrap{grid-template-columns:1fr;gap:8px}.resource-warning-icon{margin:0 auto}
  .award-prose-grid{grid-template-columns:1fr!important}.award-image-v5{width:125px!important;justify-self:center!important;margin:8px auto 0!important}
  .reminiscence-layout{grid-template-columns:1fr;gap:30px}
  .history-gallery-side{max-width:320px!important;justify-self:center}
  .history-gallery-side .history-shot{max-width:320px!important}
  .about-contact-row{grid-template-columns:1fr 100px;gap:18px}.about-contact-image{width:92px!important}
}

/* MASTER V6 final refinements */
#perfil{scroll-margin-top:150px}
.tool-media-frame,.instrument-media-frame{overflow:visible}
.tool-media-frame .aimar-card-logo,.instrument-media-frame .aimar-card-logo{transform:scale(1.32)!important;max-width:96%;max-height:96%;object-fit:contain}
.research-links-tight{gap:4px!important}
.research-links-tight .text-link{margin:0!important;line-height:1.35}
.academic-logo-1 .academic-logo{transform:scale(1.30)!important}
.contact-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:center}
.contact-three-grid .contact-col{padding:0 28px 0 0;min-width:0}
.contact-three-grid .contact-copy-col{padding-left:28px}
.contact-three-grid .contact-image-col{display:flex;justify-content:center;align-items:center;padding-left:28px;padding-right:0}
.contact-three-grid .contact-heading-col h2{margin-bottom:0}
.contact-three-grid .contact-copy-col p{font-size:1.08rem;color:#343434;margin-top:0}
.clinic-contact-image-v6{width:min(100%,260px)!important;height:auto!important;object-fit:contain}
.about-contact-image{width:min(100%,190px)!important;height:auto!important;object-fit:contain}
.profile-social-links{margin-top:30px;justify-content:center}
.award-image-v6{width:min(100%,210px)!important;max-height:310px!important;object-fit:contain!important}
.award-prose-grid{grid-template-columns:minmax(0,1fr) 220px!important;gap:32px!important;align-items:start!important}
@media(max-width:900px){.contact-three-grid{grid-template-columns:1fr 1fr 160px}.contact-three-grid .contact-col{padding:0 18px}.award-prose-grid{grid-template-columns:minmax(0,1fr) 180px!important}.award-image-v6{width:170px!important}}
@media(max-width:700px){#perfil{scroll-margin-top:105px}.contact-three-grid{grid-template-columns:1fr;gap:22px}.contact-three-grid .contact-col{padding:0}.contact-three-grid .contact-image-col{justify-content:flex-start}.clinic-contact-image-v6{width:210px!important}.about-contact-image{width:150px!important}.award-prose-grid{grid-template-columns:1fr!important}.award-image-v6{width:180px!important}}

.resource-digital-image{width:min(100%,390px)!important;margin:16px auto 24px!important;display:block}


/* MASTER V6 — definitive finishing refinements */
/* Talleres: deliberate visual break after YouTube link */
.workshop-youtube-link{display:inline-block;margin-bottom:1.1rem!important}
.workshop-intro{margin-top:0!important}
.workshop-list-ordered{padding-left:1.55rem}
.workshop-list-ordered li{padding-left:.25rem}
/* New VideoCortox screenshot: compact and readable */
.videocortox-channel-image{width:min(100%,420px)!important;max-height:none!important;object-fit:contain!important}
/* ICAP: remove excess whitespace around transition points */
.icap-validation-link-tight{display:inline-block;margin-bottom:0!important}
.icap-validation-link-tight + *{margin-top:1rem!important}
.icap-model-images-tight{margin-top:18px!important}
/* AIMAR hero: restore a clear breathing space after the logo */
.aimar-hero-logo-tight{margin-bottom:26px!important}
/* Resources: image directly under heading and compact */
.resource-digital-image{width:min(100%,310px)!important;max-height:150px!important;object-fit:contain!important;margin:14px auto 16px!important}
/* About award: three equal visual columns, without table borders */
.award-three-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:42px;align-items:start}
.award-three-grid .award-col{min-width:0}
.award-title-col h2{margin-bottom:0}
.award-copy-col p{margin-top:0}
.award-image-col{display:flex;justify-content:center;align-items:flex-start}
.award-image-final{display:block;width:min(100%,210px);height:auto;object-fit:contain;margin:0 auto}
/* Final contact e-mail: keep the arrow on the same line */
.contact-email-final{font-size:clamp(1.18rem,2vw,1.6rem)!important;white-space:nowrap}
@media(max-width:900px){
  .award-three-grid{gap:26px}
  .award-image-final{width:min(100%,175px)}
}
@media(max-width:700px){
  .award-three-grid{grid-template-columns:1fr;gap:22px}
  .award-image-final{width:170px}
  .contact-email-final{font-size:clamp(1.05rem,4vw,1.35rem)!important}
}

/* --------------------------------------------------------------------------
   Página 404 — estilos aislados. No modifica la maquetación existente.
   -------------------------------------------------------------------------- */
.error-404-section {
  min-height: 44vh;
  display: flex;
  align-items: center;
}
.error-404-inner {
  max-width: 760px;
  padding-top: 3rem;
  padding-bottom: 4rem;
}
.error-404-code {
  margin: 0 0 0.75rem;
  color: var(--green);
  font-size: clamp(3.5rem, 10vw, 7rem);
  font-weight: 800;
  line-height: 0.9;
  letter-spacing: -0.045em;
}
.error-404-inner h1 {
  margin-bottom: 1rem;
}
.error-404-inner .lead {
  max-width: 650px;
  margin-bottom: 1.75rem;
}
.error-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem 1.2rem;
  align-items: center;
}
