:root {
  --navy: #102d4f;
  --navy-dark: #091d34;
  --navy-soft: #1d446d;
  --red: #c82932;
  --red-dark: #9f1f27;
  --cream: #f5f1e9;
  --cream-2: #fbf9f5;
  --ink: #17202a;
  --muted: #66717e;
  --line: #dfe4e8;
  --white: #fff;
  --shadow-sm: 0 8px 26px rgba(16, 45, 79, .08);
  --shadow-lg: 0 24px 70px rgba(7, 25, 44, .18);
  --radius: 18px;
  --radius-lg: 30px;
  --container: 1240px;
  --transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: Inter, Aptos, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open, body.search-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--navy); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--red); }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
svg { width: 1em; height: 1em; }
::selection { color: var(--white); background: var(--red); }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.container-narrow { max-width: 860px; }
.section { padding: 92px 0; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus, .skip-link:focus {
  z-index: 99999; top: 12px; left: 12px; width: auto; height: auto; padding: 12px 18px;
  clip: auto; color: var(--white); background: var(--navy); border-radius: 8px;
}
.svg-sprite { position: absolute; overflow: hidden; }

/* Brand */
.custom-logo-link { display: inline-flex; align-items: center; text-decoration: none; }
.custom-logo { width: auto; max-width: 352px; height: 64px; object-fit: contain; }
.brand-fallback { display: inline-flex; align-items: center; gap: 14px; color: var(--navy); text-decoration: none; }
.brand-fallback small { display: block; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .11em; line-height: 1.2; text-transform: uppercase; }
.brand-fallback strong { display: block; font-family: Georgia, "Times New Roman", serif; font-size: 25px; letter-spacing: -.02em; line-height: 1.15; }
.brand-mark { position: relative; display: inline-block; flex: 0 0 46px; width: 46px; height: 42px; }
.brand-mark i { position: absolute; width: 13px; height: 13px; background: var(--red); transform: rotate(45deg); }
.brand-mark i:nth-child(1) { left: 1px; bottom: 1px; }
.brand-mark i:nth-child(2) { left: 14px; bottom: 14px; }
.brand-mark i:nth-child(3) { left: 27px; bottom: 27px; }
.brand-mark i:nth-child(4) { left: 27px; bottom: 1px; }

/* Header */
.site-header { position: relative; z-index: 1000; background: rgba(255,255,255,.98); border-bottom: 1px solid rgba(16,45,79,.1); transition: box-shadow var(--transition); }
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(16,45,79,.08); }
.topbar { color: rgba(255,255,255,.85); background: var(--navy-dark); font-size: 12.5px; }
.topbar-inner { min-height: 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar p { margin: 0; letter-spacing: .03em; }
.topbar-links { display: flex; align-items: center; gap: 16px; }
.topbar a { color: rgba(255,255,255,.88); text-decoration: none; }
.topbar a:hover { color: var(--white); }
.social-link { display: inline-flex; align-items: center; justify-content: center; width: 27px; height: 27px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.social-link svg { width: 14px; height: 14px; }
.header-inner { min-height: 96px; display: grid; grid-template-columns: minmax(260px, 370px) 1fr auto; align-items: center; gap: 24px; }
.site-branding { min-width: 0; }
.primary-navigation { justify-self: end; }
.primary-menu, .primary-menu ul { margin: 0; padding: 0; list-style: none; }
.primary-menu { display: flex; align-items: center; gap: 4px; }
.primary-menu > li { position: relative; }
.primary-menu > li > a { display: block; padding: 14px 12px; color: var(--ink); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; border-radius: 8px; }
.primary-menu > li > a:hover, .primary-menu > li.current-menu-item > a, .primary-menu > li.current-menu-ancestor > a { color: var(--red); background: #fff5f5; }
.primary-menu .sub-menu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 20; min-width: 230px; padding: 10px; visibility: hidden; opacity: 0; transform: translateY(8px); background: var(--white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow-lg); transition: opacity var(--transition), transform var(--transition), visibility var(--transition); }
.primary-menu li:hover > .sub-menu, .primary-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.primary-menu .sub-menu a { display: block; padding: 10px 12px; color: var(--ink); font-size: 14px; font-weight: 650; text-decoration: none; border-radius: 8px; }
.primary-menu .sub-menu a:hover { color: var(--red); background: var(--cream-2); }
.submenu-toggle { display: none; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.icon-button { display: inline-grid; place-items: center; width: 43px; height: 43px; color: var(--navy); background: transparent; border: 1px solid var(--line); border-radius: 50%; transition: color var(--transition), background var(--transition), border-color var(--transition); }
.icon-button:hover { color: var(--white); background: var(--navy); border-color: var(--navy); }
.icon-button svg { width: 20px; height: 20px; }
.menu-toggle { display: none; }
.close-icon { display: none; }
.menu-toggle[aria-expanded="true"] .menu-icon { display: none; }
.menu-toggle[aria-expanded="true"] .close-icon { display: block; }
.site-search { position: absolute; top: 100%; left: 0; width: 100%; padding: 22px 0; background: var(--white); border-top: 1px solid var(--line); box-shadow: var(--shadow-lg); }
.search-inner { display: flex; align-items: center; gap: 15px; }
.search-form { display: flex; flex: 1; gap: 10px; }
.search-field { width: 100%; min-height: 52px; padding: 0 18px; color: var(--ink); background: var(--cream-2); border: 1px solid var(--line); border-radius: 12px; outline: none; }
.search-field:focus { border-color: var(--navy-soft); box-shadow: 0 0 0 3px rgba(16,45,79,.11); }
.search-submit { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 130px; min-height: 52px; color: var(--white); background: var(--navy); border: 0; border-radius: 12px; font-weight: 750; }
.search-submit:hover { background: var(--red); }
.search-close { display: inline-grid; place-items: center; width: 48px; height: 48px; color: var(--navy); background: transparent; border: 0; border-radius: 50%; }
.search-close svg { width: 22px; height: 22px; }

/* Buttons and text links */
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; color: var(--white); background: var(--red); border: 2px solid var(--red); border-radius: 10px; font-size: 14px; font-weight: 800; line-height: 1.2; text-decoration: none; transition: transform var(--transition), color var(--transition), background var(--transition), border-color var(--transition); }
.button:hover { color: var(--white); background: var(--red-dark); border-color: var(--red-dark); transform: translateY(-1px); }
.button-secondary { color: var(--navy); background: transparent; border-color: var(--navy); }
.button-secondary:hover { color: var(--white); background: var(--navy); border-color: var(--navy); }
.button-ghost { color: var(--white); background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.55); backdrop-filter: blur(5px); }
.button-ghost:hover { color: var(--navy); background: var(--white); border-color: var(--white); }
.button-light { color: var(--navy); background: var(--white); border-color: var(--white); }
.button-light:hover { color: var(--navy); background: var(--cream); border-color: var(--cream); }
.button-outline-light { color: var(--white); background: transparent; border-color: rgba(255,255,255,.55); }
.button-outline-light:hover { color: var(--navy); background: var(--white); border-color: var(--white); }
.text-link { display: inline-flex; align-items: center; gap: 8px; color: var(--red); font-size: 14px; font-weight: 800; text-decoration: none; }
.text-link svg { transition: transform var(--transition); }
.text-link:hover svg { transform: translateX(4px); }
.text-link-large { font-size: 15px; }

/* Typography helpers */
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 12px; color: var(--red); font-size: 12px; font-weight: 850; letter-spacing: .14em; line-height: 1.2; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 26px; height: 2px; background: currentColor; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 36px; }
.section-heading h2, .about-content h2, .cta-card h2 { margin: 0; color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-size: clamp(36px, 4vw, 54px); font-weight: 700; letter-spacing: -.035em; line-height: 1.08; }
.lead { color: var(--navy); font-size: 21px; line-height: 1.55; }

/* Hero */
.hero-section { position: relative; min-height: 690px; display: flex; align-items: center; overflow: hidden; color: var(--white); background: var(--navy-dark); isolation: isolate; }
.hero-section::before { content: ""; position: absolute; inset: 0; z-index: -3; background-image: var(--hero-image); background-position: center; background-size: cover; transform: scale(1.015); }
.hero-overlay { position: absolute; inset: 0; z-index: -2; background: linear-gradient(90deg, rgba(4,18,33,.96) 0%, rgba(8,29,52,.84) 48%, rgba(7,24,44,.56) 100%); }
.hero-section::after { content: ""; position: absolute; right: -180px; bottom: -320px; z-index: -1; width: 690px; height: 690px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; box-shadow: 0 0 0 80px rgba(255,255,255,.03), 0 0 0 160px rgba(255,255,255,.02); }
.hero-inner { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(330px, .65fr); align-items: end; gap: 70px; padding-block: 88px; }
.hero-intro { max-width: 720px; }
.hero-intro .eyebrow { color: #ff7c82; }
.hero-intro h1 { margin: 0 0 24px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(58px, 7vw, 94px); font-weight: 700; letter-spacing: -.055em; line-height: .98; }
.hero-intro h1 em { color: #ff737c; font-style: normal; }
.hero-intro > p { max-width: 650px; margin: 0 0 34px; color: rgba(255,255,255,.82); font-size: clamp(18px, 2vw, 22px); line-height: 1.55; }
.hero-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-news-card { padding: 30px; background: rgba(255,255,255,.95); color: var(--ink); border: 1px solid rgba(255,255,255,.4); border-radius: 22px; box-shadow: var(--shadow-lg); backdrop-filter: blur(12px); }
.hero-news-card .eyebrow { margin-bottom: 16px; }
.hero-news-card h2 { margin: 0 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.025em; line-height: 1.18; }
.hero-news-card h2 a { color: var(--navy); text-decoration: none; }
.hero-news-card h2 a:hover { color: var(--red); }
.hero-news-card p { margin: 0; color: var(--muted); }
.hero-news-meta { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 13px; }
.hero-news-meta time { color: var(--muted); }

/* Quick links */
.quick-links-section { position: relative; z-index: 2; margin-top: -1px; background: var(--white); border-bottom: 1px solid var(--line); }
.quick-links-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.quick-links-grid a { position: relative; min-height: 126px; display: grid; grid-template-columns: 45px 1fr; align-content: center; column-gap: 15px; padding: 22px 24px; color: var(--ink); text-decoration: none; border-right: 1px solid var(--line); transition: background var(--transition); }
.quick-links-grid a:first-child { border-left: 1px solid var(--line); }
.quick-links-grid a:hover { background: var(--cream-2); }
.quick-links-grid span { grid-row: 1 / span 2; color: var(--red); font-family: Georgia, serif; font-size: 24px; font-weight: 700; }
.quick-links-grid strong { color: var(--navy); font-size: 16px; }
.quick-links-grid small { color: var(--muted); font-size: 12px; }

/* Cards */
.news-section { background: var(--cream-2); }
.posts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.post-card { overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 30px rgba(16,45,79,.045); transition: transform var(--transition), box-shadow var(--transition); }
.post-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-sm); }
.post-card-media { display: block; aspect-ratio: 16 / 10.5; overflow: hidden; background: #e9edf0; text-decoration: none; }
.post-card-image { width: 100%; height: 100%; object-fit: cover; transition: transform 450ms ease; }
.post-card:hover .post-card-image { transform: scale(1.035); }
.media-placeholder { display: grid; place-items: center; width: 100%; height: 100%; min-height: 220px; background: linear-gradient(145deg, #edf1f4, #f9fafb); }
.media-placeholder .brand-mark { opacity: .7; transform: scale(1.35); }
.post-card-body { padding: 25px 25px 27px; }
.post-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 12px; color: var(--muted); font-size: 12px; }
.post-card-title { margin: 0 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: 25px; letter-spacing: -.025em; line-height: 1.2; }
.post-card-title a { color: var(--navy); text-decoration: none; }
.post-card-title a:hover { color: var(--red); }
.post-card-body > p { margin: 0 0 18px; color: var(--muted); font-size: 14px; }

/* About and values */
.about-section { overflow: hidden; }
.about-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr); align-items: center; gap: 80px; }
.about-media { position: relative; }
.about-media::before { content: ""; position: absolute; top: -34px; left: -34px; z-index: -1; width: 170px; height: 170px; background: repeating-linear-gradient(45deg, transparent 0 9px, rgba(200,41,50,.14) 9px 11px); }
.about-media img, .about-media > .media-placeholder { width: 100%; aspect-ratio: 1.12 / 1; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.about-badge { position: absolute; right: -28px; bottom: 30px; min-width: 180px; padding: 20px 24px; color: var(--white); background: var(--red); border-radius: 16px; box-shadow: var(--shadow-lg); }
.about-badge strong { display: block; font-family: Georgia, serif; font-size: 36px; line-height: 1; }
.about-badge span { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.about-content p { color: var(--muted); }
.about-content .lead { color: var(--navy); }
.about-content .button { margin-top: 14px; }
.values-section { padding: 72px 0; color: var(--white); background: var(--navy); }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(255,255,255,.18); }
.values-grid article { padding: 38px; background: var(--navy); }
.value-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 20px; color: var(--white); background: var(--red); border-radius: 14px; font-family: Georgia, serif; font-size: 23px; font-weight: 700; }
.values-grid h3 { margin: 0 0 8px; font-family: Georgia, serif; font-size: 30px; }
.values-grid p { margin: 0; color: rgba(255,255,255,.7); }
.cta-section { padding-top: 80px; padding-bottom: 96px; background: var(--cream-2); }
.cta-card { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 60px; overflow: hidden; padding: 58px 64px; color: var(--white); background: linear-gradient(135deg, var(--navy-dark), var(--navy-soft)); border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.cta-card::after { content: ""; position: absolute; right: -80px; top: -100px; width: 280px; height: 280px; border: 44px solid rgba(255,255,255,.05); border-radius: 50%; }
.cta-card .eyebrow { color: #ff8f95; }
.cta-card h2 { color: var(--white); }
.cta-card p { max-width: 700px; margin-bottom: 0; color: rgba(255,255,255,.72); }
.cta-actions { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; min-width: 220px; }

/* Page heroes and archive */
.page-hero { color: var(--white); background: linear-gradient(135deg, var(--navy-dark), var(--navy-soft)); }
.page-hero-compact { padding: 66px 0 72px; }
.page-hero h1 { max-width: 900px; margin: 8px 0 12px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 6vw, 70px); letter-spacing: -.04em; line-height: 1.05; }
.page-hero p, .archive-description { max-width: 760px; margin: 0; color: rgba(255,255,255,.76); font-size: 18px; }
.page-hero .eyebrow { color: #ff8c92; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; color: rgba(255,255,255,.63); font-size: 12px; }
.breadcrumbs a { color: rgba(255,255,255,.82); text-decoration: none; }
.breadcrumbs span:last-child { overflow: hidden; max-width: 65ch; text-overflow: ellipsis; white-space: nowrap; }
.archive-content { background: var(--cream-2); }
.pagination { margin-top: 52px; }
.nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.page-numbers { display: inline-grid; min-width: 43px; height: 43px; place-items: center; padding-inline: 13px; color: var(--navy); background: var(--white); border: 1px solid var(--line); border-radius: 9px; font-size: 14px; font-weight: 750; text-decoration: none; }
.page-numbers.current, .page-numbers:hover { color: var(--white); background: var(--navy); border-color: var(--navy); }

/* Single article */
.article-header { padding: 68px 0 46px; color: var(--white); background: linear-gradient(135deg, var(--navy-dark), var(--navy-soft)); }
.article-header h1 { margin: 16px 0 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 6vw, 72px); letter-spacing: -.045em; line-height: 1.06; }
.article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: rgba(255,255,255,.72); font-size: 13px; }
.article-meta a { color: rgba(255,255,255,.9); }
.article-deck { margin: 20px 0 0; color: rgba(255,255,255,.78); font-size: 20px; }
.article-lead-image { position: relative; z-index: 2; margin-top: -1px; padding-top: 44px; }
.article-lead-image img { width: 100%; max-height: 680px; object-fit: cover; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); }
.article-layout { display: grid; grid-template-columns: 72px minmax(0, 860px); justify-content: center; gap: 35px; padding-top: 58px; }
.article-share { position: sticky; top: 30px; align-self: start; display: flex; flex-direction: column; align-items: center; gap: 10px; }
.article-share > span { margin-bottom: 4px; color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; writing-mode: vertical-rl; transform: rotate(180deg); }
.article-share a { display: grid; place-items: center; width: 42px; height: 42px; color: var(--navy); border: 1px solid var(--line); border-radius: 50%; font-weight: 850; text-decoration: none; }
.article-share a:hover { color: var(--white); background: var(--navy); border-color: var(--navy); }
.article-share svg { width: 17px; height: 17px; }
.entry-content { min-width: 0; color: #303943; font-size: 18px; line-height: 1.82; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2, .entry-content h3, .entry-content h4 { color: var(--navy); font-family: Georgia, "Times New Roman", serif; letter-spacing: -.02em; line-height: 1.25; }
.entry-content h2 { margin-top: 2.1em; font-size: 38px; }
.entry-content h3 { margin-top: 1.8em; font-size: 30px; }
.entry-content h4 { margin-top: 1.6em; font-size: 24px; }
.entry-content p { margin-block: 1.15em; }
.entry-content a { color: var(--red-dark); font-weight: 650; }
.entry-content blockquote { margin: 2em 0; padding: 10px 0 10px 28px; color: var(--navy); border-left: 4px solid var(--red); font-family: Georgia, serif; font-size: 25px; line-height: 1.55; }
.entry-content img { height: auto !important; margin: 30px auto; border-radius: 14px; }
.entry-content figure { max-width: 100%; margin: 32px auto; }
.entry-content figcaption { margin-top: 8px; color: var(--muted); font-size: 13px; text-align: center; }
.entry-content table { display: block; width: 100%; overflow-x: auto; border-collapse: collapse; }
.entry-content th, .entry-content td { padding: 12px 14px; border: 1px solid var(--line); text-align: left; }
.entry-content th { background: var(--cream-2); }
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.article-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 50px; padding-bottom: 82px; }
.tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
.tags a { padding: 6px 10px; color: var(--navy); background: var(--cream-2); border-radius: 7px; text-decoration: none; }
.related-section { background: var(--cream-2); }

/* Standard pages */
.page-entry-content { padding-top: 60px; padding-bottom: 90px; }
.page-entry-content strong { color: var(--navy); }
.page-entry-content > p:first-child { font-size: 19px; }
.membership-card { margin-block: 30px; padding: 38px; color: var(--white); background: linear-gradient(135deg, var(--navy-dark), var(--navy-soft)); border-radius: 20px; }
.membership-card h2 { margin-top: 0; color: var(--white); }
.membership-card p { color: rgba(255,255,255,.75); }
.document-embed { margin-block: 30px; padding: 18px; background: var(--cream-2); border: 1px solid var(--line); border-radius: 18px; }
.document-embed iframe { width: 100%; min-height: 680px; border: 0; border-radius: 10px; background: var(--white); }
.document-embed p { margin: 15px 0 0; }

/* 404 / empty */
.error-hero { min-height: 620px; display: grid; align-items: center; padding: 80px 0; text-align: center; }
.error-code { display: block; color: rgba(255,255,255,.12); font-family: Georgia, serif; font-size: clamp(120px, 22vw, 260px); font-weight: 700; line-height: .7; }
.error-hero h1 { margin-inline: auto; }
.error-hero p { margin: 18px auto 28px; }
.error-hero .search-form { max-width: 650px; margin: 0 auto 22px; }
.no-results { max-width: 680px; margin-inline: auto; padding: 55px; text-align: center; background: var(--cream-2); border-radius: var(--radius-lg); }
.no-results h2 { margin: 0 0 8px; color: var(--navy); font-family: Georgia, serif; font-size: 38px; }
.no-results .search-form { margin-top: 24px; }

/* Footer */
.site-footer { color: rgba(255,255,255,.72); background: var(--navy-dark); }
.footer-main { padding: 76px 0 64px; }
.footer-grid { display: grid; grid-template-columns: 1.25fr .8fr 1fr; gap: 70px; }
.footer-brand .custom-logo { filter: brightness(0) invert(1); opacity: .95; }
.footer-brand .brand-fallback { color: var(--white); }
.footer-brand .brand-fallback small { color: rgba(255,255,255,.62); }
.footer-brand p { max-width: 430px; margin: 22px 0; }
.footer-social { display: flex; gap: 9px; }
.footer-social .social-link { color: var(--white); }
.footer-title { margin: 0 0 22px; color: var(--white); font-family: Georgia, serif; font-size: 23px; }
.footer-menu, .footer-menu ul { margin: 0; padding: 0; list-style: none; }
.footer-menu { display: grid; gap: 7px; }
.footer-menu .sub-menu { display: none; }
.footer-menu a, .site-footer address a { color: rgba(255,255,255,.72); text-decoration: none; }
.footer-menu a:hover, .site-footer address a:hover { color: var(--white); }
.site-footer address { font-style: normal; }
.site-footer address p { margin: 0 0 6px; }
.org-data { margin: 20px 0 0; font-size: 13px; }
.org-data > div { display: grid; grid-template-columns: 55px 1fr; gap: 10px; padding: 6px 0; border-top: 1px solid rgba(255,255,255,.1); }
.org-data dt { color: rgba(255,255,255,.45); font-weight: 800; }
.org-data dd { margin: 0; overflow-wrap: anywhere; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.1); }
.footer-bottom-inner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 12px; }
.footer-bottom p { margin: 0; }
.footer-bottom a { color: rgba(255,255,255,.72); text-decoration: none; }

/* WordPress utilities */
.alignwide { width: min(1100px, calc(100vw - 40px)); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignfull { width: 100vw; max-width: none; margin-left: 50%; transform: translateX(-50%); }
.alignleft { float: left; margin: 7px 26px 18px 0 !important; }
.alignright { float: right; margin: 7px 0 18px 26px !important; }
.aligncenter { margin-right: auto !important; margin-left: auto !important; }
.wp-caption { max-width: 100%; }
.wp-caption-text, .gallery-caption { color: var(--muted); font-size: 13px; }
.sticky { outline: 2px solid rgba(200,41,50,.2); }
.bypostauthor { display: block; }
.comments-area { max-width: 860px; margin: 0 auto 80px; }

@media (max-width: 1120px) {
  .header-inner { grid-template-columns: minmax(250px, 330px) 1fr auto; gap: 10px; }
  .primary-menu > li > a { padding-inline: 8px; font-size: 13px; }
  .hero-inner { gap: 40px; }
  .posts-grid { gap: 22px; }
  .about-grid { gap: 55px; }
}

@media (max-width: 960px) {
  .topbar { display: none; }
  .site-header { position: sticky; top: 0; }
  .header-inner { min-height: 80px; grid-template-columns: 1fr auto; }
  .custom-logo { height: 52px; max-width: 280px; }
  .header-actions { grid-column: 2; grid-row: 1; }
  .menu-toggle { display: inline-grid; }
  .primary-navigation { position: fixed; top: 80px; right: 0; bottom: 0; left: 0; z-index: 100; display: none; overflow-y: auto; padding: 20px; background: var(--white); }
  .primary-navigation.is-open { display: block; }
  .primary-menu { display: block; max-width: 700px; margin-inline: auto; }
  .primary-menu > li { border-bottom: 1px solid var(--line); }
  .primary-menu > li > a { padding: 16px 4px; font-size: 17px; }
  .primary-menu .sub-menu { position: static; display: none; min-width: 0; padding: 0 0 12px 16px; visibility: visible; opacity: 1; transform: none; border: 0; box-shadow: none; }
  .primary-menu .submenu-open > .sub-menu { display: block; }
  .submenu-toggle { position: absolute; top: 8px; right: 0; display: grid; place-items: center; width: 40px; height: 40px; color: var(--navy); background: transparent; border: 0; }
  .submenu-toggle span { transition: transform var(--transition); }
  .submenu-toggle[aria-expanded="true"] span { transform: rotate(180deg); }
  .site-search { position: fixed; top: 80px; bottom: 0; padding-top: 35px; }
  .hero-section { min-height: auto; }
  .hero-inner { grid-template-columns: 1fr; align-items: start; gap: 45px; padding-block: 75px; }
  .hero-intro { max-width: 760px; }
  .hero-news-card { max-width: 700px; }
  .quick-links-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-links-grid a:nth-child(2) { border-right: 0; }
  .quick-links-grid a:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .about-grid { grid-template-columns: 1fr; }
  .about-media { max-width: 700px; }
  .values-grid { grid-template-columns: 1fr; }
  .cta-card { grid-template-columns: 1fr; }
  .cta-actions { flex-direction: row; flex-wrap: wrap; }
  .footer-grid { grid-template-columns: 1.2fr 1fr; }
  .footer-grid section:last-child { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .section { padding: 68px 0; }
  .header-inner { min-height: 72px; }
  .primary-navigation, .site-search { top: 72px; }
  .custom-logo { max-width: 235px; height: 46px; }
  .brand-fallback strong { font-size: 20px; }
  .brand-fallback small { font-size: 8px; }
  .brand-mark { transform: scale(.86); transform-origin: left center; margin-right: -5px; }
  .search-toggle { display: none; }
  .hero-inner { padding-block: 60px; }
  .hero-intro h1 { font-size: clamp(48px, 16vw, 68px); }
  .hero-intro > p { font-size: 18px; }
  .hero-news-card { padding: 24px; }
  .hero-news-meta { align-items: flex-start; flex-direction: column; }
  .quick-links-grid { grid-template-columns: 1fr; }
  .quick-links-grid a, .quick-links-grid a:first-child { border-right: 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 28px; }
  .posts-grid { grid-template-columns: 1fr; }
  .post-card-title { font-size: 26px; }
  .about-badge { right: 15px; bottom: 15px; min-width: 150px; }
  .about-content h2, .section-heading h2, .cta-card h2 { font-size: 39px; }
  .values-grid article { padding: 30px 10px; }
  .cta-card { gap: 35px; padding: 38px 26px; }
  .cta-actions { flex-direction: column; align-items: stretch; }
  .page-hero-compact, .article-header { padding: 48px 0 54px; }
  .page-hero h1, .article-header h1 { font-size: 42px; }
  .article-lead-image { width: 100%; padding-top: 0; }
  .article-lead-image img { border-radius: 0; box-shadow: none; }
  .article-layout { display: block; padding-top: 38px; }
  .article-share { position: static; flex-direction: row; justify-content: flex-start; margin-bottom: 25px; }
  .article-share > span { margin-right: 6px; writing-mode: initial; transform: none; }
  .entry-content { font-size: 17px; line-height: 1.75; }
  .entry-content h2 { font-size: 32px; }
  .entry-content h3 { font-size: 27px; }
  .entry-content .alignleft, .entry-content .alignright { float: none; margin: 25px auto !important; }
  .article-footer { align-items: flex-start; flex-direction: column; padding-bottom: 65px; }
  .document-embed iframe { min-height: 500px; }
  .footer-main { padding-top: 60px; }
  .footer-grid { grid-template-columns: 1fr; gap: 45px; }
  .footer-grid section:last-child { grid-column: auto; }
  .footer-bottom-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding-block: 18px; }
  .search-form { flex-direction: column; }
  .search-submit { width: 100%; }
  .no-results { padding: 38px 22px; }
}

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

/* Članstvo — redizajn */
.page-hero-membership .membership-hero-lead {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 20px;
  line-height: 1.65;
}
.membership-redesign {
  padding-top: 52px;
  padding-bottom: 90px;
}
.membership-card-enhanced {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .95fr);
  gap: 28px;
  padding: 42px;
  box-shadow: var(--shadow-lg);
}
.membership-card-main h2 {
  margin-bottom: 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 4.2vw, 56px);
  letter-spacing: -.035em;
  line-height: 1.08;
}
.membership-card-main p {
  margin: 0;
  color: rgba(255,255,255,.86);
  font-size: 19px;
  line-height: 1.8;
}
.membership-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}
.membership-actions .button {
  min-width: 240px;
}
.membership-contact-chip {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 24px;
  padding: 14px 16px;
  color: rgba(255,255,255,.92);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 14px;
}
.membership-contact-chip a {
  color: var(--white);
  font-weight: 700;
  text-decoration: none;
}
.membership-contact-chip a:hover {
  color: var(--cream);
}
.membership-info-box {
  align-self: stretch;
  padding: 28px 26px;
  color: var(--white);
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 20px;
}
.membership-info-box h3 {
  margin: 0 0 12px;
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  letter-spacing: -.02em;
}
.membership-info-box ol {
  margin: 0;
  padding-left: 1.25em;
  color: rgba(255,255,255,.9);
}
.membership-info-box li + li {
  margin-top: 10px;
}
.membership-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 28px;
}
.membership-benefits article {
  padding: 26px 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
}
.membership-benefits h3 {
  margin: 0 0 10px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  letter-spacing: -.02em;
  line-height: 1.18;
}
.membership-benefits p {
  margin: 0;
  color: #42505d;
}
.membership-extra-content {
  margin-top: 18px;
  padding-top: 24px;
  padding-bottom: 0;
}

/* Podnožje — bolja čitljivost logotipa */
.footer-brand .custom-logo {
  width: auto;
  max-width: 300px;
  height: auto;
  filter: none;
  opacity: 1;
}
.footer-brand .custom-logo-link {
  display: inline-flex;
  padding: 0;
  background: transparent;
}

@media (max-width: 960px) {
  .membership-card-enhanced {
    grid-template-columns: 1fr;
  }
  .membership-benefits {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .page-hero-membership .membership-hero-lead {
    font-size: 17px;
  }
  .membership-redesign {
    padding-top: 36px;
    padding-bottom: 70px;
  }
  .membership-card-enhanced {
    gap: 22px;
    padding: 26px 20px;
    border-radius: 22px;
  }
  .membership-card-main h2 {
    font-size: 39px;
  }
  .membership-card-main p,
  .membership-info-box ol {
    font-size: 16px;
    line-height: 1.72;
  }
  .membership-actions {
    flex-direction: column;
  }
  .membership-actions .button {
    width: 100%;
    min-width: 0;
  }
  .membership-contact-chip {
    display: flex;
    align-items: flex-start;
  }
  .membership-benefits article {
    padding: 22px 18px;
  }
  .membership-benefits h3 {
    font-size: 25px;
  }
}

/* Kontakt — redizajn */
.page-hero-contact .contact-hero-lead {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 20px;
  line-height: 1.65;
}
.contact-redesign {
  padding-top: 52px;
  padding-bottom: 92px;
}
.contact-notice {
  margin-bottom: 24px;
  padding: 16px 18px;
  border-radius: 14px;
  font-weight: 650;
}
.contact-notice-success {
  color: #0d5132;
  background: #e7f6ee;
  border: 1px solid #b7e1cb;
}
.contact-notice-error {
  color: #7e1d24;
  background: #fff0f1;
  border: 1px solid #f0c2c6;
}
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 28px;
  align-items: stretch;
}
.contact-panel {
  padding: 38px;
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
}
.contact-panel h2,
.contact-map-copy h2 {
  margin: 0 0 12px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 50px);
  letter-spacing: -.035em;
  line-height: 1.08;
}
.contact-panel > p,
.contact-map-copy p {
  margin: 0;
  color: #54616d;
  font-size: 17px;
}
.contact-panel-info {
  color: var(--white);
  background: linear-gradient(145deg, var(--navy-dark), var(--navy-soft));
  border-color: transparent;
  box-shadow: var(--shadow-lg);
}
.contact-panel-info h2 {
  color: var(--white);
}
.contact-panel-info > p {
  color: rgba(255,255,255,.78);
}
.contact-info-list {
  display: grid;
  gap: 14px;
  margin-top: 28px;
}
.contact-info-item {
  padding: 17px 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
}
.contact-info-label {
  display: block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.contact-info-item a,
.contact-info-item strong {
  color: var(--white);
  font-size: 17px;
  overflow-wrap: anywhere;
  text-decoration: none;
}
.contact-info-item a:hover {
  color: var(--cream);
}
.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.contact-panel-info .button-secondary {
  color: var(--white);
  border-color: rgba(255,255,255,.55);
}
.contact-panel-info .button-secondary:hover {
  color: var(--navy);
  background: var(--white);
  border-color: var(--white);
}
.contact-org-data {
  margin: 28px 0 0;
  font-size: 14px;
}
.contact-org-data > div {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid rgba(255,255,255,.14);
}
.contact-org-data dt {
  color: rgba(255,255,255,.5);
  font-weight: 800;
}
.contact-org-data dd {
  margin: 0;
  color: rgba(255,255,255,.9);
  overflow-wrap: anywhere;
}
.contact-panel-form {
  background: var(--cream-2);
}
.napredak-contact-form {
  display: grid;
  gap: 16px;
  margin-top: 26px;
}
.contact-form-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.napredak-contact-form label {
  display: grid;
  gap: 7px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 750;
}
.napredak-contact-form input[type="text"],
.napredak-contact-form input[type="email"],
.napredak-contact-form textarea {
  width: 100%;
  color: var(--ink);
  background: var(--white);
  border: 1px solid #cfd7de;
  border-radius: 12px;
  outline: none;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.napredak-contact-form input[type="text"],
.napredak-contact-form input[type="email"] {
  min-height: 50px;
  padding: 0 14px;
}
.napredak-contact-form textarea {
  min-height: 170px;
  padding: 13px 14px;
  resize: vertical;
}
.napredak-contact-form input:focus,
.napredak-contact-form textarea:focus {
  border-color: var(--navy-soft);
  box-shadow: 0 0 0 3px rgba(16,45,79,.11);
}
.contact-consent {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: flex-start;
  gap: 10px !important;
  color: #485663 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.5;
}
.contact-consent input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--red);
  flex: 0 0 auto;
}
.contact-submit {
  justify-self: start;
  min-width: 210px;
}
.contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.contact-map-card {
  display: grid;
  grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr);
  gap: 24px;
  align-items: stretch;
  margin-top: 28px;
  padding: 24px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
}
.contact-map-copy {
  align-self: center;
  padding: 16px;
}
.contact-map-frame {
  min-height: 360px;
  overflow: hidden;
  border-radius: 18px;
  background: var(--cream-2);
}
.contact-map-frame iframe {
  width: 100%;
  height: 100%;
  min-height: 360px;
  border: 0;
}

@media (max-width: 960px) {
  .contact-layout,
  .contact-map-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .page-hero-contact .contact-hero-lead {
    font-size: 17px;
  }
  .contact-redesign {
    padding-top: 36px;
    padding-bottom: 70px;
  }
  .contact-panel {
    padding: 26px 20px;
    border-radius: 20px;
  }
  .contact-panel h2,
  .contact-map-copy h2 {
    font-size: 38px;
  }
  .contact-form-row {
    grid-template-columns: 1fr;
  }
  .contact-actions {
    flex-direction: column;
  }
  .contact-actions .button,
  .contact-submit {
    width: 100%;
  }
  .contact-map-card {
    padding: 14px;
    border-radius: 20px;
  }
  .contact-map-copy {
    padding: 12px 6px;
  }
  .contact-map-frame,
  .contact-map-frame iframe {
    min-height: 300px;
  }
}

/* --------------------------------------------------------------------------
   Institucionalne stranice: O Napretku, Uprava i Dokumenti — v1.1.0
   -------------------------------------------------------------------------- */
.institutional-hero-lead {
  max-width: 780px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 20px;
  line-height: 1.65;
}
.institutional-page-content {
  padding-top: 68px;
  padding-bottom: 96px;
}
.institutional-page-content h2,
.institutional-page-content h3 {
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -.025em;
}
.institutional-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
  gap: 58px;
  align-items: start;
}
.institutional-intro-copy h2,
.documents-summary-grid h2,
.institutional-section-heading h2,
.registry-preview-heading h2,
.board-document-note h2 {
  margin: 0;
  font-size: clamp(38px, 4.4vw, 58px);
  line-height: 1.08;
}
.institutional-intro-copy .lead,
.documents-summary-grid .lead {
  margin: 22px 0 14px;
  color: var(--navy);
  font-size: 22px;
  line-height: 1.55;
}
.institutional-intro-copy > p:not(.lead) {
  color: #46525e;
  font-size: 17px;
}
.institutional-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.official-data-card {
  padding: 30px;
  color: var(--white);
  background: linear-gradient(145deg, var(--navy-dark), var(--navy-soft));
  border-radius: 24px;
  box-shadow: var(--shadow-lg);
}
.official-data-card h2 {
  margin: 14px 0 18px;
  color: var(--white);
  font-size: 34px;
}
.official-data-status,
.status-active {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 11px;
  color: #125f33;
  background: #e8f7ed;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.official-data-status::before,
.status-active::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #1c9c52;
  border-radius: 50%;
}
.official-data-card dl {
  margin: 0 0 24px;
}
.official-data-card dl > div {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 14px;
  padding: 11px 0;
  border-top: 1px solid rgba(255,255,255,.12);
}
.official-data-card dt {
  color: rgba(255,255,255,.57);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.official-data-card dd {
  margin: 0;
  color: var(--white);
  font-size: 14px;
  overflow-wrap: anywhere;
}
.official-data-card .text-link {
  color: var(--white);
}
.institutional-section {
  margin-top: 94px;
}
.institutional-section-heading {
  max-width: 840px;
  margin-bottom: 34px;
}
.institutional-section-heading > p {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 17px;
}
.compact-heading h2 {
  font-size: clamp(34px, 3.8vw, 48px);
}
.institutional-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.institutional-card-grid article {
  min-height: 250px;
  padding: 30px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow-sm);
}
.institutional-card-number {
  display: inline-block;
  margin-bottom: 24px;
  color: var(--red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  font-weight: 700;
}
.institutional-card-grid h3 {
  margin: 0 0 10px;
  font-size: 30px;
  line-height: 1.15;
}
.institutional-card-grid p {
  margin: 0;
  color: #4e5964;
}
.institutional-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 38px;
  align-items: center;
  margin-top: 80px;
  padding: 42px;
  color: var(--white);
  background: linear-gradient(135deg, var(--navy-dark), var(--navy-soft));
  border-radius: 26px;
  box-shadow: var(--shadow-lg);
}
.institutional-cta h2 {
  margin: 0;
  color: var(--white);
  font-size: clamp(34px, 4vw, 50px);
}
.institutional-cta p {
  max-width: 750px;
  margin: 15px 0 0;
  color: rgba(255,255,255,.78);
}
.institutional-cta .institutional-actions {
  justify-content: flex-end;
  margin-top: 0;
}

/* Uprava */
.board-leadership,
.board-officers,
.board-bodies {
  margin-bottom: 78px;
}
.leadership-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.leadership-card {
  min-height: 260px;
  padding: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow-sm);
}
.leadership-card-primary {
  color: var(--white);
  background: linear-gradient(145deg, var(--navy-dark), var(--navy-soft));
  border-color: transparent;
}
.leadership-role {
  display: inline-block;
  color: var(--red);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.leadership-card h3 {
  margin: 22px 0 12px;
  font-size: 34px;
  line-height: 1.12;
}
.leadership-card p {
  margin: 0;
  color: #596572;
}
.leadership-card-primary .leadership-role {
  color: #ff9ca2;
}
.leadership-card-primary h3 {
  color: var(--white);
}
.leadership-card-primary p {
  color: rgba(255,255,255,.78);
}
.officer-grid,
.representative-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.officer-grid article,
.representative-grid article {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 24px 26px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.officer-grid span,
.representative-grid span {
  color: var(--red);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.officer-grid strong,
.representative-grid strong {
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  line-height: 1.15;
}
.board-body-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr .8fr;
  gap: 20px;
}
.board-body-card {
  padding: 30px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow-sm);
}
.board-body-card h3 {
  margin: 0 0 20px;
  font-size: 30px;
}
.name-list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.name-list li {
  padding-bottom: 9px;
  color: #3d4954;
  border-bottom: 1px solid var(--line);
}
.name-list li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.name-list-noted li {
  display: flex;
  flex-direction: column;
}
.name-list-noted span {
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}
.board-document-note {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  padding: 36px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 22px;
}
.board-document-note h2 {
  font-size: clamp(32px, 3.5vw, 44px);
}
.board-document-note p {
  max-width: 760px;
  margin: 13px 0 0;
  color: #53606c;
}
.board-document-note .institutional-actions {
  justify-content: flex-end;
  margin-top: 0;
}

/* Dokumenti */
.documents-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(420px, 1.2fr);
  gap: 58px;
  align-items: start;
}
.documents-data-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: 20px;
}
.documents-data-list > div {
  min-height: 110px;
  padding: 20px;
  background: var(--white);
}
.documents-data-list dt {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.documents-data-list dd {
  margin: 0;
  color: var(--navy);
  font-size: 18px;
  font-weight: 750;
  line-height: 1.35;
}
.documents-grid,
.registry-representatives,
.registry-pdf-preview {
  margin-top: 82px;
}
.document-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.official-document-card {
  position: relative;
  overflow: hidden;
  min-height: 360px;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
}
.official-document-card-highlight {
  border-color: rgba(200,41,50,.28);
}
.document-card-badge {
  display: grid;
  place-items: center;
  color: var(--white);
  background: var(--navy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .12em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.official-document-card-highlight .document-card-badge {
  background: var(--red);
}
.document-card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 32px;
}
.document-meta {
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
}
.document-card-content h3 {
  margin: 18px 0 12px;
  font-size: 35px;
  line-height: 1.12;
}
.document-card-content p {
  margin: 0 0 26px;
  color: #4d5965;
}
.document-card-content > .button,
.document-card-actions {
  margin-top: auto;
}
.document-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.representative-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.registry-pdf-preview {
  scroll-margin-top: 110px;
  padding: 28px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 24px;
}
.registry-preview-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.registry-preview-heading h2 {
  font-size: clamp(32px, 3.6vw, 46px);
}
.registry-pdf-preview iframe {
  width: 100%;
  min-height: 760px;
  background: var(--white);
  border: 0;
  border-radius: 14px;
  box-shadow: var(--shadow-sm);
}
.registry-preview-note {
  margin: 15px 0 0;
  color: var(--muted);
  font-size: 13px;
}

@media (max-width: 1050px) {
  .institutional-intro-grid,
  .documents-summary-grid {
    grid-template-columns: 1fr;
  }
  .official-data-card {
    max-width: none;
  }
  .leadership-grid {
    grid-template-columns: 1fr 1fr;
  }
  .leadership-card-primary {
    grid-column: 1 / -1;
  }
  .board-body-grid {
    grid-template-columns: 1fr 1fr;
  }
  .board-body-card:last-child {
    grid-column: 1 / -1;
  }
  .institutional-cta,
  .board-document-note {
    grid-template-columns: 1fr;
  }
  .institutional-cta .institutional-actions,
  .board-document-note .institutional-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 780px) {
  .institutional-page-content {
    padding-top: 48px;
    padding-bottom: 72px;
  }
  .institutional-hero-lead {
    font-size: 17px;
  }
  .institutional-card-grid,
  .leadership-grid,
  .officer-grid,
  .board-body-grid,
  .document-card-grid,
  .representative-grid,
  .documents-data-list {
    grid-template-columns: 1fr;
  }
  .leadership-card-primary,
  .board-body-card:last-child {
    grid-column: auto;
  }
  .official-data-card dl > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .institutional-section,
  .documents-grid,
  .registry-representatives,
  .registry-pdf-preview {
    margin-top: 62px;
  }
  .institutional-cta,
  .board-document-note {
    padding: 28px 22px;
  }
  .institutional-actions,
  .document-card-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .institutional-actions .button,
  .document-card-actions .button {
    width: 100%;
  }
  .official-document-card {
    min-height: 0;
    grid-template-columns: 1fr;
  }
  .document-card-badge {
    min-height: 44px;
    writing-mode: initial;
    transform: none;
  }
  .document-card-content {
    padding: 26px 22px;
  }
  .document-card-content h3 {
    font-size: 31px;
  }
  .registry-preview-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .registry-pdf-preview {
    padding: 18px;
  }
  .registry-pdf-preview iframe {
    min-height: 580px;
  }
}

@media (max-width: 520px) {
  .institutional-intro-copy h2,
  .documents-summary-grid h2,
  .institutional-section-heading h2,
  .registry-preview-heading h2,
  .board-document-note h2 {
    font-size: 36px;
  }
  .institutional-card-grid article,
  .leadership-card,
  .board-body-card {
    padding: 24px 20px;
  }
  .registry-pdf-preview iframe {
    min-height: 500px;
  }
}

/* Predsjednici — ujednačene fotografije i pregledniji stari sadržaj */
.presidents-hero-lead {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 20px;
  line-height: 1.65;
}
.presidents-content {
  max-width: 980px;
}
.presidents-content::after {
  content: "";
  display: table;
  clear: both;
}
.presidents-content .president-section-heading {
  clear: both;
  margin: 68px 0 24px;
  padding: 26px 28px;
  color: var(--navy);
  background: linear-gradient(135deg, #f8fafc, #f2f5f8);
  border-left: 5px solid var(--red);
  border-radius: 0 18px 18px 0;
  box-shadow: var(--shadow-sm);
}
.presidents-content .president-section-heading:first-child {
  margin-top: 0;
}
.presidents-content .president-section-heading strong {
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.32;
}
.presidents-content .president-portrait {
  float: left;
  width: 245px !important;
  height: 310px !important;
  margin: 5px 32px 22px 0 !important;
  padding: 10px;
  object-fit: contain;
  object-position: center top;
  background: #f2f5f8;
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 15px 40px rgba(16,45,79,.12);
}
.presidents-content .president-portrait.is-placeholder {
  padding: 0;
}
.presidents-content p {
  text-align: left !important;
}
.presidents-content p + p {
  margin-top: 1.1em;
}

@media (max-width: 720px) {
  .presidents-hero-lead {
    font-size: 17px;
  }
  .presidents-content .president-section-heading {
    margin-top: 52px;
    padding: 22px 18px;
  }
  .presidents-content .president-section-heading strong {
    font-size: 25px;
  }
  .presidents-content .president-portrait {
    float: none;
    display: block;
    width: min(100%, 300px) !important;
    height: 350px !important;
    margin: 0 auto 26px !important;
  }
}

/* Statut — pregledna struktura dugog pravnog dokumenta */
.statute-page-hero .statute-hero-lead {
  max-width: 760px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 20px;
  line-height: 1.65;
}
.statute-summary-wrap {
  padding-top: 48px;
}
.statute-summary-card {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .8fr);
  gap: 30px 44px;
  padding: 38px 40px;
  background: linear-gradient(135deg, #fbfcfd, #f3f6f9);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
}
.statute-summary-card h2 {
  margin: 0 0 12px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4vw, 50px);
  letter-spacing: -.035em;
  line-height: 1.08;
}
.statute-summary-card p {
  max-width: 760px;
  margin: 0;
  color: #465461;
  font-size: 18px;
}
.statute-summary-data {
  margin: 0;
}
.statute-summary-data > div {
  display: grid;
  grid-template-columns: 115px 1fr;
  gap: 14px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
.statute-summary-data > div:last-child {
  border-bottom: 0;
}
.statute-summary-data dt {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.statute-summary-data dd {
  margin: 0;
  color: var(--navy);
  font-weight: 750;
}
.statute-summary-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.statute-print-button {
  font-family: inherit;
}
.statute-layout {
  display: grid;
  grid-template-columns: 280px minmax(0, 820px);
  justify-content: center;
  align-items: start;
  gap: 54px;
  padding-top: 52px;
  padding-bottom: 96px;
}
.statute-sidebar {
  position: sticky;
  top: 24px;
}
.statute-toc {
  overflow: hidden;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.statute-toc summary {
  padding: 18px 20px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  font-weight: 700;
  cursor: pointer;
  list-style-position: inside;
}
.statute-toc nav {
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  padding: 0 18px 20px;
}
.statute-toc ol {
  margin: 0;
  padding-left: 1.35em;
}
.statute-toc li + li {
  margin-top: 8px;
}
.statute-toc a {
  color: #43515f;
  font-size: 13px;
  line-height: 1.45;
  text-decoration: none;
}
.statute-toc a:hover {
  color: var(--red);
}
.statute-content {
  max-width: 820px;
  font-size: 17px;
  line-height: 1.82;
}
.statute-notice {
  margin-bottom: 34px;
  padding: 18px 20px;
  color: #3a4855;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-left: 4px solid var(--red);
  border-radius: 0 14px 14px 0;
  font-size: 15px;
  line-height: 1.65;
}
.statute-opening {
  margin: 0 0 42px !important;
  padding: 26px 28px;
  color: var(--navy);
  background: linear-gradient(135deg, #f7f9fb, #eef3f7);
  border-radius: 18px;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .015em;
  text-transform: none;
}
.statute-chapter-title,
.statute-subchapter-title {
  scroll-margin-top: 28px;
}
.statute-content .statute-chapter-title {
  margin: 74px 0 22px;
  padding: 24px 26px;
  background: linear-gradient(135deg, var(--navy-dark), var(--navy-soft));
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3.3vw, 38px);
  line-height: 1.18;
}
.statute-content .statute-chapter-title:first-of-type {
  margin-top: 0;
}
.statute-content .statute-subchapter-title {
  margin: 48px 0 18px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--line);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(24px, 2.6vw, 31px);
  line-height: 1.25;
}
.statute-heading-anchor {
  color: inherit !important;
  text-decoration: none;
}
.statute-chapter-title .statute-heading-anchor {
  color: var(--white) !important;
}
.statute-subchapter-title .statute-heading-anchor {
  color: var(--navy) !important;
}
.statute-content .statute-article-title {
  scroll-margin-top: 28px;
  margin: 34px 0 8px;
  color: var(--navy);
  font-family: Inter, Aptos, "Segoe UI", sans-serif;
  font-size: 17px;
  font-weight: 850;
  letter-spacing: .015em;
}
.statute-article-title a {
  display: inline-flex;
  gap: 6px;
  color: var(--navy) !important;
  text-decoration: none;
}
.statute-article-title span {
  color: var(--red-dark);
}
.statute-content ul,
.statute-content ol {
  margin-block: 18px;
}
.statute-content li + li {
  margin-top: 8px;
}
.statute-content p {
  margin-block: 1em;
}
.statute-back-top {
  margin-top: 54px !important;
  padding-top: 22px;
  border-top: 1px solid var(--line);
}

@media (max-width: 960px) {
  .statute-summary-card {
    grid-template-columns: 1fr;
  }
  .statute-summary-actions {
    grid-column: auto;
  }
  .statute-layout {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .statute-sidebar {
    position: static;
  }
  .statute-toc nav {
    max-height: none;
  }
}

@media (max-width: 720px) {
  .statute-page-hero .statute-hero-lead {
    font-size: 17px;
  }
  .statute-summary-wrap {
    padding-top: 32px;
  }
  .statute-summary-card {
    gap: 24px;
    padding: 26px 20px;
    border-radius: 20px;
  }
  .statute-summary-card h2 {
    font-size: 37px;
  }
  .statute-summary-data > div {
    grid-template-columns: 1fr;
    gap: 2px;
  }
  .statute-summary-actions {
    flex-direction: column;
  }
  .statute-summary-actions .button {
    width: 100%;
  }
  .statute-layout {
    padding-top: 34px;
    padding-bottom: 72px;
  }
  .statute-content {
    font-size: 16px;
    line-height: 1.76;
  }
  .statute-opening {
    padding: 22px 18px;
  }
  .statute-content .statute-chapter-title {
    margin-top: 56px;
    padding: 21px 18px;
    font-size: 29px;
  }
  .statute-content .statute-subchapter-title {
    margin-top: 40px;
    font-size: 25px;
  }
}

@media print {
  .site-header,
  .site-footer,
  .statute-summary-wrap,
  .statute-sidebar,
  .statute-notice,
  .statute-back-top {
    display: none !important;
  }
  .page-hero,
  .statute-page-hero {
    padding: 0 0 24px !important;
    color: #000 !important;
    background: #fff !important;
  }
  .page-hero h1,
  .statute-page-hero h1,
  .statute-hero-lead,
  .breadcrumbs,
  .eyebrow {
    color: #000 !important;
  }
  .statute-layout {
    display: block;
    width: 100%;
    padding: 0;
  }
  .statute-content {
    max-width: none;
    color: #000;
    font-size: 11pt;
  }
  .statute-content .statute-chapter-title {
    break-after: avoid;
    color: #000;
    background: #fff;
    border: 1px solid #999;
    box-shadow: none;
  }
  .statute-chapter-title .statute-heading-anchor,
  .statute-subchapter-title .statute-heading-anchor,
  .statute-article-title a {
    color: #000 !important;
  }
  a {
    text-decoration: none !important;
  }
}

/* Povijest — redizajn */
.history-page-hero .history-hero-lead {
  max-width: 790px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 20px;
  line-height: 1.65;
}
.history-intro-wrap {
  padding-top: 54px;
  padding-bottom: 54px;
}
.history-intro-card {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
  gap: 44px;
  padding: 44px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 26px;
  box-shadow: var(--shadow-sm);
}
.history-intro-card h2,
.history-legacy-copy h2,
.history-cta-card h2 {
  margin: 0 0 18px;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 4vw, 54px);
  letter-spacing: -.035em;
  line-height: 1.08;
}
.history-intro-card p,
.history-legacy-copy p,
.history-zagreb-note p,
.history-cta-card p {
  color: #41505f;
  font-size: 17px;
  line-height: 1.8;
}
.history-intro-card p:last-child,
.history-legacy-copy p:last-child,
.history-zagreb-note p:last-child,
.history-cta-card p:last-child {
  margin-bottom: 0;
}
.history-intro-facts {
  margin: 0;
  padding: 0;
  border-left: 1px solid var(--line);
}
.history-intro-facts > div {
  padding: 18px 0 18px 30px;
  border-bottom: 1px solid var(--line);
}
.history-intro-facts > div:first-child { padding-top: 4px; }
.history-intro-facts > div:last-child { border-bottom: 0; }
.history-intro-facts dt {
  color: var(--red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
  font-weight: 700;
  line-height: 1;
}
.history-intro-facts dd {
  margin: 8px 0 0;
  color: var(--navy);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.45;
}
.history-timeline-section {
  padding: 84px 0;
  background: var(--navy-dark);
}
.history-timeline-section .eyebrow,
.history-timeline-section .section-heading h2 {
  color: var(--white);
}
.history-section-heading {
  margin-bottom: 45px;
}
.history-timeline {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
.history-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 98px;
  width: 1px;
  background: rgba(255,255,255,.18);
}
.history-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr);
  gap: 38px;
  padding: 0 0 38px;
}
.history-timeline li:last-child { padding-bottom: 0; }
.history-timeline li::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 91px;
  width: 15px;
  height: 15px;
  background: var(--red);
  border: 4px solid var(--navy-dark);
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(255,255,255,.22);
}
.history-timeline time {
  color: #ff7880;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}
.history-timeline h3 {
  margin: 0 0 8px;
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 29px;
  letter-spacing: -.02em;
}
.history-timeline p {
  max-width: 820px;
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 16px;
  line-height: 1.75;
}
.history-legacy-section {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 54px;
  padding-top: 84px;
  padding-bottom: 84px;
}
.history-legacy-stats {
  display: grid;
  gap: 16px;
  align-content: start;
}
.history-legacy-stats article {
  padding: 26px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
}
.history-legacy-stats strong {
  display: block;
  color: var(--red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 48px;
  line-height: 1;
}
.history-legacy-stats span {
  display: block;
  margin-top: 10px;
  color: var(--navy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
}
.history-zagreb-section {
  padding: 84px 0;
  background: var(--cream-2);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.history-zagreb-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 34px;
  align-items: start;
}
.history-program-table-wrap {
  overflow-x: auto;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: var(--shadow-sm);
}
.history-program-table {
  width: 100%;
  border-collapse: collapse;
}
.history-program-table caption {
  padding: 22px 24px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 750;
  text-align: left;
  background: #f4f7fa;
  border-bottom: 1px solid var(--line);
}
.history-program-table th,
.history-program-table td {
  padding: 13px 20px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.history-program-table thead th {
  color: var(--white);
  background: var(--navy);
  font-size: 13px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.history-program-table th:last-child,
.history-program-table td:last-child {
  width: 110px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.history-program-table tbody tr:nth-child(even) {
  background: #fbfcfd;
}
.history-program-table tfoot th,
.history-program-table tfoot td {
  color: var(--navy);
  background: #eef3f7;
  border-bottom: 0;
  font-size: 17px;
  font-weight: 850;
}
.history-zagreb-note {
  padding: 32px;
  color: var(--white);
  background: linear-gradient(145deg, var(--navy-dark), var(--navy-soft));
  border-radius: 22px;
  box-shadow: var(--shadow-lg);
}
.history-zagreb-note .eyebrow,
.history-zagreb-note h3 {
  color: var(--white);
}
.history-zagreb-note h3 {
  margin: 0 0 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  letter-spacing: -.025em;
  line-height: 1.12;
}
.history-zagreb-note p {
  color: rgba(255,255,255,.8);
}
.history-archive-note {
  margin-top: 24px;
  padding: 16px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  font-size: 14px !important;
  line-height: 1.65 !important;
}
.history-cta-wrap {
  padding-top: 70px;
  padding-bottom: 90px;
}
.history-cta-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 40px;
  align-items: center;
  padding: 40px 44px;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
}
.history-cta-card h2 {
  font-size: clamp(34px, 3.5vw, 48px);
}
.history-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
}
.history-cta-actions .button {
  min-width: 190px;
}

@media (max-width: 960px) {
  .history-intro-card,
  .history-legacy-section,
  .history-zagreb-grid,
  .history-cta-card {
    grid-template-columns: 1fr;
  }
  .history-intro-facts {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .history-intro-facts > div {
    padding: 22px 18px 0;
    border-right: 1px solid var(--line);
    border-bottom: 0;
  }
  .history-intro-facts > div:first-child { padding-top: 22px; }
  .history-intro-facts > div:last-child { border-right: 0; }
  .history-cta-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .history-page-hero .history-hero-lead {
    font-size: 17px;
  }
  .history-intro-wrap {
    padding-top: 36px;
    padding-bottom: 42px;
  }
  .history-intro-card {
    gap: 26px;
    padding: 26px 20px;
    border-radius: 22px;
  }
  .history-intro-card h2,
  .history-legacy-copy h2,
  .history-cta-card h2 {
    font-size: 38px;
  }
  .history-intro-card p,
  .history-legacy-copy p,
  .history-zagreb-note p,
  .history-cta-card p {
    font-size: 16px;
  }
  .history-intro-facts {
    grid-template-columns: 1fr;
  }
  .history-intro-facts > div,
  .history-intro-facts > div:first-child {
    padding: 18px 0;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .history-intro-facts > div:last-child { border-bottom: 0; }
  .history-timeline-section,
  .history-zagreb-section {
    padding: 62px 0;
  }
  .history-timeline::before {
    left: 13px;
  }
  .history-timeline li {
    display: block;
    padding: 0 0 34px 44px;
  }
  .history-timeline li::before {
    top: 7px;
    left: 6px;
  }
  .history-timeline time {
    display: block;
    margin-bottom: 8px;
    font-size: 25px;
  }
  .history-timeline h3 {
    font-size: 25px;
  }
  .history-legacy-section {
    gap: 32px;
    padding-top: 62px;
    padding-bottom: 62px;
  }
  .history-legacy-stats strong {
    font-size: 42px;
  }
  .history-program-table {
    min-width: 560px;
  }
  .history-zagreb-note {
    padding: 26px 20px;
  }
  .history-cta-wrap {
    padding-top: 52px;
    padding-bottom: 70px;
  }
  .history-cta-card {
    gap: 26px;
    padding: 28px 20px;
  }
  .history-cta-actions {
    flex-direction: column;
  }
  .history-cta-actions .button {
    width: 100%;
    min-width: 0;
  }
}

/* Klub znanstvenika — redizajn */
.science-club-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(200, 41, 50, .24), transparent 30%),
    linear-gradient(135deg, var(--navy-dark), #123b65 66%, #173352);
}
.science-club-hero::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -120px;
  width: 360px;
  height: 360px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  box-shadow: 0 0 0 55px rgba(255,255,255,.025), 0 0 0 110px rgba(255,255,255,.018);
  pointer-events: none;
}
.science-club-hero .container {
  position: relative;
  z-index: 1;
}
.science-hero-lead {
  max-width: 790px;
  margin: 20px 0 0;
  color: rgba(255,255,255,.82);
  font-size: 21px;
  line-height: 1.65;
}
.science-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 36px;
}
.science-hero-stats > div {
  min-height: 108px;
  padding: 20px 22px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  backdrop-filter: blur(7px);
}
.science-hero-stats strong,
.science-hero-stats span {
  display: block;
}
.science-hero-stats strong {
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 32px;
  line-height: 1.15;
}
.science-hero-stats span {
  margin-top: 6px;
  color: rgba(255,255,255,.67);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.science-club-content {
  padding-top: 72px;
  padding-bottom: 96px;
}
.science-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .72fr);
  align-items: stretch;
  gap: 28px;
}
.science-intro-main {
  padding: 40px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 24px;
}
.science-intro-main h2,
.science-purpose h2,
.science-founders h2,
.science-archive h2,
.science-cta h2 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(36px, 4.5vw, 54px);
  letter-spacing: -.035em;
  line-height: 1.08;
}
.science-intro-main p {
  margin: 20px 0 0;
  color: #35424f;
  font-size: 18px;
  line-height: 1.82;
}
.science-quote-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: 38px 32px;
  overflow: hidden;
  color: var(--white);
  background: linear-gradient(145deg, var(--red-dark), var(--red));
  border-radius: 24px;
  box-shadow: var(--shadow-sm);
}
.science-quote-mark {
  position: absolute;
  top: -20px;
  right: 18px;
  color: rgba(255,255,255,.13);
  font-family: Georgia, serif;
  font-size: 160px;
  line-height: 1;
}
.science-quote-card blockquote {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--white);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  line-height: 1.25;
}
.science-quote-card p {
  position: relative;
  z-index: 1;
  margin: 18px 0 0;
  color: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.science-purpose,
.science-founders,
.science-archive {
  margin-top: 82px;
}
.science-section-heading {
  margin-bottom: 30px;
}
.science-section-heading > div {
  max-width: 760px;
}
.science-section-heading p {
  margin: 17px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}
.science-purpose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
.science-purpose-grid article {
  position: relative;
  min-height: 260px;
  padding: 34px;
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: var(--shadow-sm);
}
.science-purpose-number {
  display: block;
  margin-bottom: 48px;
  color: var(--red);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
}
.science-purpose-grid article::after {
  content: "";
  position: absolute;
  top: 28px;
  right: 28px;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(16,45,79,.12);
  border-radius: 50%;
  box-shadow: inset 0 0 0 12px rgba(16,45,79,.025);
}
.science-purpose-grid h3 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 30px;
  letter-spacing: -.025em;
  line-height: 1.2;
}
.science-purpose-grid p {
  margin: 14px 0 0;
  color: #4d5965;
  line-height: 1.75;
}
.science-founders {
  padding: 42px;
  background: linear-gradient(135deg, #f9f6f0, #fff);
  border: 1px solid var(--line);
  border-radius: 26px;
}
.science-founders > p {
  max-width: 760px;
  margin: 18px 0 0;
  color: #4d5965;
  font-size: 17px;
}
.science-founder-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.science-founder-list li {
  position: relative;
  padding: 14px 16px 14px 42px;
  color: var(--navy);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 13px;
  font-weight: 750;
}
.science-founder-list li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 17px;
  width: 10px;
  height: 10px;
  background: var(--red);
  transform: translateY(-50%) rotate(45deg);
}
.science-founder-note {
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 15px !important;
  font-style: italic;
}
.science-year-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 24px;
}
.science-year-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  min-height: 42px;
  padding: 6px 13px;
  color: var(--navy);
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}
.science-year-nav a:hover,
.science-year-nav a:focus-visible {
  color: var(--white);
  background: var(--navy);
  border-color: var(--navy);
}
.science-years {
  display: grid;
  gap: 14px;
}
.science-year {
  overflow: hidden;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: 0 6px 22px rgba(16,45,79,.055);
  scroll-margin-top: 110px;
}
.science-year[open] {
  border-color: rgba(16,45,79,.22);
  box-shadow: var(--shadow-sm);
}
.science-year summary {
  display: grid;
  grid-template-columns: minmax(100px, auto) 1fr 44px;
  align-items: center;
  gap: 18px;
  min-height: 82px;
  padding: 16px 22px;
  cursor: pointer;
  list-style: none;
}
.science-year summary::-webkit-details-marker {
  display: none;
}
.science-year summary:hover {
  background: var(--cream-2);
}
.science-year-title {
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 31px;
  font-weight: 700;
  line-height: 1;
}
.science-year-count {
  color: var(--muted);
  font-size: 14px;
  font-weight: 750;
}
.science-year-toggle {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  color: var(--navy);
  background: var(--cream-2);
  border-radius: 50%;
  font-size: 25px;
  line-height: 1;
  transition: transform var(--transition), color var(--transition), background var(--transition);
}
.science-year[open] .science-year-toggle {
  color: var(--white);
  background: var(--red);
  transform: rotate(45deg);
}
.science-year-events {
  display: grid;
  gap: 12px;
  padding: 0 20px 22px;
  border-top: 1px solid var(--line);
}
.science-event {
  padding: 22px 22px 20px;
  background: var(--cream-2);
  border-left: 4px solid var(--red);
  border-radius: 0 14px 14px 0;
}
.science-event:first-child {
  margin-top: 20px;
}
.science-event p,
.science-event ul {
  margin: 0;
}
.science-event p + p,
.science-event div + div {
  margin-top: 9px;
}
.science-event-main {
  color: #293541;
  font-size: 16px;
  line-height: 1.68;
}
.science-event-main strong {
  color: var(--navy);
}
.science-event-detail {
  color: #65717d;
  font-size: 14px;
  line-height: 1.65;
}
.science-event-detail strong {
  color: #3b4855;
}
.science-archive-note {
  margin-top: 24px;
  padding: 22px 24px;
  color: #44515d;
  background: #fff7ed;
  border: 1px solid #f0dcc3;
  border-radius: 16px;
}
.science-archive-note strong {
  display: block;
  color: var(--navy);
  font-size: 15px;
}
.science-archive-note p {
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.7;
}
.science-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
  margin-top: 72px;
  padding: 38px 40px;
  background: linear-gradient(135deg, var(--cream-2), #fff);
  border: 1px solid var(--line);
  border-radius: 24px;
}
.science-cta h2 {
  font-size: clamp(32px, 4vw, 46px);
}
.science-cta p {
  max-width: 670px;
  margin: 14px 0 0;
  color: var(--muted);
}
.science-cta-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 245px;
}
.science-cta-actions .button {
  width: 100%;
}

@media (max-width: 960px) {
  .science-intro-grid,
  .science-cta {
    grid-template-columns: 1fr;
  }
  .science-purpose-grid {
    grid-template-columns: 1fr;
  }
  .science-quote-card {
    min-height: 280px;
  }
  .science-cta-actions {
    flex-direction: row;
    flex-wrap: wrap;
    min-width: 0;
  }
  .science-cta-actions .button {
    width: auto;
  }
}

@media (max-width: 720px) {
  .science-hero-lead {
    font-size: 17px;
  }
  .science-hero-stats {
    grid-template-columns: 1fr;
    margin-top: 28px;
  }
  .science-hero-stats > div {
    min-height: 0;
  }
  .science-club-content {
    padding-top: 42px;
    padding-bottom: 70px;
  }
  .science-intro-main,
  .science-founders {
    padding: 26px 20px;
    border-radius: 20px;
  }
  .science-intro-main h2,
  .science-purpose h2,
  .science-founders h2,
  .science-archive h2,
  .science-cta h2 {
    font-size: 38px;
  }
  .science-intro-main p {
    font-size: 16px;
    line-height: 1.72;
  }
  .science-quote-card {
    min-height: 250px;
    padding: 28px 24px;
  }
  .science-quote-card blockquote {
    font-size: 29px;
  }
  .science-purpose,
  .science-founders,
  .science-archive {
    margin-top: 60px;
  }
  .science-purpose-grid article {
    min-height: 0;
    padding: 27px 22px;
  }
  .science-purpose-number {
    margin-bottom: 34px;
  }
  .science-purpose-grid h3 {
    font-size: 27px;
  }
  .science-founder-list {
    grid-template-columns: 1fr;
  }
  .science-year-nav {
    flex-wrap: nowrap;
    margin-right: -14px;
    padding-right: 14px;
    overflow-x: auto;
    scrollbar-width: thin;
  }
  .science-year-nav a {
    flex: 0 0 auto;
  }
  .science-year summary {
    grid-template-columns: 84px 1fr 38px;
    gap: 10px;
    min-height: 72px;
    padding: 14px 15px;
  }
  .science-year-title {
    font-size: 27px;
  }
  .science-year-count {
    font-size: 13px;
  }
  .science-year-events {
    padding: 0 12px 14px;
  }
  .science-event {
    padding: 18px 16px;
  }
  .science-event-main {
    font-size: 15px;
  }
  .science-cta {
    margin-top: 58px;
    padding: 28px 20px;
  }
  .science-cta-actions {
    flex-direction: column;
  }
  .science-cta-actions .button {
    width: 100%;
  }
}

/* Naslovnica 2026 — završni redizajn */
.front-page-redesign {
  overflow: hidden;
}
.home-hero {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background:
    radial-gradient(circle at 8% 12%, rgba(200,41,50,.2), transparent 32%),
    linear-gradient(135deg, #071a2e 0%, var(--navy-dark) 52%, #163b63 100%);
  isolation: isolate;
}
.home-hero::after {
  content: "";
  position: absolute;
  top: -280px;
  right: -240px;
  z-index: -1;
  width: 720px;
  height: 720px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 50%;
  box-shadow: 0 0 0 80px rgba(255,255,255,.025), 0 0 0 160px rgba(255,255,255,.018);
}
.home-hero-decoration {
  position: absolute;
  left: -95px;
  bottom: -105px;
  z-index: -1;
  width: 300px;
  height: 300px;
  background: repeating-linear-gradient(45deg, transparent 0 12px, rgba(255,255,255,.035) 12px 14px);
  transform: rotate(8deg);
}
.home-hero-grid {
  min-height: 690px;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(400px, .82fr);
  align-items: center;
  gap: 76px;
  padding-block: 78px 88px;
}
.home-hero-copy {
  position: relative;
  z-index: 2;
}
.home-hero-copy .eyebrow,
.home-documents-copy .eyebrow {
  color: #ff8f95;
}
.home-hero-copy h1 {
  max-width: 850px;
  margin: 0 0 25px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(56px, 6.8vw, 92px);
  font-weight: 700;
  letter-spacing: -.057em;
  line-height: .98;
}
.home-hero-copy h1 em {
  color: #ff7b83;
  font-style: normal;
}
.home-hero-copy > p {
  max-width: 680px;
  margin: 0;
  color: rgba(255,255,255,.82);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.62;
}
.home-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 32px;
}
.home-hero-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 720px;
  margin: 40px 0 0;
  padding-top: 25px;
  border-top: 1px solid rgba(255,255,255,.16);
}
.home-hero-facts > div {
  padding-right: 20px;
}
.home-hero-facts > div + div {
  padding-left: 20px;
  border-left: 1px solid rgba(255,255,255,.14);
}
.home-hero-facts dt {
  color: rgba(255,255,255,.5);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.home-hero-facts dd {
  margin: 4px 0 0;
  color: var(--white);
  font-size: 15px;
  font-weight: 750;
  line-height: 1.35;
}
.home-hero-media {
  position: relative;
  min-width: 0;
}
.home-hero-photo,
.home-hero-placeholder {
  width: 100%;
  aspect-ratio: .86 / 1;
  max-height: 570px;
  object-fit: cover;
  object-position: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 34px;
  box-shadow: 0 36px 90px rgba(0,0,0,.34);
}
.home-hero-placeholder {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 20px;
  color: var(--navy);
  background: var(--cream);
  text-align: center;
}
.home-hero-seal {
  position: absolute;
  top: 34px;
  left: -44px;
  width: 168px;
  min-height: 168px;
  display: grid;
  align-content: center;
  padding: 24px;
  color: var(--white);
  background: var(--red);
  border: 8px solid rgba(255,255,255,.92);
  border-radius: 50%;
  box-shadow: var(--shadow-lg);
  text-align: center;
}
.home-hero-seal strong {
  display: block;
  font-family: Georgia, serif;
  font-size: 40px;
  line-height: 1;
}
.home-hero-seal span {
  display: block;
  margin-top: 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  line-height: 1.35;
  text-transform: uppercase;
}
.home-hero-location {
  position: absolute;
  right: -28px;
  bottom: 30px;
  min-width: 235px;
  padding: 18px 20px;
  color: var(--navy);
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 16px;
  box-shadow: var(--shadow-lg);
  text-decoration: none;
  backdrop-filter: blur(12px);
}
.home-hero-location:hover {
  color: var(--red);
  transform: translateY(-2px);
}
.home-hero-location span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.home-hero-location strong {
  display: block;
  margin-top: 2px;
  font-size: 16px;
}

.home-paths {
  position: relative;
  z-index: 5;
  background: var(--white);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 12px 34px rgba(16,45,79,.045);
}
.home-paths-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.home-paths-grid > a {
  min-height: 132px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 24px 22px;
  color: var(--ink);
  border-right: 1px solid var(--line);
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
}
.home-paths-grid > a:first-child {
  border-left: 1px solid var(--line);
}
.home-paths-grid > a:hover {
  color: var(--red);
  background: var(--cream-2);
}
.home-paths-grid svg {
  color: var(--red);
  transition: transform var(--transition);
}
.home-paths-grid > a:hover svg {
  transform: translateX(4px);
}
.home-path-number {
  color: var(--red);
  font-family: Georgia, serif;
  font-size: 25px;
  font-weight: 700;
}
.home-paths-grid strong,
.home-paths-grid small {
  display: block;
}
.home-paths-grid strong {
  color: var(--navy);
  font-size: 16px;
}
.home-paths-grid small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}

.home-news-section {
  background: var(--cream-2);
}
.home-section-heading p {
  max-width: 620px;
  margin: 14px 0 0;
  color: var(--muted);
}
.home-posts-grid .post-card:first-child {
  grid-column: span 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
}
.home-posts-grid .post-card:first-child .post-card-media {
  aspect-ratio: auto;
  min-height: 100%;
}
.home-posts-grid .post-card:first-child .post-card-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 38px;
}
.home-posts-grid .post-card:first-child .post-card-title {
  font-size: clamp(30px, 3.2vw, 42px);
}
.home-posts-grid .post-card:first-child .post-card-body > p {
  font-size: 15px;
}

.home-about-section {
  position: relative;
  background: var(--white);
}
.home-about-grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(480px, 1.1fr);
  align-items: start;
  gap: 78px;
}
.home-about-intro {
  position: sticky;
  top: 120px;
}
.home-about-intro h2 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 4.4vw, 59px);
  letter-spacing: -.04em;
  line-height: 1.08;
}
.home-about-intro p {
  color: var(--muted);
}
.home-about-intro .lead {
  color: var(--navy);
}
.home-about-intro .button {
  margin-top: 14px;
}
.home-pillars {
  display: grid;
  gap: 16px;
}
.home-pillars article {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 62px 1fr;
  column-gap: 22px;
  padding: 30px 32px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 22px;
  transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}
.home-pillars article:hover {
  transform: translateY(-3px);
  border-color: rgba(200,41,50,.25);
  box-shadow: var(--shadow-sm);
}
.home-pillars article > span {
  grid-row: 1 / span 2;
  color: rgba(200,41,50,.28);
  font-family: Georgia, serif;
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
}
.home-pillars h3 {
  margin: 0 0 7px;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: 29px;
  letter-spacing: -.025em;
  line-height: 1.18;
}
.home-pillars p {
  margin: 0;
  color: var(--muted);
}

.home-documents-section {
  padding-top: 24px;
  background: var(--white);
}
.home-documents-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
  align-items: center;
  gap: 64px;
  padding: 58px 62px;
  color: var(--white);
  background: linear-gradient(135deg, var(--navy-dark), var(--navy-soft));
  border-radius: 30px;
  box-shadow: var(--shadow-lg);
}
.home-documents-card::after {
  content: "";
  position: absolute;
  right: -100px;
  bottom: -150px;
  width: 360px;
  height: 360px;
  border: 55px solid rgba(255,255,255,.045);
  border-radius: 50%;
}
.home-documents-copy,
.home-registry-facts {
  position: relative;
  z-index: 2;
}
.home-documents-copy h2 {
  margin: 0;
  color: var(--white);
  font-family: Georgia, serif;
  font-size: clamp(38px, 4.2vw, 56px);
  letter-spacing: -.04em;
  line-height: 1.08;
}
.home-documents-copy p {
  max-width: 720px;
  margin: 18px 0 0;
  color: rgba(255,255,255,.76);
  font-size: 18px;
}
.home-documents-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.home-registry-facts {
  margin: 0;
  padding: 26px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 20px;
  backdrop-filter: blur(10px);
}
.home-registry-facts > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 18px;
  padding: 13px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}
.home-registry-facts > div:last-child {
  border-bottom: 0;
}
.home-registry-facts dt {
  color: rgba(255,255,255,.58);
  font-size: 12px;
  font-weight: 750;
}
.home-registry-facts dd {
  margin: 0;
  color: var(--white);
  font-size: 14px;
  font-weight: 800;
  text-align: right;
}
.home-registry-facts dd span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.home-registry-facts dd span::before {
  content: "";
  width: 8px;
  height: 8px;
  background: #6ee7a8;
  border-radius: 50%;
  box-shadow: 0 0 0 4px rgba(110,231,168,.12);
}

.home-membership-section {
  padding-top: 76px;
  padding-bottom: 98px;
  background: var(--white);
}
.home-membership-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 54px;
  padding: 46px 52px;
  background: var(--cream-2);
  border: 1px solid var(--line);
  border-radius: 28px;
}
.home-membership-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 7px;
  height: 100%;
  background: var(--red);
}
.home-membership-card h2 {
  margin: 0;
  color: var(--navy);
  font-family: Georgia, serif;
  font-size: clamp(36px, 3.8vw, 52px);
  letter-spacing: -.035em;
  line-height: 1.08;
}
.home-membership-card p {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--muted);
}
.home-membership-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 225px;
}

@media (max-width: 1120px) {
  .home-hero-grid {
    grid-template-columns: minmax(0, 1fr) minmax(350px, .75fr);
    gap: 52px;
  }
  .home-hero-seal {
    left: -25px;
  }
  .home-hero-location {
    right: -12px;
  }
  .home-about-grid {
    gap: 52px;
  }
  .home-documents-card {
    gap: 42px;
    padding: 52px 46px;
  }
}

@media (max-width: 960px) {
  .home-hero-grid {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 52px;
    padding-block: 72px 82px;
  }
  .home-hero-copy {
    max-width: 780px;
  }
  .home-hero-media {
    max-width: 680px;
  }
  .home-hero-photo,
  .home-hero-placeholder {
    aspect-ratio: 1.28 / 1;
  }
  .home-paths-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-paths-grid > a:nth-child(2) {
    border-right: 0;
  }
  .home-paths-grid > a:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }
  .home-posts-grid .post-card:first-child {
    grid-column: 1 / -1;
  }
  .home-about-grid {
    grid-template-columns: 1fr;
  }
  .home-about-intro {
    position: static;
    max-width: 760px;
  }
  .home-documents-card {
    grid-template-columns: 1fr;
  }
  .home-registry-facts {
    max-width: 680px;
  }
  .home-membership-card {
    grid-template-columns: 1fr;
  }
  .home-membership-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

@media (max-width: 720px) {
  .home-hero-grid {
    gap: 42px;
    padding-block: 52px 64px;
  }
  .home-hero-copy h1 {
    font-size: clamp(48px, 15vw, 66px);
  }
  .home-hero-copy > p {
    font-size: 17px;
  }
  .home-hero-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .home-hero-actions .button {
    width: 100%;
  }
  .home-hero-facts {
    grid-template-columns: 1fr;
    gap: 0;
    margin-top: 32px;
    padding-top: 18px;
  }
  .home-hero-facts > div,
  .home-hero-facts > div + div {
    padding: 10px 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
  }
  .home-hero-facts > div:last-child {
    border-bottom: 0;
  }
  .home-hero-photo,
  .home-hero-placeholder {
    aspect-ratio: .95 / 1;
    border-radius: 24px;
  }
  .home-hero-seal {
    top: 18px;
    left: 14px;
    width: 126px;
    min-height: 126px;
    padding: 16px;
    border-width: 5px;
  }
  .home-hero-seal strong {
    font-size: 31px;
  }
  .home-hero-seal span {
    font-size: 9px;
  }
  .home-hero-location {
    right: 12px;
    bottom: 15px;
    min-width: 0;
    max-width: calc(100% - 24px);
  }
  .home-paths-grid {
    grid-template-columns: 1fr;
  }
  .home-paths-grid > a,
  .home-paths-grid > a:first-child,
  .home-paths-grid > a:nth-child(2) {
    min-height: 102px;
    border-right: 0;
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }
  .home-section-heading {
    align-items: flex-start;
  }
  .home-posts-grid .post-card:first-child {
    display: block;
  }
  .home-posts-grid .post-card:first-child .post-card-media {
    min-height: 0;
    aspect-ratio: 16 / 10.5;
  }
  .home-posts-grid .post-card:first-child .post-card-body {
    padding: 25px 25px 27px;
  }
  .home-posts-grid .post-card:first-child .post-card-title {
    font-size: 26px;
  }
  .home-about-intro h2,
  .home-documents-copy h2,
  .home-membership-card h2 {
    font-size: 39px;
  }
  .home-pillars article {
    grid-template-columns: 46px 1fr;
    gap: 15px;
    padding: 24px 20px;
  }
  .home-pillars article > span {
    font-size: 32px;
  }
  .home-pillars h3 {
    font-size: 25px;
  }
  .home-documents-section {
    padding-top: 0;
  }
  .home-documents-card {
    gap: 32px;
    padding: 38px 24px;
    border-radius: 24px;
  }
  .home-documents-copy p {
    font-size: 16px;
  }
  .home-documents-actions,
  .home-membership-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .home-documents-actions .button,
  .home-membership-actions .button {
    width: 100%;
  }
  .home-registry-facts {
    padding: 20px;
  }
  .home-registry-facts > div {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .home-registry-facts dd {
    text-align: left;
  }
  .home-membership-section {
    padding-top: 62px;
    padding-bottom: 76px;
  }
  .home-membership-card {
    gap: 30px;
    padding: 34px 24px 34px 30px;
    border-radius: 22px;
  }
}

/* Vijesti — siguran prikaz fotografija bez razvlačenja */
.archive-content .post-card-media,
.related-section .post-card-media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10.5;
  overflow: hidden;
  background: #eef1f4;
}

.archive-content .post-card-image,
.related-section .post-card-image {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center center;
}

.single-article .article-lead-image {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 34px;
  overflow: hidden;
  background: #f1f3f5;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.single-article .article-lead-image .article-lead-photo,
.single-article .article-lead-image img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: 720px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center;
  border-radius: 18px;
  box-shadow: none;
}

.single-article .entry-content img,
.single-article .entry-content img.news-content-image,
.single-article .entry-content a > img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 30px auto !important;
  object-fit: contain !important;
  object-position: center center;
}

.single-article .entry-content figure,
.single-article .entry-content figure.wp-block-image,
.single-article .entry-content .wp-caption,
.single-article .entry-content .gallery {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

.single-article .entry-content figure > img,
.single-article .entry-content .wp-caption > img,
.single-article .entry-content a > img.news-content-image {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.single-article .entry-content img.is-news-placeholder {
  width: min(100%, 760px) !important;
  padding: 24px;
  background: #f3f5f7;
  border: 1px solid var(--line);
}

@media (max-width: 720px) {
  .single-article .article-lead-image {
    width: min(calc(100% - 28px), var(--container));
    margin: 24px auto 0;
    padding: 14px;
    border-radius: 18px;
    box-shadow: var(--shadow-sm);
  }

  .single-article .article-lead-image .article-lead-photo,
  .single-article .article-lead-image img {
    max-height: 520px !important;
    border-radius: 12px;
  }

  .single-article .entry-content img,
  .single-article .entry-content img.news-content-image,
  .single-article .entry-content a > img {
    margin-top: 22px !important;
    margin-bottom: 22px !important;
  }
}
