/* WordPress shell and ACF block additions. */
.topbar .nav { min-height: 76px; }
.nav-actions { display: flex; align-items: center; gap: 8px; }
.nav-links > ul { display: flex; align-items: center; gap: 29px; margin: 0; padding: 0; list-style: none; }
.nav-links > ul > li { position: relative; }
.nav-links > ul > li > a { color: var(--navy); font-size: .92rem; }
.nav-links ul ul { position: absolute; z-index: 15; top: calc(100% + 12px); left: 0; min-width: 210px; margin: 0; padding: 12px; list-style: none; background: var(--navy); color: #fff; }
.nav-links ul ul a { display: block; padding: 6px 8px; color: #fff; }
.nav-links ul ul a:hover { color: var(--coral); }
.nav-links li:not(:hover) > ul { display: none; }
.site-page { min-height: 48vh; padding: 160px 0 110px; background: #fff; }
.page-content { max-width: 1180px; margin: 0 auto; }
.page-content > * { max-width: 820px; }
.content-section { padding: 100px 0; background: #fff; }
.content-section--soft { background: var(--blue-soft); }
.content-section--navy { background: var(--navy); color: #fff; }
.content-section-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.content-section-copy h2 { color: var(--navy); }
.content-section--navy .content-section-copy h2 { color: #fff; }
.content-section-text { color: var(--muted); }
.content-section--navy .content-section-text { color: rgba(255,255,255,.75); }
.content-section-media img, .partner-media img { width: 100%; display: block; border-radius: 8px; }
.partner-section { padding: 90px 0; background: #fff; }
.partner-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.partner-section--reverse .partner-media { order: 2; }
.partner-section--reverse .partner-copy { order: 1; }
.worldwide-faq { padding: 100px 0; background: #f1f6f8; }
.worldwide-faq-heading h2 { max-width: none; color: var(--navy); }
.worldwide-faq-list { display: grid; gap: 12px; }
.worldwide-faq-list details { padding: 22px 24px; border: 1px solid var(--line); background: #fff; }
.worldwide-faq-list summary { cursor: pointer; color: var(--navy); font-weight: 700; }
.worldwide-faq-list p { margin: 16px 0 0; color: var(--muted); }
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.blog-card { padding: 24px; border: 1px solid var(--line); background: #fff; }
.blog-card img { width: 100%; margin: -24px -24px 22px; width: calc(100% + 48px); }
.blog-card h2 { font-size: 1.8rem; }
.article-section { padding: 150px 0 100px; background: #fff; }
.article-layout { max-width: 900px; }
.article-layout article > h1 { color: var(--navy); font-size: clamp(3rem, 6vw, 5.8rem); }
.article-content { max-width: 760px; color: var(--muted); }
.article-content h2, .article-content h3 { color: var(--navy); }
@media (max-width: 920px) {
    .nav-actions { margin-left: auto; }
    .nav-links > ul { display: grid; gap: 15px; }
    .nav-links > ul > li > a { display: block; }
    .nav-links ul ul { position: static; min-width: 0; margin-top: 8px; background: transparent; }
    .nav-links ul ul a { color: var(--navy); }
    .content-section-grid, .partner-grid { grid-template-columns: 1fr; gap: 36px; }
    .partner-section--reverse .partner-media, .partner-section--reverse .partner-copy { order: initial; }
    .blog-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .nav-actions { display: none; }
    .blog-grid { grid-template-columns: 1fr; }
}
