:root {
  --background: #f5f1e9;
  --foreground: #0a1a29;
  --card: #ffffff;
  --card-foreground: #0a1a29;
  --popover: #ffffff;
  --popover-foreground: #0a1a29;
  --primary: #0c3558;
  --primary-foreground: #f9f6ef;
  --secondary: #e8e0d0;
  --secondary-foreground: #0a1a29;
  --muted: #ece8df;
  --muted-foreground: #66717b;
  --accent: #d2aa4c;
  --accent-foreground: #071a2d;
  --border: #d9d3c7;
  --input: #d9d3c7;
  --ring: #d2aa4c;
  --destructive: #a33d36;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
.loading-screen { min-height: 100vh; display: grid; place-content: center; gap: 20px; text-align: center; color: #b9c7d2; background: #061423; }
.loading-screen img { width: 230px; margin: auto; }
.loading-screen span { font-size: 13px; }
.api-error { min-height: 60vh; display: grid; place-content: center; gap: 15px; text-align: center; padding: 40px; }
.api-error h1 { margin: 0; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.section-pad { padding-block: 110px; }

.hero {
  min-height: 100vh;
  overflow: hidden;
  color: #f7f3ea;
  background:
    radial-gradient(circle at 80% 15%, rgba(35, 89, 129, .36), transparent 36%),
    linear-gradient(135deg, #061423 0%, #09233b 60%, #071a2d 100%);
}
.site-header {
  height: 96px;
  display: grid;
  grid-template-columns: 190px 1fr auto;
  align-items: center;
  gap: 36px;
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.brand img { width: 180px; height: auto; }
.site-header nav { display: flex; justify-content: center; gap: 30px; font-size: 14px; color: #d7e0e8; }
.site-header nav a { position: relative; padding-block: 12px; }
.site-header nav a::after { content: ''; position: absolute; right: 0; bottom: 5px; width: 0; height: 2px; background: #d2aa4c; transition: width .25s ease; }
.site-header nav a:hover::after { width: 100%; }
.header-cta { display: inline-flex; align-items: center; gap: 9px; padding: 11px 16px; border: 1px solid rgba(255,255,255,.28); font-size: 13px; }
.header-cta svg { width: 16px; }

.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 72px; align-items: center; min-height: calc(100vh - 96px); padding-block: 70px; }
.eyebrow, .section-kicker { font-size: 12px; font-weight: 700; letter-spacing: .06em; color: #aa8230; }
.eyebrow { display: flex; align-items: center; gap: 10px; color: #dfbe70; }
.eyebrow span { width: 34px; height: 1px; background: currentColor; }
.hero h1 { margin: 22px 0; max-width: 650px; font-size: clamp(46px, 5vw, 74px); line-height: 1.16; letter-spacing: -.04em; }
.hero-lead { max-width: 620px; color: #c9d4dd; font-size: 18px; line-height: 2; }
.hero-actions { display: flex; gap: 14px; margin-top: 34px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 11px; padding: 0 22px; font-weight: 700; font-size: 14px; transition: transform .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); }
.button svg { width: 18px; }
.button-gold { color: #081a2b; background: #d2aa4c; }
.button-ghost { border: 1px solid rgba(255,255,255,.25); color: #eef2f5; }
.hero-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin: 48px 0 0; padding-top: 28px; border-top: 1px solid rgba(255,255,255,.14); }
.hero-stats div { padding-inline: 22px; border-inline-start: 1px solid rgba(255,255,255,.13); }
.hero-stats div:first-child { padding-inline-start: 0; border: 0; }
.hero-stats dt { font-size: 26px; font-weight: 700; color: #fff; }
.hero-stats dd { margin: 7px 0 0; color: #9fb0bf; font-size: 12px; line-height: 1.6; }
.hero-visual { position: relative; min-height: 610px; }
.hero-visual > img { width: 100%; height: 610px; object-fit: cover; filter: saturate(.85) contrast(1.03); }
.hero-visual::before { content: ''; position: absolute; inset: -18px 18px 18px -18px; border: 1px solid rgba(210,170,76,.5); z-index: 0; }
.hero-visual > img, .hero-card, .location-card { position: relative; z-index: 1; }
.hero-card, .location-card { position: absolute; display: flex; align-items: center; gap: 13px; background: rgba(7,26,45,.94); backdrop-filter: blur(12px); box-shadow: 0 24px 70px rgba(0,0,0,.28); }
.hero-card { right: -34px; top: 38px; padding: 18px 20px; }
.location-card { left: -32px; bottom: 38px; padding: 17px 19px; }
.hero-card svg, .location-card svg { width: 21px; color: #d2aa4c; }
.hero-card div, .location-card div { display: grid; gap: 5px; }
.hero-card strong, .location-card strong { font-size: 13px; }
.hero-card span, .location-card span { color: #9fb0bf; font-size: 11px; }

.section-kicker { margin: 0 0 22px; }
.section-kicker.light { color: #d8b965; }
.about-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 100px; align-items: start; }
.about-grid h2, .section-head h2, .contact-teaser h2 { margin: 0; font-size: clamp(34px, 4vw, 54px); line-height: 1.35; letter-spacing: -.035em; }
.about-copy p { margin: 6px 0 28px; color: #4f5e6a; font-size: 17px; line-height: 2; }
.about-copy a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; color: #0c3558; border-bottom: 1px solid #c4a04c; padding-bottom: 7px; }
.about-copy svg { width: 17px; }

.opportunity-section { color: #f5f1e9; background: #081b2d; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 46px; }
.section-head > p { max-width: 390px; margin: 0; color: #9fb0bf; line-height: 1.9; }
.opportunity-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid rgba(255,255,255,.14); }
.opportunity-card { position: relative; min-height: 430px; overflow: hidden; border-inline-end: 1px solid rgba(255,255,255,.14); }
.opportunity-card:last-child { border: 0; }
.opportunity-card > img, .opportunity-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.opportunity-card > img { object-fit: cover; opacity: .7; transition: transform .55s ease, opacity .4s ease; }
.opportunity-overlay { background: linear-gradient(to top, rgba(5,18,31,.98) 5%, rgba(5,18,31,.17) 78%); }
.opportunity-card:hover > img { transform: scale(1.045); opacity: .88; }
.opportunity-number { position: absolute; top: 22px; right: 22px; font-size: 12px; color: rgba(255,255,255,.6); }
.opportunity-icon { position: absolute; top: 20px; left: 20px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.25); color: #e0be68; }
.opportunity-icon svg { width: 18px; }
.opportunity-content { position: absolute; z-index: 2; right: 24px; left: 24px; bottom: 26px; }
.opportunity-content h3 { margin: 0 0 10px; font-size: 23px; }
.opportunity-content p { margin: 0; color: #bac5ce; font-size: 13px; line-height: 1.8; }

.contact-teaser { padding-block: 70px; color: #f6f2e9; background: #0c3558; }
.contact-grid { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.contact-grid h2 { max-width: 760px; font-size: clamp(30px, 4vw, 48px); }

.program-section { background: #f5f1e9; }
.program-head { color: #0a1a29; }
.program-head > p { color: #5b6772; }
.program-days { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #cfc8ba; border-bottom: 1px solid #cfc8ba; }
.program-days > article { padding: 38px 42px 44px; }
.program-days > article + article { border-inline-start: 1px solid #cfc8ba; }
.program-days header { display: flex; align-items: end; justify-content: space-between; padding-bottom: 24px; border-bottom: 2px solid #0c3558; }
.program-days header span { color: #a17a27; font-size: 12px; font-weight: 700; }
.program-days header strong { font-size: 22px; }
.program-days ol { margin: 0; padding: 0; list-style: none; }
.program-days li { display: grid; grid-template-columns: 72px 1fr; gap: 22px; padding-block: 23px; border-bottom: 1px solid #d9d3c7; }
.program-days li:last-child { border: 0; }
.program-days time { direction: ltr; color: #a17a27; font-weight: 700; font-size: 13px; }
.program-days h3 { margin: 0 0 7px; font-size: 17px; }
.program-days li p { margin: 0; color: #6a747e; font-size: 13px; line-height: 1.7; }

.values-section { background: #0c3558; color: #f5f1e9; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(255,255,255,.18); }
.values-grid > div { min-height: 265px; padding: 34px 34px 10px; border-inline-end: 1px solid rgba(255,255,255,.18); }
.values-grid > div:last-child { border: 0; }
.values-grid span { font-size: 12px; color: #d8b965; }
.values-grid h2 { margin: 58px 0 14px; font-size: 32px; }
.values-grid p { max-width: 290px; margin: 0; color: #c2cdd6; line-height: 1.9; font-size: 14px; }

.latest-section { background: #fff; }
.latest-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d7d1c5; }
.latest-card { padding: 28px; border-inline-end: 1px solid #d7d1c5; }
.latest-card:first-child { padding-inline-start: 0; }
.latest-card:last-child { border: 0; padding-inline-end: 0; }
.latest-card > a { display: block; height: 220px; overflow: hidden; }
.latest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.latest-card:hover img { transform: scale(1.035); }
.latest-card > div { padding-top: 22px; }
.latest-card > div > span { color: #a17a27; font-size: 11px; font-weight: 700; }
.latest-card h3 { min-height: 64px; margin: 11px 0; font-size: 21px; line-height: 1.55; }
.latest-card p { min-height: 70px; margin: 0 0 20px; color: #67727c; font-size: 13px; line-height: 1.75; }
.read-more { display: inline-flex; align-items: center; gap: 8px; color: #0c3558; font-size: 13px; font-weight: 700; }
.read-more svg { width: 16px; }

.partners-section { padding-block: 36px; background: #ece7dc; }
.partners-row { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.partners-row > p { color: #6b6f72; font-size: 13px; font-weight: 700; }
.partners-row > div { display: flex; align-items: center; gap: 46px; }
.partners-row img { width: 92px; height: 64px; object-fit: contain; mix-blend-mode: multiply; }

.contact-section { background: #f5f1e9; }
.contact-form-grid { display: grid; grid-template-columns: .82fr 1.18fr; gap: 100px; }
.contact-form-grid h2 { margin: 0; font-size: clamp(34px, 4vw, 50px); line-height: 1.4; }
.contact-form-grid > div > p:not(.section-kicker) { color: #66717b; line-height: 1.9; }
.contact-direct { display: grid; gap: 8px; margin-top: 28px; direction: ltr; justify-content: end; text-align: right; color: #0c3558; font-weight: 700; }
.contact-form { display: grid; gap: 23px; padding: 38px; background: #fff; border-top: 4px solid #d2aa4c; box-shadow: 0 22px 65px rgba(8,27,45,.08); }
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.contact-form label, .admin-form label { margin-bottom: 9px; color: #344451; }
.contact-form input, .contact-form textarea, .admin-form input, .admin-form textarea, .admin-form select { min-height: 45px; border-radius: 0; background: #fbfaf7; }
.contact-form textarea, .admin-form textarea { padding-top: 12px; resize: vertical; }
.submit-button, .admin-submit { min-height: 48px; border-radius: 0; color: #071a2d; background: #d2aa4c; }
.form-message, .admin-notice { margin: 0; padding: 12px 14px; font-size: 13px; }
.form-message.success, .admin-notice.success { color: #275a45; background: #e6f1eb; }
.form-message.error, .admin-notice.error { color: #8d332d; background: #f7e9e7; }

.site-footer { color: #c9d4dc; background: #061423; }
.footer-grid { display: grid; grid-template-columns: 1.25fr .65fr 1fr .85fr; gap: 55px; padding-block: 76px; }
.footer-brand img { width: 210px; margin-bottom: 20px; }
.footer-brand p, .site-footer p { color: #8fa0ae; font-size: 13px; line-height: 1.9; }
.site-footer h3 { margin: 8px 0 22px; color: #fff; font-size: 14px; }
.site-footer > .footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.site-footer a { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.site-footer a svg, .site-footer p svg { width: 15px; color: #d2aa4c; }
.site-footer p:has(svg) { display: flex; align-items: center; gap: 8px; margin: 0; }
.footer-download { margin-top: 8px; color: #d8b965; border-bottom: 1px solid rgba(216,185,101,.55); padding-bottom: 7px; }
.footer-bottom { display: flex; justify-content: space-between; padding-block: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #667b8c; font-size: 11px; }

.inner-page { min-height: 100vh; background: #f5f1e9; }
.inner-header { color: #edf2f5; background: #061423; }
.inner-header-row { height: 88px; display: grid; grid-template-columns: 190px 1fr auto; align-items: center; gap: 30px; }
.inner-header .brand img { width: 170px; }
.inner-header nav { display: flex; justify-content: center; gap: 28px; font-size: 13px; color: #c4d0d8; }
.mobile-news-link { display: none; }
.page-hero { padding-block: 100px; color: #f5f1e9; background: linear-gradient(120deg, #0c3558, #061423); }
.page-hero h1 { margin: 0 0 18px; font-size: clamp(48px, 7vw, 80px); }
.page-hero > div > p:last-child { max-width: 650px; margin: 0; color: #bdcbd5; font-size: 17px; line-height: 1.9; }
.news-featured { display: grid; grid-template-columns: repeat(2, 1fr); gap: 46px 36px; }
.news-card { display: grid; grid-template-columns: 190px 1fr; gap: 24px; align-items: stretch; border-top: 1px solid #cfc8ba; padding-top: 24px; }
.news-card.featured { grid-column: 1 / -1; grid-template-columns: 1.05fr .95fr; gap: 50px; border: 0; padding: 0 0 30px; }
.news-image { min-height: 220px; overflow: hidden; }
.news-card.featured .news-image { min-height: 460px; }
.news-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.news-card:hover .news-image img { transform: scale(1.035); }
.news-card-content { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.news-meta { display: flex; align-items: center; gap: 15px; color: #77828b; font-size: 11px; }
.news-meta > span { color: #8d6a20; font-weight: 700; border-inline-end: 1px solid #c8c1b5; padding-inline-end: 15px; }
.news-meta time { display: inline-flex; align-items: center; gap: 6px; }
.news-meta svg { width: 14px; }
.news-card h2 { margin: 14px 0 10px; font-size: 21px; line-height: 1.55; }
.news-card.featured h2 { font-size: clamp(30px, 4vw, 46px); }
.news-card-content > p { margin: 0 0 22px; color: #65717a; line-height: 1.85; font-size: 13px; }
.news-card.featured .news-card-content > p { font-size: 16px; }

.article-page { padding-bottom: 110px; }
.article-header { max-width: 900px; padding-block: 90px 55px; text-align: center; }
.article-header .news-meta { justify-content: center; }
.article-header h1 { margin: 22px auto; font-size: clamp(40px, 6vw, 68px); line-height: 1.35; }
.article-header > p { max-width: 730px; margin: 0 auto; color: #66717b; font-size: 17px; line-height: 1.9; }
.article-cover { height: 570px; }
.article-cover img { width: 100%; height: 100%; object-fit: cover; }
.article-body { max-width: 780px; padding-top: 62px; }
.article-body > p { margin: 0 0 28px; color: #354651; font-size: 18px; line-height: 2.15; }
.article-body aside { display: grid; gap: 9px; margin-top: 50px; padding: 26px 30px; color: #f5f1e9; background: #0c3558; border-inline-start: 5px solid #d2aa4c; }
.article-body aside span { color: #c4d0d8; font-size: 13px; }
.article-body aside a { color: #e1c576; font-size: 13px; margin-top: 7px; }
.custom-content-page .article-header { max-width: 820px; }

.admin-page { min-height: 100vh; background: #eef0f2; color: #102333; }
.admin-topbar { height: 76px; display: flex; align-items: center; justify-content: space-between; padding-inline: 36px; color: #dbe4eb; background: #061423; }
.admin-brand { display: flex; align-items: center; gap: 20px; }
.admin-brand img { width: 135px; }
.admin-brand span { padding-inline-start: 20px; border-inline-start: 1px solid rgba(255,255,255,.18); font-size: 13px; }
.admin-user { display: flex; align-items: center; gap: 25px; font-size: 12px; }
.admin-user a { display: inline-flex; align-items: center; gap: 7px; color: #d8b965; }
.admin-user svg { width: 15px; }
.admin-shell { width: min(1420px, calc(100% - 48px)); margin-inline: auto; padding-block: 42px 80px; }
.admin-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 35px; }
.admin-heading h1 { margin: 0; font-size: 38px; }
.admin-heading p:last-child { margin-bottom: 0; color: #6a7781; }
.admin-view-site { display: inline-flex; align-items: center; gap: 9px; padding: 11px 15px; color: #f6f2ea; background: #0c3558; font-size: 13px; }
.admin-view-site svg { width: 16px; }
.admin-layout { display: grid; grid-template-columns: minmax(520px, .95fr) minmax(560px, 1.05fr); gap: 26px; align-items: start; }
.admin-panel { padding: 28px; background: #fff; border: 1px solid #dde1e4; box-shadow: 0 12px 35px rgba(10,30,46,.04); }
.panel-title { display: flex; align-items: center; gap: 13px; padding-bottom: 22px; border-bottom: 1px solid #e1e4e6; }
.panel-title > svg { width: 20px; color: #a37b27; }
.panel-title h2 { margin: 0 0 4px; font-size: 18px; }
.panel-title p { margin: 0; color: #7c8790; font-size: 11px; }
.admin-form { display: grid; gap: 20px; padding-top: 24px; }
.admin-form [data-slot='native-select-wrapper'] { width: 100%; }
.admin-submit { margin-top: 2px; min-height: 50px; }
.admin-side { display: grid; gap: 26px; }
.admin-panel table { margin-top: 12px; }
.admin-panel th { text-align: right; color: #7a858d; font-size: 11px; }
.admin-panel td { text-align: right; white-space: normal; }
.table-title { color: #183a55; font-weight: 700; line-height: 1.5; }
.status-live, .status-draft { display: inline-flex; padding: 4px 7px; font-size: 10px; font-weight: 700; }
.status-live { color: #245944; background: #e2f0e9; }
.status-draft { color: #725d2e; background: #f2ebd7; }
.message-list { display: grid; max-height: 350px; overflow: auto; }
.message-list article { padding-block: 18px; border-bottom: 1px solid #e2e5e7; }
.message-list article:last-child { border: 0; }
.message-list article > div { display: flex; justify-content: space-between; gap: 20px; }
.message-list article a { direction: ltr; color: #8b6a25; font-size: 11px; }
.message-list article p { margin: 9px 0 0; color: #586872; font-size: 12px; line-height: 1.7; }
.empty-state { color: #8a9399; font-size: 13px; padding-top: 14px; }

.icon { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: 0 0 auto; }
.contact-form input, .contact-form textarea, .admin-form input, .admin-form textarea, .admin-form select,
.login-card input { width: 100%; padding: 10px 13px; border: 1px solid #d8dde1; outline: none; transition: border-color .2s, box-shadow .2s; }
.contact-form input:focus, .contact-form textarea:focus, .admin-form input:focus, .admin-form textarea:focus, .admin-form select:focus,
.login-card input:focus { border-color: #a98432; box-shadow: 0 0 0 3px rgba(210,170,76,.14); }
.contact-form button, .admin-form button, .login-card button { border: 0; }
.contact-form label, .admin-form label, .login-card label { display: grid; gap: 9px; font-size: 13px; font-weight: 700; }

.admin-login { min-height: 100vh; display: grid; place-items: center; padding: 30px; background: linear-gradient(135deg,#061423,#0c3558); }
.login-card { width: min(430px,100%); padding: 40px; background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.28); border-top: 4px solid #d2aa4c; }
.login-card img { width: 190px; margin: 0 auto 28px; padding: 12px; background: #061423; }
.login-card h1 { margin: 0 0 8px; font-size: 27px; }
.login-card > p { color: #697781; line-height: 1.7; font-size: 13px; }
.login-card form { display: grid; gap: 18px; margin-top: 27px; }
.login-card button { min-height: 49px; color: #071a2d; background: #d2aa4c; font-weight: 700; }
.login-card .form-message { margin-top: 18px; }

.admin-tabs { display: flex; gap: 8px; margin-bottom: 24px; padding: 7px; background: #e3e8eb; }
.admin-tabs button { border: 0; padding: 11px 16px; color: #53616c; background: transparent; font-size: 13px; }
.admin-tabs button.active { color: #fff; background: #0c3558; }
.admin-screen { display: none; }
.admin-screen.active { display: block; }
.admin-columns { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 25px; align-items: start; }
.admin-form .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.admin-form .wide { grid-column: 1 / -1; }
.drop-zone { min-height: 170px; display: grid; place-content: center; gap: 10px; text-align: center; padding: 20px; color: #65727c; border: 1px dashed #9ba9b2; background: #f7f8f8; transition: border-color .2s, background .2s; }
.drop-zone.dragging { border-color: #a47c27; background: #fbf5e7; }
.drop-zone img { width: min(100%,420px); max-height: 230px; margin: auto; object-fit: cover; }
.drop-zone input { display: none; }
.drop-zone strong { color: #183a55; font-size: 13px; }
.drop-zone span { font-size: 11px; }
.content-list { display: grid; gap: 10px; max-height: 780px; overflow: auto; }
.content-row { display: grid; grid-template-columns: 76px 1fr auto; gap: 15px; align-items: center; padding: 12px; border: 1px solid #e0e4e7; background: #fff; }
.content-row img { width: 76px; height: 65px; object-fit: cover; }
.content-row h3 { margin: 0 0 5px; font-size: 14px; }
.content-row p { margin: 0; color: #77838c; font-size: 11px; }
.content-actions { display: flex; gap: 6px; }
.content-actions button { border: 1px solid #ccd3d8; padding: 7px 9px; color: #17364f; background: #fff; font-size: 11px; }
.content-actions .danger { color: #92362f; border-color: #e2c4c1; }
.message-card { padding: 18px 0; border-bottom: 1px solid #e0e4e7; }
.message-card header { display: flex; justify-content: space-between; gap: 20px; }
.message-card h3 { margin: 0; font-size: 14px; }
.message-card time, .message-card a { color: #8c6a25; font-size: 11px; }
.message-card p { color: #5d6b75; line-height: 1.8; font-size: 13px; }
.change-password { margin-top: 25px; padding-top: 25px; border-top: 1px solid #e0e4e7; }
.admin-note { color: #6c7881; line-height: 1.8; font-size: 12px; }
.hidden { display: none !important; }
.toast { position: fixed; z-index: 100; left: 24px; bottom: 24px; max-width: 380px; padding: 14px 18px; color: #fff; background: #174c3a; box-shadow: 0 15px 45px rgba(0,0,0,.22); font-size: 13px; }
.toast.error { background: #903830; }
.site-header .menu-toggle { display: none; border: 1px solid rgba(255,255,255,.25); color: #fff; background: transparent; padding: 8px; }
.site-header nav.open { position: absolute; z-index: 30; top: 78px; right: 14px; left: 14px; display: grid; padding: 18px; background: #081b2d; box-shadow: 0 18px 40px rgba(0,0,0,.3); }

@media (max-width: 1000px) {
  .site-header { grid-template-columns: 160px 1fr; }
  .site-header nav { justify-content: flex-end; gap: 18px; }
  .header-cta { display: none; }
  .hero-grid { gap: 38px; }
  .hero-visual { min-height: 520px; }
  .hero-visual > img { height: 520px; }
  .opportunity-grid { grid-template-columns: repeat(2, 1fr); }
  .opportunity-card:nth-child(2) { border: 0; }
  .opportunity-card:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.14); }
  .contact-form-grid { gap: 45px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .inner-header-row { grid-template-columns: 160px 1fr auto; }
  .inner-header nav { gap: 15px; }
  .admin-layout { grid-template-columns: 1fr; }
  .admin-columns { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .shell { width: min(100% - 28px, 1180px); }
  .section-pad { padding-block: 76px; }
  .site-header { height: 78px; grid-template-columns: 150px auto; }
  .brand img { width: 145px; }
  .site-header nav { display: none; }
  .site-header .menu-toggle { display: inline-grid; place-items: center; justify-self: end; }
  .hero-grid { grid-template-columns: 1fr; padding-block: 54px 80px; }
  .hero h1 { font-size: 43px; }
  .hero-lead { font-size: 16px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-stats { gap: 14px; }
  .hero-stats div { padding-inline: 12px; }
  .hero-stats dt { font-size: 21px; }
  .hero-visual { min-height: 500px; }
  .hero-visual > img { height: 500px; }
  .hero-card { right: 16px; top: 20px; }
  .location-card { left: 16px; bottom: 20px; }
  .about-grid, .section-head { display: grid; grid-template-columns: 1fr; gap: 28px; }
  .opportunity-grid { grid-template-columns: 1fr; }
  .opportunity-card { border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.14) !important; }
  .opportunity-card:last-child { border-bottom: 0 !important; }
  .contact-grid { align-items: stretch; flex-direction: column; }
  .program-days, .values-grid, .latest-grid { grid-template-columns: 1fr; }
  .program-days > article { padding-inline: 8px; }
  .program-days > article + article { border-inline-start: 0; border-top: 1px solid #cfc8ba; }
  .values-grid > div { border-inline-end: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .latest-card, .latest-card:first-child, .latest-card:last-child { padding: 24px 0; border-inline-end: 0; border-bottom: 1px solid #d7d1c5; }
  .latest-card:last-child { border-bottom: 0; }
  .partners-row { align-items: flex-start; flex-direction: column; }
  .partners-row > div { width: 100%; display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .partners-row img { margin: auto; }
  .contact-form-grid { grid-template-columns: 1fr; }
  .contact-form { padding: 24px 18px; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 35px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 7px; }
  .inner-header-row { height: 76px; grid-template-columns: 145px 1fr; }
  .inner-header nav, .inner-header .header-cta { display: none; }
  .mobile-news-link { justify-self: end; display: inline-flex; align-items: center; gap: 7px; color: #e0bf6d; font-size: 12px; }
  .mobile-news-link svg { width: 15px; }
  .page-hero { padding-block: 70px; }
  .news-featured { grid-template-columns: 1fr; }
  .news-card, .news-card.featured { grid-column: auto; grid-template-columns: 1fr; gap: 20px; }
  .news-card.featured .news-image, .news-image { min-height: 270px; }
  .article-header { padding-block: 65px 40px; }
  .article-cover { height: 320px; }
  .article-body { padding-top: 42px; }
  .article-body > p { font-size: 16px; }
  .admin-topbar { padding-inline: 16px; }
  .admin-brand span, .admin-user > span { display: none; }
  .admin-shell { width: min(100% - 24px, 1420px); padding-top: 28px; }
  .admin-heading { align-items: stretch; flex-direction: column; }
  .admin-panel { padding: 20px 16px; }
  .admin-tabs { overflow-x: auto; }
  .admin-tabs button { white-space: nowrap; }
  .admin-form .form-row { grid-template-columns: 1fr; }
  .content-row { grid-template-columns: 58px 1fr; }
  .content-row img { width: 58px; height: 54px; }
  .content-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .login-card { padding: 30px 22px; }
}
