:root {
  --green: #2e7d32;
  --green-dark: #1b5e20;
  --green-deep: #0d3b14;
  --forest: #0a2c11;
  --gold: #f5b301;
  --gold-light: #ffd54f;
  --cream: #faf7f0;
  --sand: #f1ebdd;
  --ink: #1a1f1a;
  --muted: #667067;
  --line: #e4e0d6;
  --white: #fff;
  --shadow: 0 20px 60px rgba(10, 44, 17, .12);
  --radius: 22px;
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body.carbonell-dark { --white: #0d3215; --ink: #f2f6f1; --cream: #102f17; --sand: #163c1e; --line: #285132; --muted: #b8c5b9; }
body.carbonell-contrast { --green: #006400; --green-dark: #003b00; --green-deep: #002500; --gold: #ffe600; --ink: #000; --white: #fff; --cream: #fff; --line: #000; }
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; height: auto; }
button, input { font: inherit; }
h1, h2, h3, h4 { margin: 0; font-family: Fraunces, Georgia, serif; line-height: 1.08; letter-spacing: -.025em; }
p { margin-top: 0; }
.container { width: min(calc(100% - 32px), var(--container)); margin-inline: auto; }
.narrow { width: min(calc(100% - 32px), 820px); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 9999; padding: 12px 18px; background: var(--gold); color: #0a2c11; font-weight: 800; border-radius: 8px; }
.skip-link:focus { top: 16px; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }

.utility-bar { background: #124d1c; color: #fff; font-size: 12px; font-weight: 700; }
.utility-inner { min-height: 39px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.utility-inner nav { display: flex; align-items: center; gap: 22px; }
.utility-inner a { opacity: .94; }
.utility-inner a:hover { color: var(--gold-light); }
.utility-location { color: #d2dfd3; font-weight: 500; }
.identity-bar { background: var(--green-deep); color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
.identity-inner { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; min-width: 290px; }
.brand-mark { width: 48px; height: 56px; display: grid; place-items: center; flex: none; }
.brand-mark .custom-logo-link { display: block; }
.brand-mark img { max-height: 56px; width: auto; }
.brand strong { display: block; font-family: Fraunces, Georgia, serif; font-size: 18px; line-height: 1.05; }
.brand small { display: block; margin-top: 4px; color: #b9c9bb; font-size: 10px; letter-spacing: .06em; text-transform: uppercase; }
.header-actions { display: flex; align-items: center; gap: 9px; }
.icon-button, .menu-toggle { width: 40px; height: 40px; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.04); color: #fff; cursor: pointer; }
.icon-button:hover { background: rgba(255,255,255,.12); }
.search-form { display: flex; align-items: center; height: 40px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(255,255,255,.05); }
.search-form input { width: 118px; border: 0; outline: 0; padding: 0 0 0 16px; background: transparent; color: #fff; }
.search-form input::placeholder { color: #d4ded5; }
.search-form button { width: 40px; height: 40px; border: 0; background: transparent; color: #fff; cursor: pointer; }
.button { display: inline-flex; min-height: 47px; align-items: center; justify-content: center; gap: 10px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px; background: var(--green); color: #fff; font-size: 14px; font-weight: 800; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--green-dark); }
.button-small { min-height: 40px; padding-inline: 18px; background: #27863a; }
.login-button { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.08); }
.login-button:hover { background: var(--gold); color: var(--green-deep); }
.button-gold { background: var(--gold); color: #15351a; box-shadow: 0 10px 30px rgba(245,179,1,.22); }
.button-gold:hover { background: var(--gold-light); }
.button-ghost { border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.04); color: #fff; }
.button-ghost:hover { background: #fff; color: var(--green-deep); }
.primary-navigation { position: relative; z-index: 30; background: var(--forest); color: #fff; }
.carbonell-menu { display: flex; align-items: stretch; gap: 1px; margin: 0; padding: 0; list-style: none; }
.carbonell-menu > li { position: relative; list-style: none; }
.carbonell-menu a { position: relative; display: flex; align-items: center; min-height: 47px; padding: 0 13px; color: #e2e9e3; font-size: 13px; font-weight: 700; }
.carbonell-menu a:hover, .carbonell-menu .current-menu-item > a { color: #fff; }
.carbonell-menu .current-menu-item > a::after, .carbonell-menu a:hover::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--gold); }
.carbonell-menu .sub-menu { position: absolute; z-index: 40; top: 100%; left: 0; display: none; min-width: 220px; margin: 0; padding: 8px; border: 1px solid rgba(255,255,255,.1); border-radius: 0 0 12px 12px; background: var(--forest); box-shadow: var(--shadow); list-style: none; }
.carbonell-menu li:hover > .sub-menu, .carbonell-menu li:focus-within > .sub-menu { display: block; }
.carbonell-menu .sub-menu a { min-height: 39px; border-radius: 7px; }
.carbonell-menu .sub-menu a::after { display: none; }
.menu-toggle { display: none; padding: 10px; border-radius: 10px; }
.menu-toggle > span:not(.screen-reader-text) { display: block; height: 2px; margin: 4px 0; background: currentColor; }

.hero { position: relative; isolation: isolate; overflow: hidden; min-height: 650px; color: #fff; background: var(--green-deep); }
.hero::before { content: ""; position: absolute; z-index: -3; inset: 0; background-image: var(--hero-image); background-size: cover; background-position: center; animation: hero-breathe 18s ease-in-out infinite alternate; }
.hero::after { content: ""; position: absolute; z-index: -1; left: -5%; right: -5%; bottom: -75px; height: 130px; transform: rotate(-2deg); background: #1c6b2a; clip-path: polygon(0 70%, 14% 35%, 28% 68%, 42% 22%, 58% 62%, 72% 28%, 87% 68%, 100% 38%, 100% 100%, 0 100%); }
.hero-overlay { position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(5,48,15,.96) 0%, rgba(7,61,20,.90) 48%, rgba(9,60,21,.63) 100%), radial-gradient(circle at 76% 30%, rgba(84,157,74,.25), transparent 40%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: 70px; align-items: center; padding-top: 104px; padding-bottom: 106px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 18px; padding: 6px 13px; border: 1px solid rgba(255,255,255,.20); border-radius: 999px; background: rgba(255,255,255,.05); color: var(--gold-light); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-kicker span { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 4px rgba(245,179,1,.13); }
.hero h1 { max-width: 740px; font-size: clamp(48px, 5.7vw, 78px); }
.hero h1 em { display: block; color: var(--gold-light); font-style: normal; }
.hero-location { margin: 18px 0; color: #d2e2d3; font-weight: 700; }
.hero-lead { max-width: 680px; margin-bottom: 28px; color: #e4ede5; font-size: clamp(16px, 1.7vw, 19px); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; max-width: 720px; margin: 36px 0 0; }
.hero-stats div { padding: 14px 14px 11px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.045); backdrop-filter: blur(8px); }
.hero-stats dt { color: #b8cbb9; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.hero-stats dd { margin: 3px 0 0; color: var(--gold-light); font-family: Fraunces, Georgia, serif; font-size: 25px; font-weight: 800; }
.heritage-card { padding: 30px; border: 1px solid rgba(255,255,255,.22); border-radius: 28px; background: rgba(255,255,255,.10); box-shadow: var(--shadow); backdrop-filter: blur(12px); }
.heritage-head { display: flex; align-items: center; justify-content: space-between; }
.heritage-head p { text-align: right; }
.heritage-head span { display: block; color: #b8c9b9; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.heritage-head strong { display: block; color: var(--gold-light); font-family: Fraunces, Georgia, serif; font-size: 27px; }
.heritage-card blockquote { margin: 28px 0 26px; font-family: Fraunces, Georgia, serif; font-size: 19px; font-style: italic; font-weight: 600; line-height: 1.36; }
.heritage-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.heritage-facts p { margin: 0; padding: 12px 6px; border-radius: 13px; background: rgba(255,255,255,.07); text-align: center; }
.heritage-facts strong, .heritage-facts span { display: block; }
.heritage-facts strong { font-size: 18px; }
.heritage-facts span { color: #c0cfc1; font-size: 10px; }
@keyframes hero-breathe { to { transform: scale(1.055); } }

.quick-access { position: relative; z-index: 5; margin-top: -27px; }
.quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: var(--shadow); }
.quick-grid a { display: grid; grid-template-columns: 44px 1fr; grid-template-rows: auto auto; gap: 1px 11px; align-items: center; min-height: 94px; padding: 20px; border-right: 1px solid var(--line); }
.quick-grid a:last-child { border-right: 0; }
.quick-grid a:hover { background: var(--cream); }
.quick-grid span { grid-row: 1 / span 2; display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #e8f5e9; color: var(--green-dark); font-size: 19px; }
.quick-grid strong { align-self: end; font-size: 14px; }
.quick-grid small { align-self: start; color: var(--muted); font-size: 11px; }

.section { padding: 86px 0; }
.section-cream { background: var(--cream); }
.eyebrow { margin-bottom: 8px; color: var(--green-dark); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow-light { color: var(--gold-light); }
.section h2 { font-size: clamp(34px, 4vw, 52px); color: var(--green-deep); }
.split-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 90px; align-items: center; }
.split-intro p:not(.eyebrow) { color: var(--muted); font-size: 18px; }
.text-link { color: var(--green-dark); font-weight: 800; }
.text-link:hover { color: var(--gold-dark, #9a6800); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 32px; }
.news-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 22px; }
.content-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.news-card { position: relative; grid-column: span 4; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 12px 36px rgba(10,44,17,.07); transition: transform .2s ease, box-shadow .2s ease; }
.news-card::before { content: ""; position: absolute; z-index: 2; top: 0; left: 0; width: 5px; height: 0; background: var(--gold); transition: height .35s ease; }
.news-card:hover::before { height: 100%; }
.news-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.news-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: linear-gradient(135deg, #dcebdd, var(--sand)); }
.news-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.news-card:hover .news-media img { transform: scale(1.035); }
.news-placeholder { display: grid; width: 100%; height: 100%; place-items: center; color: rgba(13,59,20,.18); font-family: Fraunces, serif; font-size: 96px; font-weight: 800; }
.source-placeholder { position: relative; align-content: center; gap: 8px; padding: 32px; background: radial-gradient(circle at 80% 20%, rgba(245,179,1,.28), transparent 25%), linear-gradient(145deg, #e9f2e9, #f7f2e6); color: var(--green-deep); font-size: inherit; text-align: center; }
.source-placeholder::before { content: "C"; position: absolute; color: rgba(13,59,20,.055); font-size: 230px; line-height: 1; }
.source-placeholder small, .source-placeholder strong, .source-placeholder em { position: relative; z-index: 1; display: block; }
.source-placeholder small { color: var(--green-dark); font-family: Inter, sans-serif; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.source-placeholder strong { max-width: 420px; font-size: clamp(24px, 3vw, 42px); line-height: 1.05; }
.source-placeholder em { color: var(--muted); font-family: Inter, sans-serif; font-size: 10px; font-style: normal; font-weight: 700; }
.news-body { padding: 24px; }
.news-body h2, .news-body h3 { margin-bottom: 10px; color: var(--green-deep); font-size: 24px; }
.news-body p { color: var(--muted); font-size: 14px; }
.news-card-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.news-source { overflow: hidden; color: var(--green-dark); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.news-date { flex: none; color: var(--muted); font-size: 10px; font-weight: 700; }
.news-read { display: inline-flex; align-items: center; gap: 10px; margin-top: 7px; color: var(--green-dark); font-size: 13px; font-weight: 800; }
.news-read span { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 50%; background: #e8f5e9; transition: transform .2s ease, background .2s ease; }
.news-read:hover span { transform: translateX(4px); background: var(--gold); }
.news-featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr); min-height: 420px; border: 0; background: var(--green-deep); color: #fff; box-shadow: 0 24px 70px rgba(10,44,17,.20); }
.news-featured .news-media { aspect-ratio: auto; min-height: 420px; }
.news-featured .news-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(34px, 5vw, 62px); }
.news-featured .news-source { color: var(--gold-light); }
.news-featured .news-date, .news-featured .news-body p { color: #c3d1c5; }
.news-featured .news-body h3 { color: #fff; font-size: clamp(31px, 4vw, 48px); }
.news-featured .news-read { color: #fff; }
.news-featured .news-read span { background: var(--gold); color: var(--green-deep); }
.news-meta { margin-bottom: 9px; color: var(--green-dark) !important; font-size: 10px !important; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.empty-state { grid-column: 1 / -1; padding: 44px; border: 1px dashed #a7b9a9; border-radius: var(--radius); background: var(--cream); text-align: center; }
.empty-state strong { color: var(--green-deep); font-family: Fraunces, serif; font-size: 24px; }
.empty-state p { margin: 8px 0 0; color: var(--muted); }

.agenda-section { overflow: hidden; background: var(--green-deep); color: #fff; }
.agenda-section h2 { color: #fff; }
.agenda-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }
.agenda-grid > div:first-child > p:not(.eyebrow) { max-width: 420px; color: #c0d0c2; }
.agenda-source { display:flex; align-items:center; gap:8px; margin:18px 0 22px; color:#d5e3d5 !important; font-size:.76rem; font-weight:700; }.agenda-source span { color:#ffce3b; font-size:.7rem; }
.event-list { display: grid; gap: 10px; }
.event-row { display: grid; grid-template-columns: 64px 1fr auto; gap: 17px; align-items: center; padding: 15px; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.055); }
.event-row:hover { border-color: rgba(245,179,1,.55); background: rgba(255,255,255,.09); }
.event-row-schedule { position:relative; overflow:hidden; }.event-row-schedule::before { content:""; position:absolute; left:0; top:17px; bottom:17px; width:3px; border-radius:0 3px 3px 0; background:#ffcc39; }.event-row-schedule > span strong { line-height:1.35; }.event-row-schedule > span small { line-height:1.45; }
.event-row time { display: grid; min-height: 58px; place-items: center; padding: 7px; border-radius: 12px; background: var(--gold); color: var(--green-deep); line-height: 1; }
.event-row time strong { font-family: Fraunces, serif; font-size: 25px; }
.event-row time span { font-size: 10px; font-weight: 800; text-transform: uppercase; }
.event-row > span strong, .event-row > span small { display: block; }
.event-row > span small { margin-top: 3px; color: #c4d2c5; }
.event-row b { color: var(--gold-light); font-size: 22px; }
.empty-dark { border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.05); }
.empty-dark strong { color: #fff; }
.empty-dark p { color: #c4d2c5; }

.transparency-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.transparency-grid a { padding: 25px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }
.transparency-grid a:hover { border-color: #9bc59e; transform: translateY(-3px); }
.transparency-grid span { display: grid; width: 45px; height: 45px; place-items: center; margin-bottom: 18px; border-radius: 13px; background: #e7f3e8; color: var(--green-dark); font-weight: 800; }
.transparency-grid h3 { color: var(--green-deep); font-size: 21px; }
.transparency-grid p { min-height: 68px; color: var(--muted); font-size: 13px; }
.transparency-grid b { color: var(--green-dark); font-size: 12px; }

.page-hero { padding: 74px 0; background: linear-gradient(120deg, var(--green-deep), #1b6729); color: #fff; }
.page-hero h1 { color: #fff; font-size: clamp(43px, 6vw, 68px); }
.archive-description { max-width: 680px; margin-top: 16px; color: #d2dfd3; }
.content-grid { grid-template-columns: repeat(3, 1fr); }
.single-entry { padding-bottom: 80px; }
.entry-meta { margin-top: 18px; color: #d1dfd3; }
.news-article-hero { position: relative; overflow: hidden; padding: 92px 0 105px; background: radial-gradient(circle at 82% 18%, rgba(245,179,1,.18), transparent 27%), linear-gradient(125deg, #08250e, #155a22); }
.news-article-hero::after { content: "C"; position: absolute; right: 4vw; bottom: -12vw; color: rgba(255,255,255,.035); font-family: Fraunces, serif; font-size: min(38vw, 520px); font-weight: 800; line-height: 1; }
.article-heading { position: relative; z-index: 1; width: min(calc(100% - 32px), 1030px); }
.article-heading h1 { max-width: 980px; font-size: clamp(46px, 7vw, 82px); }
.article-deck { max-width: 780px; margin: 25px 0 0; color: #d4e1d5; font-size: clamp(17px, 2vw, 22px); line-height: 1.55; }
.news-article .entry-meta { display: flex; flex-wrap: wrap; gap: 10px; }
.news-article .entry-meta span { padding: 6px 11px; border: 1px solid rgba(255,255,255,.15); border-radius: 999px; background: rgba(255,255,255,.06); color: #e2ebe3; font-size: 11px; font-weight: 700; }
.entry-featured { overflow: hidden; margin-top: -28px; border-radius: 24px; box-shadow: var(--shadow); }
.article-media { position: relative; z-index: 3; width: min(calc(100% - 32px), 1120px); max-height: 680px; margin-top: -55px; background: var(--sand); }
.article-media img { width: 100%; max-height: 640px; object-fit: cover; }
.article-media figcaption { padding: 10px 16px; background: var(--white); color: var(--muted); font-size: 11px; }
.entry-content { padding-top: 48px; font-size: 17px; }
.article-copy { position: relative; padding-top: 60px; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.86; }
.article-copy > p:first-of-type::first-letter { float: left; margin: .1em .12em 0 0; color: var(--green-dark); font-family: Fraunces, serif; font-size: 4.6em; font-weight: 800; line-height: .78; }
.source-ribbon { margin: 0 0 38px; padding: 18px 22px; border-left: 5px solid var(--gold); border-radius: 0 14px 14px 0; background: var(--cream); }
.source-ribbon span, .source-ribbon strong { display: block; }
.source-ribbon span { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.source-ribbon strong { color: var(--green-deep); font-family: Fraunces, serif; font-size: 20px; }
.source-ribbon a { display: inline-block; margin-top: 5px; font-size: 13px; font-weight: 800; }
.article-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 54px; padding-top: 26px; border-top: 1px solid var(--line); }
.article-footer > div { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.article-footer span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.article-footer > div a { padding: 7px 11px; border-radius: 999px; background: var(--cream); color: var(--green-dark); font-size: 12px; font-weight: 800; text-decoration: none; }
.related-news .news-card { grid-column: span 4; }
.entry-facts { margin: 0 0 2rem; padding: 1.2rem 1.4rem; border-left: 4px solid var(--gold); background: var(--cream); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.entry-facts p { margin: .35rem 0; }
.entry-content h2, .entry-content h3 { margin: 1.5em 0 .5em; color: var(--green-deep); }
.entry-content a { color: var(--green-dark); text-decoration: underline; text-underline-offset: 3px; }
.entry-content .button { color: #fff; text-decoration: none; }
.entry-content blockquote { margin: 2em 0; padding: 20px 25px; border-left: 4px solid var(--gold); background: var(--cream); font-family: Fraunces, serif; font-size: 21px; }
.pagination { grid-column: 1 / -1; }

.institutional-hero { position: relative; overflow: hidden; }
.institutional-hero::after { content: ""; position: absolute; right: -80px; bottom: -150px; width: 430px; height: 300px; border: 70px solid rgba(255,255,255,.045); border-radius: 50%; }
.institutional-page h2 { margin-bottom: 18px; color: var(--green-deep); font-size: clamp(28px, 3vw, 40px); }
.contact-cards, .service-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.info-card { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 10px 28px rgba(10,44,17,.06); text-align: center; }
.info-card > span { display: grid; width: 48px; height: 48px; margin: 0 auto 12px; place-items: center; border-radius: 14px; background: #e8f5e9; color: var(--green-dark); font-size: 21px; }
.info-card b { display: block; color: var(--green-dark); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.info-card p { margin: 7px 0 0; color: var(--muted); font-size: 13px; }
.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 58px; align-items: start; }
.carbonell-form, .institution-card, .content-panel { margin-top: 22px; padding: 26px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: 0 10px 30px rgba(10,44,17,.06); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid label, .carbonell-form label { color: var(--ink); font-size: 13px; font-weight: 700; }
.form-grid input, .form-grid textarea, .form-grid select { width: 100%; margin-top: 7px; padding: 11px 13px; border: 1px solid #bfd0c1; border-radius: 10px; background: var(--white); color: var(--ink); }
.form-grid textarea { resize: vertical; }
.form-wide { grid-column: 1 / -1; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.consent { display: flex; gap: 10px; margin: 20px 0; padding: 14px; border: 1px solid #c7dfc9; border-radius: 12px; background: #eef8ef; font-weight: 500 !important; }
.consent input { margin-top: 4px; }
.form-notice { margin: 18px 0; padding: 14px 16px; border-radius: 12px; font-weight: 700; }
.form-notice.success { background: #e8f5e9; color: #1b5e20; }
.form-notice.error { background: #fff1ef; color: #9f2f24; }
.map-frame { overflow: hidden; margin: 22px 0 12px; border: 1px solid var(--line); border-radius: 20px; box-shadow: var(--shadow); }
.map-frame iframe { display: block; border: 0; }
.institution-card strong { color: var(--green-deep); font-family: Fraunces, serif; font-size: 20px; }
.institution-card p { margin: 7px 0 0; color: var(--muted); }
.citizen-layout { display: grid; grid-template-columns: 270px minmax(0, 1fr); gap: 40px; align-items: start; }
.section-nav { position: sticky; top: 175px; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 10px 28px rgba(10,44,17,.06); }
.section-nav h2 { margin: 0; padding: 18px 20px; background: var(--green-deep); color: #fff; font-size: 20px; }
.section-nav ul { margin: 0; padding: 8px; list-style: none; }
.section-nav a { display: block; padding: 10px 12px; border-radius: 9px; color: var(--muted); font-size: 13px; font-weight: 700; }
.section-nav a:hover, .section-nav a:focus { background: #e8f5e9; color: var(--green-dark); }
.citizen-content > section { scroll-margin-top: 180px; }
.citizen-content > section + section { margin-top: 30px; }
.document-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.document-grid span { padding: 13px; border-radius: 10px; background: var(--cream); color: var(--green-deep); font-weight: 700; }
.pending-data { margin: 16px 0 0; color: var(--muted); font-size: 12px; }
.schedule-highlight { padding: 26px; border-radius: 18px; background: linear-gradient(135deg, var(--green), var(--green-dark)); color: #fff; text-align: center; }
.schedule-highlight strong, .schedule-highlight small { display: block; margin-top: 8px; }
.content-panel details { border-top: 1px solid var(--line); padding: 14px 0; }
.content-panel summary { color: var(--green-deep); font-weight: 800; cursor: pointer; }
.content-panel details p { margin: 8px 0 0; color: var(--muted); }

/* Secciones institucionales: equivalencia visual con la aplicación Node.js. */
.section-page-hero { padding: 58px 0 72px; background: radial-gradient(circle at 84% 24%, rgba(245,179,1,.16), transparent 25%), linear-gradient(125deg, #08250e, #155a22); }
.section-hero-inner { position: relative; }
.section-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 30px; color: #bed0c1; font-size: 11px; font-weight: 700; }
.section-breadcrumbs a:hover { color: var(--gold-light); }
.section-hero-copy { position: relative; z-index: 2; max-width: 850px; }
.section-page-hero h1 { max-width: 920px; font-size: clamp(42px, 6vw, 70px); }
.section-monogram { position: absolute; right: 2%; bottom: -80px; color: rgba(255,255,255,.045); font-family: Fraunces, serif; font-size: clamp(220px, 29vw, 420px); font-weight: 800; line-height: 1; pointer-events: none; }
.section-page-body { background: linear-gradient(180deg, var(--cream), var(--white) 230px); }
.section-layout { display: grid; grid-template-columns: 270px minmax(0,1fr); gap: 46px; align-items: start; }
.section-main { min-width: 0; }
.section-side { position: sticky; top: 170px; }
.section-side-label { margin: 0 0 12px; color: var(--green-dark); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.section-directory { overflow: hidden; padding: 8px; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 12px 35px rgba(10,44,17,.07); }
.section-directory a { position: relative; display: flex; justify-content: space-between; gap: 10px; align-items: center; min-height: 44px; padding: 9px 11px 9px 15px; border-radius: 10px; color: var(--muted); font-size: 12px; font-weight: 750; }
.section-directory a::before { content: ""; position: absolute; left: 0; width: 3px; height: 0; border-radius: 3px; background: var(--gold); transition: height .2s ease; }
.section-directory a b { opacity: 0; color: var(--green-dark); transition: opacity .2s, transform .2s; }
.section-directory a:hover, .section-directory a.is-active { background: #eaf5eb; color: var(--green-deep); }
.section-directory a:hover::before, .section-directory a.is-active::before { height: 23px; }
.section-directory a:hover b, .section-directory a.is-active b { opacity: 1; transform: translateX(2px); }
.section-title-row { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 25px; }
.section-title-row h2 { color: var(--green-deep); font-size: clamp(32px, 4vw, 48px); }
.section-folio { color: rgba(13,59,20,.13); font-family: Fraunces, serif; font-size: 62px; font-weight: 800; line-height: .8; }
.section-content-card { position: relative; overflow: hidden; margin-bottom: 28px; padding: clamp(25px,4vw,42px); border: 1px solid var(--line); border-radius: 22px; background: var(--white); box-shadow: 0 14px 40px rgba(10,44,17,.07); }
.section-card-mark { position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(var(--gold), var(--green)); }
.section-editor-content > *:last-child { margin-bottom: 0; }
.section-editor-content > p:first-child { color: var(--ink); font-size: 18px; line-height: 1.8; }
.section-editor-content h2, .section-editor-content h3 { margin: 1.45em 0 .55em; color: var(--green-deep); }
.section-editor-content ul, .section-editor-content ol { padding-left: 1.3em; }
.section-editor-content a { color: var(--green-dark); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.section-card-grid {
	  display: grid;
	  grid-template-columns: repeat(2, minmax(0, 1fr));
	  gap: 17px; 
}
.section-link-card {
	  position: relative;
	  overflow: hidden;
	  min-height: 220px;
	  padding: 25px;
	  border: 1px solid var(--line);
	  border-radius: 19px;
	  background: var(--white);
	  box-shadow: 0 10px 30px rgba(10, 44, 17, .055);
	  transition: transform .2s, border-color .2s, box-shadow .2s; 
}
.section-link-card::after {
	  content: "";
	  position: absolute;
	  right: -35px;
	  bottom: -35px;
	  width: 110px;
	  height: 110px;
	  border: 24px solid rgba(248, 172, 30, .075);
	  border-radius: 50%; 
}
.section-link-card:hover {
	  transform: translateY(-4px);
	  border-color: #a8caaa;
	  box-shadow: var(--shadow); 
}
.section-link-card > span {
	  color: var(--green-dark);
	  font-size: 10px;
	  font-weight: 800;
	  letter-spacing: .12em; 
}
.section-link-card h3 {
	  margin-top: 16px;
	  color: var(--green-deep);
	  font-size: 23px; 
}
.section-link-card p {
	  min-height: 46px;
	  margin: 10px 0 18px;
	  color: var(--muted);
	  font-size: 13px; 
}
.section-link-card b {
	  position: relative;
	  z-index: 1;
	  color: var(--green-dark);
	  font-size: 12px; 
}
.section-link-card i {
	  display: inline-block;
	  margin-left: 7px;
	  font-style: normal;
	  transition: transform .2s; 
}
.section-link-card:hover i {
	  transform: translateX(4px); 
}
.section-next-links { margin-top: 25px; padding-top: 20px; border-top: 1px solid var(--line); }
.section-next-links a { color: var(--green-dark); font-size: 13px; font-weight: 800; }

/* Archivo vivo: historia, propósito, filosofía, principios y valores */
.institutional-heading { margin-bottom: 30px; }
.institutional-heading > p, .heritage-overline { margin: 0 0 8px; color: var(--gold-dark, #b87900); font-size: 11px; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.institutional-heading h3, .heritage-intro h3, .purpose-card h3, .philosophy-panel h3 { margin: 0; color: var(--green-deep); font-family: Fraunces, serif; font-size: clamp(30px, 4vw, 46px); line-height: 1.08; }
.institutional-heading > span { display: block; margin-top: 9px; color: var(--muted); font-size: 13px; }
.heritage-intro { position: relative; overflow: hidden; margin-bottom: 44px; padding: clamp(30px, 5vw, 58px); border-radius: 28px; background: linear-gradient(135deg, #0b3517, #125024); color: #fff; box-shadow: 0 24px 60px rgba(7,45,17,.2); }
.heritage-intro::after { content: "1962"; position: absolute; right: -18px; bottom: -45px; color: rgba(255,255,255,.055); font: 800 clamp(110px, 18vw, 205px)/1 Fraunces,serif; }
.heritage-intro h3 { position: relative; z-index: 1; max-width: 720px; color: #fff; }
.heritage-intro > p:not(.heritage-overline) { position: relative; z-index: 1; max-width: 790px; margin: 22px 0 0; color: #d9e7da; font-size: 17px; line-height: 1.8; }
.heritage-fact-strip { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.heritage-fact-strip span { min-width: 150px; padding: 14px 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: rgba(255,255,255,.07); color: #dce9dd; font-size: 11px; }
.heritage-fact-strip b { display: block; margin-bottom: 3px; color: var(--gold-light); font-size: 18px; }
.heritage-timeline { margin-bottom: 28px; }
.timeline-track { position: relative; display: grid; max-width: 100%; gap: 0; }
.timeline-track::before { content: ""; position: absolute; left: 110px; top: 9px; bottom: 9px; width: 2px; background: linear-gradient(var(--gold), #f4d783 80%, transparent); }
.timeline-event { position: relative; display: grid; grid-template-columns: 88px 45px minmax(0,1fr); align-items: start; min-height: 155px; }
.timeline-year { padding-top: 10px; color: var(--green-deep); font: 800 17px/1.1 Fraunces,serif; text-align: right; }
.timeline-event > i { position: relative; z-index: 1; width: 15px; height: 15px; margin: 10px auto 0; border: 4px solid #fff; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 2px var(--gold); }
.timeline-event > div { margin: 0 0 18px; padding: 23px 26px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 9px 24px rgba(10,44,17,.055); }
.timeline-event small { color: var(--gold-dark, #a86f00); font-size: 9px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.timeline-event h4 { margin: 6px 0 8px; color: var(--green-deep); font-size: 20px; }
.timeline-event p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.7; }
.purpose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.purpose-card { position: relative; overflow: hidden; padding: clamp(30px,4vw,48px); border-radius: 28px; box-shadow: 0 18px 50px rgba(10,44,17,.1); }
.purpose-card > span { display: block; margin-bottom: 46px; font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.purpose-card h3 { margin: 18px 0 22px; }
.purpose-card p { margin: 0; font-size: 15px; line-height: 1.88; }
.purpose-icon { display: grid; width: 54px; height: 54px; place-items: center; border-radius: 17px; font-size: 25px; }
.purpose-mission { background: #fff7df; color: #4b442f; }
.purpose-mission > span { color: #9c6a00; }.purpose-mission .purpose-icon { background: #f8c341; color: #10243a; }
.purpose-vision { background: #10243a; color: #dce5ed; }.purpose-vision h3 { color: #fff; }.purpose-vision > span { color: #9fb5c8; }.purpose-vision .purpose-icon { background: #fff; color: #10243a; }
.purpose-vision em { color: var(--gold-light); font-size: .48em; font-style: normal; vertical-align: middle; }
.philosophy-panel { position: relative; overflow: hidden; padding: clamp(38px,6vw,72px); border-radius: 30px; background: #0d2035; color: #e8eef4; box-shadow: 0 26px 70px rgba(8,28,48,.22); }
.philosophy-panel::after { content: ""; position: absolute; right: -75px; bottom: -75px; width: 220px; height: 220px; border: 34px solid rgba(248,172,30,.11); border-radius: 50%; }
.philosophy-panel h3 { max-width: 650px; color: #fff; }
.philosophy-panel blockquote { position: relative; z-index: 1; margin: 34px 0 24px; padding-left: 25px; border-left: 4px solid var(--gold); color: #fff; font: italic 500 clamp(18px,2.2vw,24px)/1.7 Fraunces,serif; }
.philosophy-panel blockquote strong { color: var(--gold-light); }
.principles-grid p, .values-grid p { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.65; }
.values-accordion { display: grid; gap: 13px; }
.values-accordion details { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 7px 20px rgba(10,44,17,.045); }
.values-accordion summary { display: flex; cursor: pointer; justify-content: space-between; gap: 20px; align-items: center; padding: 20px 24px; color: var(--green-deep); font-size: 16px; font-weight: 850; list-style: none; }
.values-accordion summary::-webkit-details-marker { display: none; }.values-accordion summary::after { content: "+"; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 50%; background: #edf5ee; color: var(--green-dark); }.values-accordion details[open] summary::after { content: "−"; background: var(--gold); color: #10243a; }
.values-accordion summary b { margin-left: auto; color: var(--muted); font-size: 11px; font-weight: 650; }
.values-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; padding: 1px; border-top: 1px solid var(--line); background: var(--line); }
.values-grid article { min-height: 130px; padding: 22px; background: #fff; }

/* Símbolos institucionales */
.symbols-intro { margin-bottom: 28px; padding: clamp(30px,5vw,52px); border: 1px solid #bed9c1; border-radius: 28px; background: radial-gradient(circle at 90% 10%,rgba(248,172,30,.16),transparent 30%),linear-gradient(135deg,#f4faf4,#fff); }
.symbols-intro h3, .symbol-copy h3, .anthem-heading h3 { margin: 0; color: var(--green-deep); font-family: Fraunces,serif; font-size: clamp(31px,4vw,48px); line-height: 1.08; }
.symbols-intro > p:last-child { max-width: 760px; margin: 17px 0 0; color: var(--muted); font-size: 17px; line-height: 1.75; }
.symbol-feature { position: relative; display: grid; grid-template-columns: minmax(0,1.08fr) minmax(300px,.92fr); gap: clamp(30px,5vw,64px); align-items: center; margin-bottom: 28px; padding: clamp(28px,5vw,58px); border-radius: 28px; }
.symbol-flag { background: #10243a; color: #dce6ed; }.symbol-flag h3 { color: #fff; }.symbol-flag .heritage-overline { color: var(--gold-light); }
.symbol-number { display: block; margin-bottom: 34px; color: rgba(248,172,30,.85); font: 800 13px/1 Fraunces,serif; letter-spacing: .18em; }
.symbol-copy > p:not(.heritage-overline) { margin: 20px 0 0; font-size: 15px; line-height: 1.82; }
.color-meaning { display: grid; gap: 11px; margin-top: 25px; }
.color-meaning article { display: grid; grid-template-columns: 35px 1fr; gap: 14px; padding: 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 14px; background: rgba(255,255,255,.055); }
.color-meaning h4 { margin: 0 0 4px; color: #fff; font-size: 14px; }.color-meaning p { margin: 0; color: #bdccd7; font-size: 12px; line-height: 1.6; }
.swatch { width: 28px; height: 28px; border: 4px solid rgba(255,255,255,.16); border-radius: 50%; }.swatch-white { background:#fff; }.swatch-green { background:#0b8c43; }
.flag-stage { text-align: center; }.flag-stage small { display: block; margin-top: 18px; color: #9fb2c0; font-size: 10px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.carbonell-flag { display:block; width:min(430px,100%); height:auto; margin:auto; border-radius:12px; background:#fff; box-shadow:0 28px 55px rgba(0,0,0,.28); transform:perspective(700px) rotateY(-5deg) rotateZ(-1deg); }
.symbol-shield { grid-template-columns: minmax(260px,.75fr) minmax(0,1.25fr); border: 1px solid var(--line); background:#fff; box-shadow:0 16px 45px rgba(10,44,17,.07); }
.shield-stage { position: relative; display:grid; min-height:390px; place-items:center; }.shield-stage img { position:relative; z-index:1; width:min(280px,82%); height:auto; filter:drop-shadow(0 20px 20px rgba(10,44,17,.18)); }
.shield-halo { position:absolute; width:320px; max-width:95%; aspect-ratio:1; border:1px solid #d7e7d9; border-radius:50%; background:radial-gradient(circle,#edf7ee 0 52%,transparent 53%); }
.shield-keys { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:25px 0 0; padding:0; list-style:none; }.shield-keys li { padding:15px; border-radius:13px; background:#f1f7f2; }.shield-keys b,.shield-keys span { display:block; }.shield-keys b { color:var(--green-deep); font-size:12px; }.shield-keys span { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.5; }
/* El escudo se presenta como una pieza editorial: imagen protagonista y lectura guiada. */
.symbol-shield { grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr); overflow:hidden; padding:0; border:1px solid #d8e7da; background:#fff; box-shadow:0 20px 55px rgba(10,44,17,.09); }
.symbol-shield .shield-stage { isolation:isolate; min-height:680px; overflow:hidden; padding:42px; background:linear-gradient(155deg,#eff8ef 0%,#dceede 100%); }
.symbol-shield .shield-stage::before { content:""; position:absolute; z-index:-2; inset:0; opacity:.65; background:radial-gradient(circle at 18% 16%,rgba(255,207,55,.72) 0 3px,transparent 4px),radial-gradient(circle at 79% 26%,rgba(31,111,53,.26) 0 2px,transparent 3px); background-size:27px 27px,19px 19px; }
.symbol-shield .shield-stage::after { content:"Conocimiento que ilumina"; position:absolute; z-index:3; left:26px; top:26px; padding:8px 11px; border:1px solid rgba(25,100,46,.18); border-radius:999px; color:#236339; background:rgba(255,255,255,.78); font:800 .64rem/1 "Inter",sans-serif; letter-spacing:.12em; text-transform:uppercase; }
.symbol-shield .shield-stage img { width:min(315px,78%); filter:drop-shadow(0 27px 25px rgba(10,44,17,.22)); }
.symbol-shield .shield-halo { width:350px; max-width:88%; border-color:rgba(38,112,55,.23); background:radial-gradient(circle,rgba(255,255,255,.66) 0 49%,transparent 50%); }
.symbol-shield .shield-stage::selection { background:#ffcf3c; }
.symbol-shield .symbol-copy { padding:clamp(34px,5vw,60px) clamp(29px,5vw,62px); }
.symbol-shield .symbol-number { margin-bottom:24px; }.symbol-shield h3 { max-width:610px; }.symbol-shield .symbol-copy > p:first-of-type { color:#385043; font-size:1.02rem; line-height:1.74; }
.symbol-shield .symbol-copy > p:nth-of-type(2) { position:relative; margin-top:23px; padding:18px 19px 18px 58px; border-left:3px solid var(--gold); border-radius:0 13px 13px 0; color:#4e5d54; background:#fff8e8; font-size:.87rem; line-height:1.68; }
.symbol-shield .symbol-copy > p:nth-of-type(2)::before { content:"✦"; position:absolute; left:18px; top:17px; display:grid; width:31px; height:31px; place-items:center; border-radius:50%; color:#8c6100; background:#ffdb75; }
.symbol-shield .shield-keys { grid-template-columns:1fr 1fr; gap:10px; margin-top:24px; }.symbol-shield .shield-keys li { position:relative; min-height:110px; padding:16px 16px 16px 54px; border:1px solid #dbe9dc; border-radius:13px; background:linear-gradient(135deg,#fbfefb,#f2f8f2); }.symbol-shield .shield-keys li::before { content:counter(shield); counter-increment:shield; position:absolute; left:15px; top:16px; display:grid; width:27px; height:27px; place-items:center; border-radius:50%; color:#fff; background:#28723a; font:800 .61rem/1 "Inter",sans-serif; }.symbol-shield .shield-keys { counter-reset:shield; }.symbol-shield .shield-keys li:nth-child(2) { border-color:#efdfb8; background:linear-gradient(135deg,#fffdf7,#fff4da); }.symbol-shield .shield-keys li:nth-child(2)::before { color:#765100; background:#ffcf49; }.symbol-shield .shield-keys li:nth-child(4) { border-color:#d8e6f3; background:linear-gradient(135deg,#f7fbff,#edf5fc); }.symbol-shield .shield-keys li:nth-child(4)::before { background:#326f9f; }.symbol-shield .shield-keys li:nth-child(5) { grid-column:1/-1; min-height:92px; background:linear-gradient(135deg,#f2faed,#e2f1df); }.symbol-shield .shield-keys b { font:700 .92rem/1.2 "Fraunces",serif; }.symbol-shield .shield-keys span { color:#64746a; font-size:.72rem; line-height:1.48; }.symbol-shield .symbol-copy > p:last-child { margin-top:20px; padding-top:17px; border-top:1px dashed #cddfce; color:#5e7063; font-size:.8rem; line-height:1.65; }
@media (max-width:900px) { .symbol-shield { grid-template-columns:1fr; }.symbol-shield .shield-stage { min-height:390px; }.symbol-shield .shield-stage img { width:min(260px,60%); } }
@media (max-width:620px) { .symbol-shield .shield-stage { min-height:310px; padding:26px; }.symbol-shield .shield-stage::after { top:17px; left:17px; font-size:.56rem; }.symbol-shield .shield-stage img { width:min(220px,68%); }.symbol-shield .symbol-copy { padding:31px 23px; }.symbol-shield .shield-keys { grid-template-columns:1fr; }.symbol-shield .shield-keys li:nth-child(5) { grid-column:auto; } }

.anthem-panel { position:relative; overflow:hidden; margin-bottom:40px; padding:clamp(31px,5vw,58px); border-radius:28px; background:linear-gradient(135deg,#fff8e7,#fff); box-shadow:0 16px 45px rgba(96,63,4,.09); }
.anthem-panel::after { content:"♫"; position:absolute; right:-10px; top:-35px; color:rgba(248,172,30,.09); font-size:210px; font-weight:800; }
.anthem-heading { position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; column-gap:24px; align-items:end; padding-bottom:28px; border-bottom:1px solid #ecdcae; }.anthem-heading .symbol-number,.anthem-heading .heritage-overline { grid-column:1; }.anthem-heading h3 { grid-column:1; }.anthem-heading > p:last-of-type { grid-column:1; margin:13px 0 0; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.08em; }.music-notes { grid-column:2; grid-row:1/5; color:#10243a; font-size:34px; letter-spacing:9px; }
.anthem-lyrics { position:relative; z-index:1; columns:2; column-gap:44px; margin-top:31px; }.anthem-lyrics p { position:relative; break-inside:avoid; margin:0 0 27px; padding-left:37px; color:#283b49; font:500 15px/1.82 Fraunces,serif; }.anthem-lyrics p span { position:absolute; left:0; top:5px; color:#b77900; font:850 10px/1 sans-serif; letter-spacing:.08em; }.anthem-lyrics em { color:#8b6a20; font-size:12px; }
.org-section { margin-top:50px; }.org-viewer { position:relative; display:block; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#eef3f6; box-shadow:0 18px 48px rgba(10,44,17,.1); }.org-viewer img { display:block; width:100%; height:auto; transition:transform .3s ease; }.org-viewer span { position:absolute; right:18px; bottom:18px; padding:10px 14px; border-radius:999px; background:#10243a; color:#fff; font-size:11px; font-weight:800; box-shadow:0 7px 20px rgba(0,0,0,.22); }.org-viewer:hover img { transform:scale(1.012); }

/* Volver al inicio: control global */
.back-to-top { position:fixed; z-index:999; right:max(20px,env(safe-area-inset-right)); bottom:max(20px,env(safe-area-inset-bottom)); display:grid; width:54px; height:54px; cursor:pointer; place-items:center; border:3px solid var(--gold); border-radius:11px; background:rgba(18,80,36,.96); color:#fff; box-shadow:0 12px 30px rgba(4,35,13,.28); opacity:0; transform:translateY(18px) scale(.92); visibility:hidden; transition:opacity .2s ease,transform .2s ease,visibility .2s; }
.back-to-top span { display:block; font:300 27px/1 Arial,sans-serif; transform:translateY(-1px); }
.back-to-top.is-visible { opacity:1; transform:translateY(0) scale(1); visibility:visible; }
.back-to-top:hover { background:var(--green-deep); transform:translateY(-3px) scale(1); }
.back-to-top:focus-visible { outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px var(--green-deep); }
.carbonell-dark .back-to-top { background:#1d7d39; }.carbonell-contrast .back-to-top { border-color:#fff; background:#000; color:#fff; }
@media (prefers-reduced-motion: reduce) { .back-to-top { transition:none; } }
@media (prefers-reduced-motion: no-preference) { .timeline-event > div, .principles-grid article { transition: transform .2s ease, box-shadow .2s ease; }.timeline-event > div:hover, .principles-grid article:hover { transform: translateY(-3px); box-shadow: 0 15px 35px rgba(10,44,17,.1); } }
@media (max-width: 900px) {
  .section-layout { grid-template-columns: 1fr; gap: 30px; }
  .section-side { position: static; min-width: 0; }
  .section-directory { display: flex; overflow-x: auto; padding: 7px; scroll-snap-type: x proximity; }
  .section-directory a { flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap; }
  .section-directory a::before { inset: auto 12px 2px; width: auto; height: 3px; }
  .section-directory a:hover::before, .section-directory a.is-active::before { height: 3px; }
  .purpose-grid { grid-template-columns: 1fr; }
  .principles-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .values-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .symbol-feature { grid-template-columns:1fr; }.symbol-shield { grid-template-columns:1fr; }.shield-stage { min-height:330px; }.shield-keys { grid-template-columns:1fr 1fr; }
}
@media (max-width: 620px) {
  .section-page-hero { padding: 42px 0 54px; }
  .section-breadcrumbs { margin-bottom: 22px; }
  .section-card-grid { grid-template-columns: 1fr; }
  .section-title-row { align-items: start; }
  .section-folio { font-size: 45px; }
  .heritage-intro { margin-inline: -4px; padding: 30px 24px; border-radius: 22px; }
  .heritage-fact-strip { display: grid; grid-template-columns: 1fr; }
  .timeline-track { display: flex; overflow-x: auto; gap: 14px; padding: 7px 3px 19px; scroll-snap-type: x mandatory; scrollbar-color: var(--gold) #edf2ed; }
  .timeline-track::before { left: 15px; right: 15px; top: 23px; bottom: auto; width: auto; height: 2px; }
  .timeline-event { flex: 0 0 84%; display: grid; grid-template-columns: 1fr; min-height: 0; padding-top: 24px; scroll-snap-align: center; }
  .timeline-year { padding: 0; text-align: left; }.timeline-event > i { position: absolute; top: 0; left: 11px; margin: 0; }.timeline-event > div { height: 100%; margin: 0; }
  .purpose-card { padding: 29px 24px; border-radius: 22px; }.purpose-card > span { margin-bottom: 30px; }
  .philosophy-panel { padding: 36px 25px; border-radius: 22px; }
  .principles-grid, .values-grid { grid-template-columns: 1fr; }
  .principles-grid article { min-height: 0; }
  .values-accordion summary { padding: 18px; }.values-accordion summary b { display: none; }
  .symbols-intro,.symbol-feature,.anthem-panel { border-radius:22px; }.symbol-feature { padding:30px 23px; }.symbol-number { margin-bottom:25px; }.shield-stage { min-height:280px; }.shield-keys { grid-template-columns:1fr; }
  .anthem-heading { grid-template-columns:1fr; }.music-notes { grid-column:1; grid-row:auto; margin-top:20px; }.anthem-lyrics { columns:1; }.org-viewer span { position:static; display:block; border-radius:0; text-align:center; }
  .back-to-top { right:max(14px,env(safe-area-inset-right)); bottom:max(14px,env(safe-area-inset-bottom)); width:50px; height:50px; }
}

.site-footer { position: relative; padding-top: 70px; background: #08250e; color: #dce7dd; }
.footer-accent { position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--green), var(--gold), var(--green)); }
.footer-grid { display: grid; grid-template-columns: 1.25fr 1fr .8fr 1fr; gap: 44px; padding-bottom: 55px; }
.footer-brand { display: flex; align-items: flex-start; gap: 18px; }
.footer-shield { display: grid; width: 82px; min-width: 82px; height: 108px; place-items: center; }
.footer-logo { width: auto; max-width: 82px; max-height: 108px; object-fit: contain; }
.footer-place { color: #d4dfd5 !important; font-weight: 600; }
.footer-contact li { padding-left: 0; }
.site-footer h2 { margin-bottom: 16px; color: #fff; font-size: 21px; }
.site-footer p { color: #aebfb0; font-size: 13px; }
.site-footer .eyebrow { color: var(--gold-light); }
.footer-links, .footer-links ul { margin: 0; padding: 0; list-style: none; }
.footer-links li { margin-bottom: 9px; color: #b8c8ba; font-size: 13px; }
.footer-links a:hover { color: var(--gold-light); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 18px; border-top: 1px solid rgba(255,255,255,.09); }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: #aebfb0; font-size: 12px; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Egresados: memoria viva y reencuentro carbonelino. */
.alumni-page { --alumni-green:#073c20; --alumni-deep:#042f18; --alumni-gold:#f5b400; --alumni-cream:#faf7ef; color:#163126; }
.alumni-page .section { padding:72px 0; }
.alumni-hero { position:relative; overflow:hidden; padding:64px 0 70px; color:#fff; background-color:var(--alumni-deep); background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.09) 1px,transparent 0); background-size:22px 22px; }
.alumni-hero::after { content:"1965"; position:absolute; right:5%; bottom:-42px; font-family:"Fraunces",serif; font-size:clamp(8rem,20vw,18rem); font-weight:800; line-height:1; color:rgba(255,255,255,.035); pointer-events:none; }
.alumni-hero-inner { position:relative; z-index:1; }
.alumni-hero .section-breadcrumbs { margin-bottom:28px; color:rgba(255,255,255,.82); }
.alumni-hero .section-breadcrumbs a { color:#fff; }
.alumni-hero h1 { max-width:1000px; margin:12px 0 16px; color:#fff; font:700 clamp(2.5rem,5.4vw,4.8rem)/1.05 "Fraunces",serif; letter-spacing:-.035em; }
.alumni-hero > div > p:last-child { max-width:760px; margin:0; font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.65; color:rgba(255,255,255,.9); }
.alumni-two-column { display:grid; grid-template-columns:minmax(0,1fr) minmax(380px,.95fr); gap:68px; align-items:center; }
.alumni-kicker { display:flex; align-items:center; gap:12px; margin:0 0 15px; color:#b97800; font-size:.76rem; font-weight:800; letter-spacing:.2em; text-transform:uppercase; }
.alumni-kicker::before { content:""; width:25px; height:1px; background:#e6a10b; }
.alumni-welcome h2,.alumni-heading h2,.alumni-contact h2 { margin:0; color:var(--alumni-deep); font-family:"Fraunces",serif; font-size:clamp(2rem,3.6vw,3rem); line-height:1.13; letter-spacing:-.025em; }
.alumni-welcome-copy > p:last-of-type { max-width:650px; margin:22px 0; font-size:1.08rem; line-height:1.8; color:#53635b; }
.alumni-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:30px; }
.alumni-facts span { min-height:92px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:16px; background:#e8f4e9; color:#53635b; font-size:.78rem; }
.alumni-facts span:nth-child(2) { background:#fff5dc; }
.alumni-facts b { display:block; color:var(--alumni-deep); font:700 1.65rem/1 "Fraunces",serif; }
.alumni-facts span:nth-child(2) b { color:#b97800; }
.alumni-hero-image { position:relative; overflow:hidden; margin:0; border-radius:22px; box-shadow:0 24px 50px rgba(3,51,25,.18); }
.alumni-hero-image img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .7s ease; }
.alumni-hero-image:hover img { transform:scale(1.035); }
.alumni-hero-image::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(3,47,24,.64)); pointer-events:none; }
.alumni-hero-image figcaption { position:absolute; z-index:1; left:16px; bottom:14px; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.9); color:#195b35; font-size:.65rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.alumni-register,.alumni-contact { background:var(--alumni-cream); }
.alumni-narrow { max-width:1000px; }
.alumni-heading { max-width:760px; margin:0 auto 34px; text-align:center; }
.alumni-heading .alumni-kicker { justify-content:center; }
.alumni-heading > p:last-child { margin:16px auto 0; color:#5e655f; font-size:1.05rem; line-height:1.7; }
.alumni-form { padding:34px; border:1px solid #badfbe; border-radius:20px; background:#fff; box-shadow:0 12px 35px rgba(4,47,24,.06); }
.alumni-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 20px; }
.alumni-form label { display:grid; gap:8px; color:#0d291b; font-size:.9rem; font-weight:700; }
.alumni-form input,.alumni-form select,.alumni-form textarea { width:100%; min-height:46px; padding:11px 14px; border:1px solid #d9d6ce; border-radius:10px; background:#fff; color:#243c30; font:400 .94rem/1.4 "Inter",sans-serif; box-shadow:0 2px 6px rgba(5,39,21,.04); }
.alumni-form textarea { resize:vertical; }
.alumni-form input:focus,.alumni-form select:focus,.alumni-form textarea:focus { border-color:#348b4d; outline:3px solid rgba(52,139,77,.16); }
.alumni-wide { grid-column:1/-1; }
.alumni-consent { grid-template-columns:auto 1fr!important; align-items:start; margin-top:22px; padding:18px; border:1px solid #b9ddbd; border-radius:14px; background:#eaf6ea; }
.alumni-consent input { width:19px; min-height:19px; margin:2px 0 0; accent-color:#27823f; }
.alumni-consent span { color:#354d40; font-size:.76rem; font-weight:400; line-height:1.7; }
.alumni-consent strong { color:#163727; }
.alumni-form-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:22px; }
.alumni-form-actions small { color:#69746e; }
.alumni-form-actions .button { border:0; }
.alumni-notice { display:grid; gap:4px; margin:0 0 20px; padding:16px 20px; border-radius:12px; }
.alumni-notice-success { color:#145b2b; background:#e8f6eb; border:1px solid #a9d7b2; }
.alumni-notice-error { color:#772c21; background:#fff0ed; border:1px solid #e7b2aa; }
.form-honeypot { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.alumni-story-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.alumni-story-grid article { padding:32px 26px; border:1px solid #b9ddbd; border-radius:18px; text-align:center; box-shadow:0 8px 18px rgba(5,55,26,.07); }
.alumni-photo-placeholder { display:flex; width:140px; aspect-ratio:1; margin:0 auto 18px; flex-direction:column; align-items:center; justify-content:center; border-radius:50%; color:#398851; background:radial-gradient(circle,#f9fbf4 0 45%,#e7f2df 46% 100%); }
.alumni-photo-placeholder span { font-size:2rem; }
.alumni-photo-placeholder small { max-width:90px; font-size:.6rem; font-weight:800; text-transform:uppercase; }
.alumni-story-grid em { display:inline-block; padding:4px 8px; border:1px dashed #d99b13; border-radius:999px; color:#a66f00; font-size:.6rem; font-style:normal; font-weight:800; text-transform:uppercase; }
.alumni-story-grid h3 { margin:14px 0 4px; color:var(--alumni-deep); font:700 1.05rem/1.3 "Fraunces",serif; }
.alumni-story-grid article > small { color:#7b847e; }
.alumni-story-grid article > p { color:#5c6861; font-size:.88rem; font-style:italic; line-height:1.55; }
.alumni-footnote,.alumni-gallery-note { margin:26px auto 0; text-align:center; color:#66736b; font-size:.78rem; line-height:1.6; }
.alumni-footnote a { color:#176934; font-weight:700; }
.alumni-gallery { color:#fff; background:var(--alumni-deep); }
.alumni-heading-light h2,.alumni-heading-light > p:last-child { color:#fff; }
.alumni-heading-light .alumni-kicker { color:#ffd23e; }
.alumni-gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.alumni-gallery-grid figure { position:relative; overflow:hidden; margin:0; border-radius:18px; background:#0b522c; }
.alumni-gallery-grid img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .55s ease; }
.alumni-gallery-grid figure:hover img { transform:scale(1.055); }
.alumni-gallery-grid figure::after { content:""; position:absolute; inset:25% 0 0; background:linear-gradient(transparent,rgba(0,0,0,.86)); pointer-events:none; }
.alumni-gallery-grid figcaption { position:absolute; z-index:1; inset:auto 16px 14px; display:flex; flex-direction:column; align-items:flex-start; }
.alumni-gallery-grid figcaption span { padding:4px 9px; border-radius:999px; color:#17351f; background:#ffd11a; font-size:.68rem; font-weight:800; }
.alumni-gallery-grid figcaption strong { margin-top:7px; color:#fff; font:700 1.08rem/1.2 "Fraunces",serif; }
.alumni-gallery-grid figcaption small { margin-top:3px; color:rgba(255,255,255,.74); font-size:.64rem; }
.alumni-gallery-note { max-width:900px; color:rgba(255,255,255,.7); }
.alumni-heading-left { max-width:none; margin-left:0; text-align:left; }
.alumni-heading-left .alumni-kicker { justify-content:flex-start; }
.alumni-heading-left > p:last-child { margin-left:0; }
.alumni-news-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.alumni-news-grid article { display:flex; min-height:185px; padding:26px; flex-direction:column; border:1px solid #b9ddbd; border-radius:16px; box-shadow:0 5px 14px rgba(5,55,26,.06); }
.alumni-news-grid article > span { color:#d99a00; font-size:1.7rem; }
.alumni-news-grid h3 { margin:10px 0 6px; color:var(--alumni-deep); font:700 1.05rem/1.3 "Fraunces",serif; }
.alumni-news-grid p { flex:1; margin:0; color:#68736d; font-size:.82rem; line-height:1.55; }
.alumni-news-grid a { margin-top:14px; color:#176934; font-size:.8rem; font-weight:800; }
.alumni-contact-card { padding:40px; border:1px solid #b9ddbd; border-radius:20px; background:#fff; text-align:center; box-shadow:0 7px 18px rgba(5,55,26,.06); }
.alumni-contact-card > span { color:#cb9200; font-size:3rem; }
.alumni-contact-card h2 { margin-top:8px; font-size:2rem; }
.alumni-contact-card p { color:#657069; }
.alumni-contact-card > div { display:flex; flex-wrap:wrap; justify-content:center; gap:14px; margin-top:24px; }
.alumni-contact-card .button-outline { color:#176934; background:#fff; border:1px solid #78bd87; }

@media (max-width:900px) {
  .alumni-two-column { grid-template-columns:1fr; gap:38px; }
  .alumni-hero-image { max-width:680px; }
  .alumni-story-grid,.alumni-news-grid { grid-template-columns:1fr; }
  .alumni-gallery-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px) {
  .alumni-page .section { padding:52px 0; }
  .alumni-hero { padding:42px 0 50px; }
  .alumni-hero h1 { font-size:2.45rem; }
  .alumni-two-column { display:flex; flex-direction:column; }
  .alumni-facts { grid-template-columns:1fr; }
  .alumni-facts span { min-height:74px; }
  .alumni-form { padding:22px 16px; }
  .alumni-form-grid { grid-template-columns:1fr; }
  .alumni-wide { grid-column:auto; }
  .alumni-form-actions { align-items:stretch; flex-direction:column; }
  .alumni-gallery-grid { grid-template-columns:1fr; }
  .alumni-contact-card { padding:30px 18px; }
  .alumni-contact-card > div,.alumni-contact-card .button { width:100%; }
  .alumni-contact-card .button { justify-content:center; overflow-wrap:anywhere; }
}

/* Archivo institucional: las carpetas son una clasificación pública, no enlaces de servidor. */
.document-archive-hero { background:linear-gradient(120deg,#063b20 0%,#0c542b 65%,#12391f 100%); }
.document-archive-body { background:linear-gradient(180deg,#fff 0,#f6faf6 100%); }
.document-archive-intro { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:34px; }
.document-archive-intro h2 { margin:6px 0 8px; color:var(--green-deep); font:700 clamp(2rem,4vw,3.1rem)/1.05 "Fraunces",serif; letter-spacing:-.03em; }
.document-archive-intro p { max-width:660px; margin:0; color:var(--muted); line-height:1.7; }
.document-archive-intro .button-outline { flex:0 0 auto; color:var(--green-dark); background:#fff; border:1px solid #9bcfa6; }
.document-year-folders { display:grid; gap:17px; }
.document-year-folder { overflow:hidden; border:1px solid #bcdcc0; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(4,47,24,.06); }
.document-year-folder summary { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px; padding:20px 24px; cursor:pointer; list-style:none; }
.document-year-folder summary::-webkit-details-marker { display:none; }
.document-folder-icon { display:grid; width:47px; height:40px; place-items:center; border-radius:9px 9px 12px 12px; background:#ffd557; color:#28502d; font-size:1.45rem; }
.document-year-folder summary b { display:block; color:var(--green-deep); font:800 1.6rem/1 "Fraunces",serif; }
.document-year-folder summary small { display:block; margin-top:5px; color:#728178; font-size:.78rem; }
.document-year-folder summary i { color:#1d7137; font-size:1.35rem; font-style:normal; transition:transform .2s ease; }
.document-year-folder[open] summary { border-bottom:1px solid #d7ebd8; background:#fbfefb; }
.document-year-folder[open] summary i { transform:rotate(180deg); }
.document-year-content { display:grid; gap:24px; padding:24px; }
.document-type-folder { border-left:3px solid #e6aa16; padding-left:18px; }
.document-type-heading { display:flex; align-items:center; gap:9px; margin-bottom:10px; }
.document-type-heading span { color:#d28a00; font-size:1.2rem; }.document-type-heading h3 { margin:0; color:var(--green-deep); font:700 1.25rem/1.2 "Fraunces",serif; }.document-type-heading small { display:grid; min-width:24px; height:24px; padding:0 6px; place-items:center; border-radius:999px; color:#1b6d35; background:#e5f3e6; font-size:.7rem; font-weight:800; }
.document-list { display:grid; gap:9px; }.document-list article { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 16px; border:1px solid #e2e8e1; border-radius:12px; background:#fff; }.document-list time { color:#bd8500; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }.document-list h4 { margin:4px 0 0; font:700 1rem/1.3 "Fraunces",serif; }.document-list h4 a { color:var(--green-deep); }.document-list p { margin:5px 0 0; color:var(--muted); font-size:.83rem; line-height:1.5; }.document-open { flex:0 0 auto; color:#187137; font-size:.78rem; font-weight:800; white-space:nowrap; }

/* Carrusel de rectoría: una línea de tiempo horizontal de liderazgos. */
.campus-intro { margin-bottom:28px; }.campus-intro h3 { max-width:820px; margin:7px 0 13px; color:var(--green-deep); font:700 clamp(2rem,4vw,3.35rem)/1.08 "Fraunces",serif; letter-spacing:-.035em; }.campus-intro > p:last-of-type { max-width:760px; color:var(--muted); line-height:1.75; }.campus-stat-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:26px; }.campus-stat-strip span { min-height:77px; display:flex; flex-direction:column; justify-content:center; padding:13px 16px; border-radius:13px; background:#edf7ed; color:#64746a; font-size:.73rem; }.campus-stat-strip span:nth-child(2) { background:#fff4d9; }.campus-stat-strip span:nth-child(3) { background:#eaf2fb; }.campus-stat-strip b { display:block; margin-bottom:3px; color:var(--green-deep); font:800 1.55rem/1 "Fraunces",serif; }.campus-stat-strip span:nth-child(2) b { color:#ad7700; }.campus-stat-strip span:nth-child(3) b { color:#256aaf; }
.campus-route { display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.94fr); overflow:hidden; margin:38px 0 54px; border-radius:22px; color:#fff; background:linear-gradient(125deg,#073c20,#0d5b30); box-shadow:0 18px 40px rgba(5,55,26,.14); }.campus-route-copy { padding:42px; }.campus-route .heritage-overline { color:#ffcf3c; }.campus-route h3 { max-width:480px; margin:7px 0 14px; color:#fff; font:700 clamp(1.9rem,3.6vw,3rem)/1.08 "Fraunces",serif; }.campus-route-copy > p:last-of-type { max-width:520px; color:rgba(255,255,255,.84); line-height:1.72; }.campus-route figure { position:relative; min-height:315px; margin:0; }.campus-route figure::after { content:""; position:absolute; inset:40% 0 0; background:linear-gradient(transparent,rgba(2,37,17,.75)); }.campus-route img { width:100%; height:100%; object-fit:cover; }.campus-route figcaption { position:absolute; z-index:1; right:20px; bottom:18px; left:20px; color:#fff; font:700 1.02rem/1.35 "Fraunces",serif; }.campus-route-line { display:flex; align-items:center; gap:12px; max-width:430px; margin-top:31px; color:#fff; font-size:.78rem; font-weight:800; }.campus-route-line span,.campus-route-line b { display:inline-flex; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.13); white-space:nowrap; }.campus-route-line i { flex:1; height:2px; background:repeating-linear-gradient(90deg,#ffcf3c 0 10px,transparent 10px 16px); }
.campus-explorer { padding-top:4px; }.campus-explorer-head { display:flex; align-items:end; justify-content:space-between; gap:24px; }.campus-explorer-head h3 { margin:6px 0 0; color:var(--green-deep); font:700 clamp(1.85rem,3vw,2.55rem)/1.1 "Fraunces",serif; }.campus-explorer-head > p { max-width:420px; margin:0; color:var(--muted); font-size:.9rem; line-height:1.6; }.campus-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }.campus-filters button { display:inline-flex; align-items:center; gap:8px; min-height:38px; cursor:pointer; padding:8px 13px; border:1px solid #bedfc2; border-radius:999px; color:#28663a; background:#fff; font:800 .75rem/1 "Inter",sans-serif; }.campus-filters button span { display:grid; min-width:20px; height:20px; place-items:center; border-radius:999px; background:#eaf5ea; font-size:.66rem; }.campus-filters button.is-active,.campus-filters button:hover,.campus-filters button:focus-visible { color:#fff; background:#1c7436; border-color:#1c7436; outline:none; }.campus-filters button.is-active span,.campus-filters button:hover span,.campus-filters button:focus-visible span { color:#1c5d30; background:#ffce3b; }.campus-result { margin:15px 0; color:#66766c; font-size:.78rem; }.campus-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.campus-card { min-height:218px; display:flex; flex-direction:column; padding:20px; border:1px solid #c5e0c8; border-radius:16px; background:#fff; box-shadow:0 7px 17px rgba(5,55,26,.05); transition:transform .2s ease,box-shadow .2s ease; }.campus-card:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(5,55,26,.11); }.campus-card[hidden] { display:none; }.campus-card-top { display:flex; align-items:center; gap:8px; }.campus-marker { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; color:#1d7337; background:#e7f4e8; font-size:1.1rem; }.campus-card[data-campus-type="rural"] .campus-marker { color:#b77a00; background:#fff2d4; }.campus-type { color:#357646; font-size:.67rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }.campus-card[data-campus-type="rural"] .campus-type { color:#a76f00; }.campus-card-top small { margin-left:auto; color:#a1ada4; font-size:.68rem; font-weight:800; }.campus-card h4 { margin:19px 0 7px; color:var(--green-deep); font:700 1.32rem/1.2 "Fraunces",serif; }.campus-card > p { margin:0; color:#64746a; font-size:.8rem; line-height:1.55; }.campus-card footer { display:grid; gap:2px; margin-top:auto; padding-top:15px; border-top:1px solid #e0ece1; }.campus-card footer span { color:#9a7000; font-size:.63rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.campus-card footer strong { color:#265f35; font-size:.76rem; }.campus-update-note { display:flex; gap:12px; align-items:flex-start; margin-top:24px; padding:18px 20px; border:1px solid #bdddbf; border-radius:15px; background:#f1f8f1; }.campus-update-note > span { color:#c18800; font-size:1.3rem; }.campus-update-note strong { color:#1b5f31; font-size:.88rem; }.campus-update-note p { margin:4px 0 0; color:#617169; font-size:.79rem; line-height:1.55; }
.leadership-intro { margin-bottom:28px; }.leadership-intro h3 { max-width:690px; margin:7px 0 12px; color:var(--green-deep); font:700 clamp(2rem,4vw,3rem)/1.08 "Fraunces",serif; letter-spacing:-.025em; }.leadership-intro > p:last-child { max-width:730px; color:var(--muted); line-height:1.7; }
.rector-profile { display:grid; grid-template-columns:118px 1fr; gap:25px; align-items:center; padding:25px 28px; border:1px solid #b9ddbd; border-radius:20px; background:linear-gradient(105deg,#ecf7ed,#fff); box-shadow:0 10px 24px rgba(5,55,26,.07); }.leadership-photo { position:relative; width:88px; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:2px dashed #90bf98; border-radius:50%; color:#1a6b34; background:radial-gradient(circle at 50% 35%,#fff 0 17%,#e9f5e9 18% 100%); }.leadership-photo > span { display:grid; width:46px; height:46px; place-items:center; border-radius:50%; color:#fff; background:#27783a; font:800 1.05rem/1 "Inter",sans-serif; }.leadership-photo small { position:absolute; inset:auto 2px 8px; color:#487d54; font-size:.5rem; font-weight:800; letter-spacing:.04em; text-align:center; text-transform:uppercase; }.leadership-photo-rector { width:110px; border-style:solid; border-color:#2d7e40; }.leadership-photo-rector > span { width:62px; height:62px; font-size:1.35rem; }.rector-profile-copy > p,.coordinator-card-heading > p { margin:0 0 5px; color:#207137; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.rector-profile-copy h3 { margin:0; color:var(--green-deep); font:700 clamp(1.45rem,3vw,2.1rem)/1.15 "Fraunces",serif; }.rector-profile-copy > span { display:block; margin-top:7px; color:#617269; font-size:.93rem; }
.leadership-contact { display:flex; flex-wrap:wrap; gap:9px; margin-top:15px; }.leadership-contact a { display:inline-flex; align-items:center; min-height:32px; padding:7px 10px; border:1px solid #c4dfc8; border-radius:9px; color:#176b34; background:#fff; font-size:.75rem; font-weight:700; overflow-wrap:anywhere; }.leadership-contact a:hover,.leadership-contact a:focus-visible { color:#fff; background:#207137; outline:none; }
.coordination-section { margin:42px 0 50px; }.coordination-heading { display:flex; align-items:end; justify-content:space-between; gap:26px; margin-bottom:20px; }.coordination-heading h3 { margin:6px 0 0; color:var(--green-deep); font:700 clamp(1.7rem,3vw,2.35rem)/1.1 "Fraunces",serif; }.coordination-heading > p { max-width:410px; margin:0; color:var(--muted); font-size:.88rem; line-height:1.6; }.coordination-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.coordinator-card { display:flex; min-width:0; flex-direction:column; padding:24px; border:1px solid #bedfc2; border-radius:18px; background:#fff; box-shadow:0 8px 20px rgba(5,55,26,.06); }.coordinator-card .leadership-photo { margin-bottom:18px; }.coordinator-card-heading h4 { margin:0; color:var(--green-deep); font:700 1.3rem/1.25 "Fraunces",serif; }.coordinator-card .leadership-contact { display:grid; gap:7px; margin:18px 0; }.coordinator-card .leadership-contact a { width:100%; }.campus-responsibility { margin-top:auto; padding-top:16px; border-top:1px solid #deebdf; }.campus-responsibility > p { margin:0 0 8px; color:#8e6500; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }.campus-responsibility ul { display:grid; gap:6px; margin:0; padding:0; list-style:none; }.campus-responsibility li { display:flex; justify-content:space-between; gap:8px; color:#40584a; font-size:.78rem; line-height:1.35; }.campus-responsibility li b { flex:0 0 auto; color:#1d6a34; font-size:.68rem; white-space:nowrap; }.campus-responsibility > strong { display:flex; justify-content:space-between; gap:10px; margin-top:14px; padding-top:12px; border-top:1px dashed #b5d7b9; color:var(--green-deep); font-size:.8rem; }.campus-responsibility > strong em { color:#bb8100; font-style:normal; }
.rectors-intro { margin-bottom:28px; }.rectors-intro h3 { max-width:690px; margin:7px 0 12px; color:var(--green-deep); font:700 clamp(2rem,4vw,3rem)/1.08 "Fraunces",serif; letter-spacing:-.025em; }.rectors-intro > p:last-child { max-width:690px; color:var(--muted); line-height:1.7; }
.rectors-carousel { overflow:hidden; padding:25px; border-radius:22px; color:#fff; background:linear-gradient(135deg,#082f1c,#0c522b); box-shadow:0 18px 45px rgba(3,45,22,.18); }.rectors-carousel-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }.rectors-carousel-head span { color:#ffcf3d; font-size:.7rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }.rectors-carousel h3 { margin:5px 0 0; font:700 clamp(1.6rem,3vw,2.2rem)/1 "Fraunces",serif; }.rectors-carousel-controls { display:flex; gap:8px; }.rectors-carousel-controls button { display:grid; width:39px; height:39px; cursor:pointer; place-items:center; border:1px solid rgba(255,255,255,.36); border-radius:50%; color:#fff; background:transparent; font-size:1.2rem; }.rectors-carousel-controls button:hover,.rectors-carousel-controls button:focus-visible { color:#17371f; background:#ffd143; outline:none; }
.rectors-viewport { overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:#e9af18 transparent; outline:none; }.rectors-viewport:focus-visible { outline:2px solid #ffd143; outline-offset:4px; }.rectors-track { display:flex; gap:18px; padding:3px 0 14px; }.rector-card { position:relative; flex:0 0 calc((100% - 36px)/3); min-height:188px; display:flex; flex-direction:column; justify-content:space-between; padding:22px; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.07); scroll-snap-align:start; }.rector-index { color:#f9ca37; font-size:.72rem; font-weight:800; letter-spacing:.1em; }.rector-card-copy p { margin:0 0 6px; color:rgba(255,255,255,.7); font-size:.78rem; }.rector-card h4 { margin:0; color:#fff; font:700 1.14rem/1.25 "Fraunces",serif; }.rector-role { align-self:flex-start; padding:6px 9px; border-radius:999px; color:#1a652f; background:#dff0e0; font-size:.68rem; font-weight:800; }.rector-interim .rector-role,.rector-founder .rector-role { color:#9c5700; background:#fff0d8; }.rector-current { border-color:#f5bd28; background:linear-gradient(130deg,rgba(255,207,54,.26),rgba(255,255,255,.11)); }.rector-current::after { content:"Rector actual"; position:absolute; top:18px; right:17px; padding:5px 8px; border-radius:999px; color:#1c361c; background:#ffcd32; font-size:.62rem; font-weight:900; text-transform:uppercase; }.rector-current .rector-role { color:#17371f; background:#ffcd32; }.rectors-carousel-note { margin:12px 0 0; color:rgba(255,255,255,.66); font-size:.72rem; }
@media (max-width:900px) { .campus-route { grid-template-columns:1fr; }.campus-route figure { min-height:260px; }.campus-grid { grid-template-columns:repeat(2,1fr); }.campus-explorer-head { align-items:start; flex-direction:column; }.coordination-grid { grid-template-columns:1fr; }.coordinator-card { display:grid; grid-template-columns:100px 1fr; column-gap:18px; }.coordinator-card .leadership-photo { grid-row:span 2; }.coordinator-card .leadership-contact,.coordinator-card .campus-responsibility { grid-column:2; }.coordination-heading { align-items:start; flex-direction:column; }.document-archive-intro { align-items:start; flex-direction:column; }.rector-card { flex-basis:calc((100% - 18px)/2); } }
@media (max-width:560px) { .campus-stat-strip { grid-template-columns:repeat(2,1fr); }.campus-route-copy { padding:28px 22px; }.campus-grid { grid-template-columns:1fr; }.campus-route figure { min-height:225px; }.campus-update-note { padding:16px; }.rector-profile { grid-template-columns:1fr; padding:22px; }.leadership-photo-rector { width:94px; }.coordinator-card { display:flex; padding:21px; }.coordinator-card .leadership-photo { grid-row:auto; }.coordinator-card .leadership-contact,.coordinator-card .campus-responsibility { grid-column:auto; }.document-year-folder summary { padding:17px; }.document-year-content { padding:17px; }.document-list article { align-items:flex-start; flex-direction:column; gap:10px; }.rectors-carousel { padding:19px; }.rector-card { flex-basis:87%; min-height:174px; } }

@media (max-width: 1040px) {
  .header-actions .search-form, .header-actions .button-small:not(.login-button) { display: none; }
  .carbonell-menu a { padding-inline: 8px; font-size: 11px; }
  .hero-grid { grid-template-columns: 1fr .65fr; gap: 30px; }
  .hero-stats { grid-template-columns: repeat(2, 1fr); }
  .transparency-grid { grid-template-columns: repeat(2, 1fr); }
  .contact-cards, .service-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 780px) {
  .utility-location { display: none; }
  .utility-inner { overflow-x: auto; }
  .utility-inner nav { min-width: max-content; }
  .identity-inner { min-height: 64px; }
  .brand { min-width: 0; }
  .brand strong { font-size: 15px; }
  .icon-button { display: none; }
  .menu-toggle { display: block; }
  .primary-navigation { display: none; position: absolute; left: 0; right: 0; box-shadow: var(--shadow); }
  .primary-navigation.is-open { display: block; }
  .carbonell-menu { display: block; padding-block: 9px; }
  .carbonell-menu a { min-height: 44px; padding-inline: 16px; font-size: 14px; }
  .carbonell-menu .sub-menu { position: static; display: block; margin-left: 16px; padding: 0 0 6px; border: 0; box-shadow: none; }
  .hero { min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; padding-top: 68px; padding-bottom: 92px; }
  .hero h1 { font-size: clamp(43px, 13vw, 64px); }
  .heritage-card { display: none; }
  .hero-stats { margin-top: 27px; }
  .quick-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-grid a:nth-child(2) { border-right: 0; }
  .quick-grid a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .split-intro, .agenda-grid { grid-template-columns: 1fr; gap: 32px; }
  .contact-layout, .citizen-layout { grid-template-columns: 1fr; }
  .section-nav { position: static; }
  .section-nav ul { display: grid; grid-template-columns: 1fr 1fr; }
  .news-grid, .content-grid { grid-template-columns: 1fr; }
  .news-card, .related-news .news-card { grid-column: 1; }
  .news-featured { display: block; min-height: 0; }
  .news-featured .news-media { min-height: 260px; aspect-ratio: 16 / 10; }
  .news-featured .news-body { padding: 30px; }
  .news-article-hero { padding: 68px 0 88px; }
  .article-heading h1 { font-size: clamp(40px, 12vw, 60px); }
  .article-footer { align-items: flex-start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; }
}

@media (max-width: 520px) {
  .container { width: min(calc(100% - 24px), var(--container)); }
  .utility-inner nav { gap: 14px; }
  .brand small { display: none; }
  .brand-mark { width: 40px; }
  .header-actions { gap: 5px; }
  .login-button { min-height: 36px; padding-inline: 12px; font-size: 11px; }
  .hero-grid { padding-top: 50px; }
  .hero-kicker { font-size: 9px; }
  .hero-lead { font-size: 15px; }
  .hero-actions .button { width: 100%; }
  .hero-stats { gap: 8px; }
  .hero-stats div { padding: 11px; }
  .hero-stats dd { font-size: 21px; }
  .quick-access { margin-top: -20px; }
  .quick-grid a { grid-template-columns: 36px 1fr; min-height: 86px; padding: 13px 10px; }
  .quick-grid span { width: 34px; height: 34px; }
  .quick-grid strong { font-size: 12px; }
  .section { padding: 64px 0; }
  .section-heading { align-items: start; flex-direction: column; }
  .transparency-grid { grid-template-columns: 1fr; }
  .contact-cards, .service-grid, .document-grid, .form-grid, .section-nav ul { grid-template-columns: 1fr; }
  .form-wide { grid-column: auto; }
  .event-row { grid-template-columns: 56px 1fr; }
  .event-row b { display: none; }
  .footer-bottom { flex-direction: column; }
}
/* Cierre de la portada: voz institucional, comunidad y rutas útiles. */
.home-rector-section { padding-bottom: 34px; }
.home-rector-message { position:relative; overflow:hidden; padding:clamp(34px,5vw,64px); border:1px solid #c4e1c6; border-radius:26px; background:radial-gradient(circle at 94% 0,rgba(255,206,59,.22),transparent 22%),linear-gradient(115deg,#f9fdf9,#fffdf6); box-shadow:0 16px 42px rgba(8,68,29,.09); }
.home-rector-message::before { content:""; position:absolute; inset:0 auto 0 0; width:6px; background:linear-gradient(#f5b301,#2d813f); }
.home-rector-copy { position:relative; z-index:1; max-width:980px; }
.home-rector-label { display:inline-flex; align-items:center; gap:8px; margin:0 0 18px; padding:7px 12px; border-radius:999px; color:#9b6800; background:#fff1cc; font-size:.69rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.home-rector-message blockquote { max-width:1050px; margin:0; color:#233d2a; font:italic 500 clamp(1.45rem,2.7vw,2.35rem)/1.5 "Fraunces",serif; }
.home-rector-message footer { display:flex; align-items:center; gap:14px; margin-top:27px; }
.home-rector-monogram { display:grid; width:53px; height:53px; flex:0 0 53px; place-items:center; border-radius:50%; color:#fff; background:#237438; font:800 1rem/1 "Inter",sans-serif; }
.home-rector-message footer strong,.home-rector-message footer small { display:block; }.home-rector-message footer strong { color:#1a5e2c; font:700 1rem/1.25 "Fraunces",serif; }.home-rector-message footer small { margin-top:4px; color:#68786a; font-size:.72rem; }
.home-rector-quote { position:absolute; top:-20px; right:clamp(20px,4vw,58px); color:rgba(241,179,1,.15); font:900 clamp(9rem,18vw,17rem)/1 "Fraunces",serif; }
.social-hub { overflow:hidden; padding:clamp(50px,7vw,88px) 0; color:#fff; background:radial-gradient(circle at 8% 110%,rgba(244,180,0,.22),transparent 24%),radial-gradient(circle at 92% 10%,rgba(69,143,77,.3),transparent 25%),#073b19; }
.social-hub-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(35px,6vw,80px); align-items:center; }.social-hub h2 { max-width:480px; margin:8px 0 13px; color:#fff; font-size:clamp(2.15rem,4vw,3.55rem); }.social-hub-copy > p:last-child { max-width:500px; margin:0; color:#d0e2d2; line-height:1.7; }
.social-hub-links { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.social-card { min-height:175px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:22px; border:1px solid rgba(255,255,255,.17); border-radius:18px; color:#fff; background:rgba(255,255,255,.06); text-decoration:none; transition:transform .2s ease,background .2s ease,border-color .2s ease; }.social-card:hover,.social-card:focus-visible { transform:translateY(-5px); border-color:rgba(255,215,63,.8); background:rgba(255,255,255,.12); outline:none; }.social-card > span { display:grid; width:45px; height:45px; place-items:center; margin-bottom:18px; border-radius:14px; color:#fff; font:900 1.55rem/1 Arial,sans-serif; }.social-facebook > span { background:#1877f2; }.social-instagram > span { background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045); }.social-youtube > span { background:#e50914; font-size:1.1rem; }.social-card strong { font:700 1.1rem/1.2 "Fraunces",serif; }.social-card small { margin-top:6px; color:#b9d0bd; font-size:.71rem; }.social-card small b { margin-left:5px; color:#ffcf3a; }
.home-interest { padding-top:76px; }.home-interest-heading { max-width:690px; margin:0 auto 34px; text-align:center; }.home-interest-heading h2 { margin:8px 0 11px; color:var(--green-deep); font-size:clamp(2rem,4vw,3rem); }.home-interest-heading > p:last-child { margin:0; color:var(--muted); }.home-interest-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.home-interest-grid a { display:grid; grid-template-columns:45px 1fr; grid-template-rows:auto auto; column-gap:14px; align-items:center; min-height:88px; padding:17px; border:1px solid #c5e2c8; border-radius:15px; color:var(--green-deep); background:#fff; text-decoration:none; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }.home-interest-grid a:hover,.home-interest-grid a:focus-visible { transform:translateY(-3px); border-color:#84b88a; box-shadow:0 12px 24px rgba(9,67,29,.1); outline:none; }.home-interest-grid a > span { grid-row:span 2; display:grid; width:43px; height:43px; place-items:center; border-radius:12px; color:#fff; background:#25773a; font-size:1.1rem; }.home-interest-grid b { font:700 .91rem/1.24 "Fraunces",serif; }.home-interest-grid small { margin-top:3px; color:#68786a; font-size:.68rem; }
@media (max-width:900px) { .social-hub-grid { grid-template-columns:1fr; }.home-interest-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px) { .home-rector-section { padding-bottom:18px; }.home-rector-message { padding:34px 24px 31px; border-radius:21px; }.home-rector-message blockquote { font-size:1.34rem; line-height:1.55; }.home-rector-message footer { align-items:flex-start; }.home-rector-message footer small { line-height:1.5; }.home-rector-quote { right:17px; font-size:9rem; }.social-hub { padding:52px 0; }.social-hub-links { grid-template-columns:1fr; }.social-card { min-height:118px; display:grid; grid-template-columns:50px 1fr; grid-template-rows:auto auto; column-gap:14px; padding:19px; }.social-card > span { grid-row:span 2; margin:0; }.social-card small { margin-top:3px; }.home-interest { padding-top:56px; }.home-interest-grid { grid-template-columns:1fr; } }

.alumni-home-section{padding-top:20px}.alumni-home-banner{display:grid;grid-template-columns:1fr 1.05fr;gap:45px;align-items:center;overflow:hidden;padding:clamp(32px,5vw,55px);border-radius:25px;color:#fff;background:radial-gradient(circle at 76% 0,rgba(255,203,48,.18),transparent 24%),radial-gradient(circle at 4% 100%,rgba(76,158,83,.26),transparent 28%),#0b4b20}.alumni-home-copy h2{max-width:560px;margin:8px 0 14px;color:#fff;font-size:clamp(2rem,3.8vw,3.3rem)}.alumni-home-copy>p:last-of-type{max-width:560px;margin:0;color:#d5e5d7;line-height:1.7}.alumni-home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.alumni-home-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0}.alumni-home-facts div{min-height:112px;padding:18px 12px;border:1px solid rgba(255,255,255,.15);border-radius:16px;background:rgba(255,255,255,.06);text-align:center}.alumni-home-facts dt{color:#ffcf3b;font:800 clamp(1.7rem,3vw,2.35rem)/1 "Fraunces",serif}.alumni-home-facts dd{margin:8px 0 0;color:#fff;font-size:.74rem;font-weight:800}.alumni-home-facts small{display:block;margin-top:5px;color:#b9d3bd;font-size:.63rem;font-weight:500}.footer-contact li{display:flex;align-items:flex-start;gap:10px;padding-left:0;line-height:1.55}.footer-contact-icon{display:grid;width:25px;height:25px;flex:0 0 25px;place-items:center;margin-top:-2px;border:1px solid rgba(117,205,123,.42);border-radius:8px;color:#79d47c;background:rgba(61,142,66,.2);font-size:15px;font-weight:800;line-height:1}.footer-contact li>span:last-child,.footer-contact li>a{padding-top:1px}@media(max-width:900px){.alumni-home-banner{grid-template-columns:1fr}.alumni-home-facts{max-width:620px}}@media(max-width:620px){.alumni-home-banner{padding:31px 22px}.alumni-home-facts{grid-template-columns:1fr}.alumni-home-facts div{min-height:78px}.alumni-home-actions{flex-direction:column;align-items:flex-start}}

/* Archivo editorial de noticias: destacado, compacto y filtrable. */
.news-archive-hero { position: relative; overflow: hidden; padding: 78px 0 88px; background: radial-gradient(circle at 86% 18%, rgba(245,179,1,.18), transparent 22%), linear-gradient(125deg, #062d13, #145a24 72%, #0a3e1c); }
.news-archive-hero::after { content: "N"; position: absolute; right: 4vw; bottom: -11vw; color: rgba(255,255,255,.045); font: 800 min(38vw, 520px)/.8 "Fraunces",serif; }
.news-archive-hero-inner { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 40px; }
.news-archive-hero h1 { max-width: 800px; margin: 8px 0 0; letter-spacing: -.045em; }
.news-archive-mark { display: grid; width: 138px; height: 138px; flex: 0 0 138px; place-items: center; align-content: center; gap: 5px; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; color: #fff; background: rgba(255,255,255,.07); transform: rotate(-8deg); }
.news-archive-mark span { font: 800 2.8rem/1 "Fraunces",serif; }.news-archive-mark strong { color: var(--gold-light); font-size: .55rem; letter-spacing: .18em; }
.news-archive-section { padding-top: 48px; background: #f8faf7; }
.news-filter-bar { display: flex; align-items: center; gap: 9px; margin-bottom: 34px; overflow-x: auto; padding-bottom: 5px; scrollbar-width: thin; }
.news-filter-label { flex: 0 0 auto; margin-right: 7px; color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.news-filter { flex: 0 0 auto; padding: 9px 14px; border: 1px solid #cbdccb; border-radius: 999px; color: var(--green-dark); background: #fff; font-size: .78rem; font-weight: 800; text-decoration: none; transition: .2s ease; }
.news-filter:hover,.news-filter:focus-visible,.news-filter.is-active { border-color: var(--green-dark); color: #fff; background: var(--green-dark); outline: none; }
.news-feed-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.news-feed-grid .news-card { grid-column: auto; }
.news-card-featured { grid-column: 1 / -1 !important; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(320px,.88fr); min-height: 390px; border: 0; border-radius: 24px; background: var(--green-deep); box-shadow: 0 20px 55px rgba(10,44,17,.17); }
.news-card-featured .news-media { height: 100%; min-height: 390px; aspect-ratio: auto; }.news-card-featured .news-body { display: flex; flex-direction: column; justify-content: center; padding: clamp(30px,4.5vw,56px); }
.news-card-featured .news-source { color: var(--gold-light); }.news-card-featured .news-date,.news-card-featured .news-body p { color: #c7d6c9; }.news-card-featured .news-body h2 { color: #fff; font-size: clamp(2rem,3.4vw,3.2rem); line-height: 1.08; }.news-card-featured .news-body h2 a { color: inherit; }.news-card-featured .news-read { color: #fff; }.news-card-featured .news-read span { color: var(--green-deep); background: var(--gold); }
.news-card-compact { display: grid; grid-template-columns: minmax(170px,.78fr) minmax(0,1.22fr); align-items: stretch; min-height: 210px; border-radius: 18px; box-shadow: 0 8px 25px rgba(10,44,17,.06); }.news-card-compact .news-media { height: 100%; min-height: 210px; aspect-ratio: auto; }.news-card-compact .news-body { padding: 22px; }.news-card-compact .news-body h2 { font-size: 1.35rem; line-height: 1.18; }.news-card-compact .news-body p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.news-pagination { margin-top: 35px; }.news-pagination .nav-links { display: flex; justify-content: center; gap: 8px; }.news-pagination a,.news-pagination span { padding: 10px 14px; border: 1px solid #cbdccb; border-radius: 9px; color: var(--green-dark); background: #fff; font-size: .8rem; font-weight: 800; text-decoration: none; }.news-pagination .current,.news-pagination a:hover { color: #fff; background: var(--green-dark); }
@media (max-width:900px) { .news-archive-hero-inner { align-items: start; flex-direction: column; }.news-archive-mark { display: none; }.news-card-featured { display: block; min-height: 0; }.news-card-featured .news-media { min-height: 280px; aspect-ratio: 16 / 9; }.news-card-featured .news-body { padding: 30px; } }
@media (max-width:700px) { .news-feed-grid { grid-template-columns: 1fr; }.news-card-compact { grid-template-columns: 130px 1fr; min-height: 170px; }.news-card-compact .news-media { min-height: 170px; }.news-card-compact .news-body { padding: 17px; }.news-card-compact .news-body h2 { font-size: 1.1rem; }.news-card-compact .news-body p { display: none; }.news-card-compact .news-date { display: none; } }

/* Acceso docente a evaluación anual. */
.teacher-access-section { padding: 28px 0 10px; background: #f8faf7; }
.teacher-access-card { position: relative; display: grid; grid-template-columns: 58px minmax(0,1fr) auto; gap: 22px; align-items: center; padding: 25px 28px; overflow: hidden; border: 1px solid #b7d9bb; border-radius: 20px; background: linear-gradient(110deg,#edf8ee,#fffaf0); box-shadow: 0 12px 30px rgba(10,62,25,.08); }
.teacher-access-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: linear-gradient(#f5b301,#28773b); }
.teacher-access-icon { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 17px; color: #fff; background: var(--green-dark); font-size: 1.8rem; box-shadow: 0 8px 18px rgba(27,94,32,.2); }
.teacher-access-copy .eyebrow { margin-bottom: 5px; }.teacher-access-copy h2 { margin: 0 0 5px; color: var(--green-deep); font: 700 clamp(1.25rem,2vw,1.65rem)/1.15 "Fraunces",serif; }.teacher-access-copy p:not(.eyebrow) { max-width: 760px; margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.55; }.teacher-access-button { white-space: nowrap; }
@media (max-width:700px) { .teacher-access-section { padding: 20px 0 0; }.teacher-access-card { grid-template-columns: 48px 1fr; gap: 15px; padding: 21px 18px; }.teacher-access-icon { width: 48px; height: 48px; border-radius: 14px; font-size: 1.4rem; }.teacher-access-copy { grid-column: 2; }.teacher-access-button { grid-column: 2; justify-self: start; } }

