:root {
  --brand: #163b65;
  --brand-light: #2d78a9;
  --ink: #142033;
  --muted: #68778a;
  --surface: #f3f6f8;
  --line: #dfe7ed;
}

html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { color: var(--ink); background: var(--surface); }
.site-header { background: rgba(255,255,255,.94); border-bottom: 1px solid rgba(223,231,237,.8); backdrop-filter: blur(14px); }
.navbar-brand { color: var(--ink); font-weight: 800; letter-spacing: -.03em; }
.header-logo { display: block; width: min(300px, 55vw); height: auto; }
.nav-link { color: #536174; font-weight: 600; }
.btn-primary { --bs-btn-bg: var(--brand); --bs-btn-border-color: var(--brand); --bs-btn-hover-bg: #0d2c4d; --bs-btn-hover-border-color: #0d2c4d; }
.text-primary { color: var(--brand-light) !important; }
.eyebrow { font-size: .72rem; font-weight: 800; letter-spacing: .18em; }
.hero-section { position: relative; overflow: hidden; color: white; background: radial-gradient(circle at 78% 20%, rgba(53,146,169,.65), transparent 27%), linear-gradient(135deg, #102d50 5%, #184e79 65%, #256e8b); }
.hero-section::after { content: ""; position: absolute; width: 500px; height: 500px; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; right: -190px; bottom: -260px; }
.min-vh-hero { min-height: min(760px, calc(100vh - 105px)); padding: 6rem 0; }
.display-title { max-width: 820px; font-size: clamp(3rem, 7vw, 6.7rem); line-height: .95; letter-spacing: -.06em; font-weight: 800; }
.hero-lead { max-width: 650px; margin-top: 1.7rem; color: rgba(255,255,255,.75); font-size: 1.2rem; }
.hero-art { position: relative; height: 440px; }
.art-card { position: absolute; display: flex; flex-direction: column; justify-content: flex-end; border: 1px solid rgba(255,255,255,.3); border-radius: 26px; box-shadow: 0 30px 70px rgba(4,22,39,.25); backdrop-filter: blur(12px); }
.art-card-main { inset: 40px 20px 40px 55px; padding: 2rem; transform: rotate(5deg); background: rgba(255,255,255,.12); }
.art-card-main span { margin-bottom: auto; font-size: .72rem; letter-spacing: .18em; }
.art-card-main strong { max-width: 280px; font-size: 2.1rem; line-height: 1.05; }
.art-card-small { width: 150px; height: 110px; left: 0; bottom: 15px; padding: 1.3rem; transform: rotate(-7deg); background: rgba(255,255,255,.92); color: var(--brand); font-weight: 800; display:none}
.art-circle { position: absolute; width: 130px; height: 130px; top: 0; right: 0; border-radius: 50%; background: #e9bf63; opacity: .95; }
.section-space { padding: 7rem 0; }
.section-title { font-size: clamp(2rem, 4vw, 3.6rem); line-height: 1.05; letter-spacing: -.045em; font-weight: 800; }
.section-intro { max-width: 440px; }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.values-grid article { padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.values-grid span { color: var(--brand-light); font-size: .75rem; font-weight: 800; letter-spacing: .12em; }
.values-grid h3 { margin: 1.4rem 0 .7rem; font-size: 1.15rem; }
.values-grid p { color: var(--muted); margin: 0; }
.news-card { height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: white; transition: transform .2s ease, box-shadow .2s ease; }
.news-card:hover { transform: translateY(-4px); box-shadow: 0 18px 45px rgba(25,48,75,.1); }
.news-cover, .news-placeholder { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.news-placeholder { display: grid; place-items: center; color: rgba(255,255,255,.8); background: linear-gradient(135deg, #173d66, #3484a5); font-size: 2rem; font-weight: 800; }
.news-body { padding: 1.5rem; }
.news-date { color: var(--brand-light); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.news-body h3 { margin: .65rem 0; font-size: 1.3rem; }
.news-body p { color: var(--muted); }
.link-button { padding: 0; border: 0; color: var(--brand); background: transparent; font-weight: 700; }
.gallery-section { background: white; }
.gallery-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 1rem; }
.gallery-item { grid-column: span 4; position: relative; padding: 0; overflow: hidden; border: 0; border-radius: 15px; background: #e8eef2; cursor: zoom-in; }
.gallery-item:nth-child(5n + 1), .gallery-item:nth-child(5n + 2) { grid-column: span 6; }
.gallery-item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .35s ease; }
.gallery-item:hover img { transform: scale(1.035); }
.gallery-label { position: absolute; inset: auto 0 0; padding: 2rem 1rem 1rem; color: white; text-align: left; background: linear-gradient(transparent, rgba(8,25,42,.78)); font-weight: 700; }
.content-state { padding: 4rem 1rem; border: 1px dashed #c8d2db; border-radius: 16px; color: var(--muted); text-align: center; }
.gallery-empty { grid-column: 1 / -1; }
.contact-section { color: white; background: #0f2d4d; }
.contact-panel { display: flex; justify-content: space-between; align-items: center; gap: 3rem; }
.contact-panel > div { max-width: 720px; }
.site-footer { color: #7a8795; background: #0a2139; font-size: .9rem; }
.site-footer a { color: #c4d1dc; text-decoration: none; }
.modal-cover { width: 100%; max-height: 360px; object-fit: cover; }
.article-content { color: #465568; line-height: 1.75; white-space: normal; }
.modal-gallery-image { width: 100%; max-height: 74vh; object-fit: contain; background: #07111c; }

@media (max-width: 991.98px) {
  .section-space { padding: 5rem 0; }
  .values-grid { grid-template-columns: 1fr; }
  .gallery-item, .gallery-item:nth-child(5n + 1), .gallery-item:nth-child(5n + 2) { grid-column: span 6; }
  .contact-panel { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 575.98px) {
  .display-title { font-size: 3.1rem; }
  .gallery-item, .gallery-item:nth-child(5n + 1), .gallery-item:nth-child(5n + 2) { grid-column: 1 / -1; }
}

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