:root {
  --navy: #0B1C3D;
  --navy-dark: #071228;
  --navy-mid: #152a4f;
  --gray: #5A6577;
  --light-gray: #F4F6F9;
  --accent: #1E3A6E;
  --concrete: #8B939E;
  --white: #ffffff;
  --shadow: 0 12px 40px rgba(11,28,61,0.12);
  --shadow-lg: 0 20px 50px rgba(11,28,61,0.18);
  --radius: 14px;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',system-ui,sans-serif; color:var(--navy); line-height:1.7; background:#fff; }
a { text-decoration:none; color:inherit; }
img { max-width:100%; height:auto; display:block; }

header {
  position:fixed; top:0; left:0; width:100%; z-index:1000;
  background:#ffffff;
  box-shadow:0 2px 20px rgba(0,0,0,0.08);
}
.nav-container {
  max-width:1280px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between; height:100px;
}
.logo img { height:auto; width:150px; max-width:150px; }
nav ul { display:flex; list-style:none; gap:6px; align-items:center; }
nav a {
  padding:10px 15px; font-weight:600; font-size:14.5px; color:var(--navy);
  border-radius:8px; transition:all .2s;
}
nav a:hover, nav a.active { background:var(--light-gray); color:var(--accent); }
.dropdown { position:relative; }
.dropdown-menu {
  position:absolute; top:100%; left:0; min-width:300px;
  background:#fff; border-radius:12px; box-shadow:var(--shadow-lg);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:all .25s; padding:10px 0; z-index:100;
}
.dropdown:hover .dropdown-menu { opacity:1; visibility:visible; transform:translateY(0); }
.dropdown-menu a { display:block; padding:12px 20px; font-size:14px; white-space:nowrap; }
.dropdown-menu a:hover { background:var(--light-gray); }
.cta-btn {
  background:var(--navy); color:#fff !important; padding:12px 20px !important;
  border-radius:8px; font-weight:700; margin-left:6px;
}
.cta-btn:hover { background:var(--accent) !important; }

.menu-toggle { display:none; background:none; border:none; font-size:28px; cursor:pointer; color:var(--navy); }
@media (max-width:900px) {
  .menu-toggle { display:block; }
  nav { position:fixed; top:100px; left:0; width:100%; background:#fff;
        max-height:0; overflow:hidden; transition:max-height .4s; box-shadow:0 10px 30px rgba(0,0,0,0.1); }
  nav.open { max-height:80vh; overflow-y:auto; }
  nav ul { flex-direction:column; padding:16px; gap:4px; }
  .dropdown-menu { position:static; opacity:1; visibility:visible; transform:none;
                   box-shadow:none; padding-left:16px; max-height:0; overflow:hidden; }
  .dropdown.open .dropdown-menu { max-height:400px; }
  .cta-btn { margin:12px 0 0; text-align:center; }
}

.container { max-width:1140px; margin:0 auto; }
.section-title { font-size:clamp(26px,3.8vw,36px); font-weight:800; margin-bottom:14px; color:var(--navy); letter-spacing:-0.3px; }
.section-sub { color:var(--gray); font-size:17px; max-width:680px; margin-bottom:40px; }
.btn {
  display:inline-block; background:var(--navy); color:#fff; padding:14px 28px;
  border-radius:10px; font-weight:700; transition:all .25s; font-size:15px;
}
.btn:hover { background:var(--accent); transform:translateY(-2px); box-shadow:0 8px 20px rgba(11,28,61,0.25); }
.internal-link { color:var(--accent); font-weight:600; border-bottom:1px solid transparent; }
.internal-link:hover { border-bottom-color:var(--accent); }

.cards-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:28px; }
.card {
  background:#fff; border-radius:var(--radius); padding:0 0 28px;
  transition:all .3s; border:1px solid #e8ecf2; overflow:hidden;
  box-shadow:0 4px 16px rgba(11,28,61,0.05);
}
.card:hover { transform:translateY(-8px); box-shadow:var(--shadow-lg); border-color:transparent; }
.card img { width:100%; height:170px; object-fit:cover; }
.card h3 { font-size:17px; margin:18px 20px 10px; line-height:1.35; }
.card p { color:var(--gray); font-size:14.5px; margin:0 20px 16px; }
.card a { font-weight:700; color:var(--accent); font-size:14px; margin:0 20px; display:inline-block; }

.page-header {
  background: url('../images/hero-foundation.jpg') center center / cover no-repeat;
  color:#fff; padding:160px 24px 80px; text-align:center; position:relative; overflow:hidden;
}
.page-header::before {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(7,18,40,0.88) 0%, rgba(11,28,61,0.82) 50%, rgba(21,42,79,0.75) 100%);
}
.page-header .container { position:relative; z-index:2; }
.page-header h1 { font-size:clamp(28px,4vw,42px); font-weight:800; margin-bottom:14px; letter-spacing:-0.4px; }
.page-header p { color:rgba(255,255,255,0.88); max-width:680px; margin:0 auto; font-size:17px; }

.page-content { padding:70px 24px 90px; }
.content-block { max-width:820px; margin:0 auto; }
.content-block p { color:var(--gray); margin-bottom:18px; font-size:16.5px; }
.content-block h2 {
  font-size:23px; margin:40px 0 14px; color:var(--navy);
  padding-left:16px; border-left:4px solid var(--navy);
}
.content-block ul { margin:12px 0 20px 22px; color:var(--gray); }
.content-block li { margin-bottom:8px; }

.blog-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:28px; }
.blog-card {
  background:#fff; border-radius:var(--radius); overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,0.06); transition:all .3s; border:1px solid #eef1f6;
}
.blog-card:hover { transform:translateY(-6px); box-shadow:var(--shadow); }
.blog-card-content { padding:24px; }
.blog-card h3 { font-size:17px; margin-bottom:12px; line-height:1.35; }
.blog-card p { color:var(--gray); font-size:14px; margin-bottom:16px; }

.faq-item { border-bottom:1px solid #e5e9f0; padding:22px 0; }
.faq-item:last-child { border-bottom:none; }
.faq-q { font-weight:700; font-size:17px; cursor:pointer; display:flex; justify-content:space-between; align-items:center; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease; color:var(--gray); }
.faq-item.open .faq-a { max-height:500px; margin-top:12px; }
.faq-q::after { content:'+'; font-size:24px; color:var(--accent); }
.faq-item.open .faq-q::after { content:'−'; }

.contact-section { background:var(--navy); color:#fff; }
.contact-section .section-title { color:#fff; }
.contact-section .section-sub { color:#a0b0c8; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.contact-info p { margin-bottom:16px; color:#c8d4e8; }
.contact-info strong { color:#fff; }
.contact-form input, .contact-form textarea {
  width:100%; padding:14px 16px; border:none; border-radius:8px; margin-bottom:14px;
  font-family:inherit; font-size:15px;
}
.contact-form button {
  width:100%; padding:16px; background:#fff; color:var(--navy);
  border:none; border-radius:8px; font-weight:700; font-size:16px; cursor:pointer;
}
.contact-form button:hover { background:#e8eef7; }

footer { background:var(--navy-dark); color:#8a9bb5; padding:50px 24px 28px; text-align:center; }
footer a { color:#c8d4e8; }
.footer-links { display:flex; justify-content:center; gap:28px; margin:22px 0; flex-wrap:wrap; }

@media (max-width:768px) {
  .contact-grid { grid-template-columns:1fr; }
  .page-content { padding:50px 20px 70px; }
}

/* WordPress admin bar offset */
body.admin-bar header { top: 32px; }
@media (max-width: 782px) {
  body.admin-bar header { top: 46px; }
}
body.admin-bar { padding-top: 0; }
body.admin-bar .page-header { padding-top: 180px; }

/* WordPress alignment */
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-left: 1.5em; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.wp-caption { max-width: 100%; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); position: absolute !important; height: 1px; width: 1px; overflow: hidden; }

/* Content area from editor */
.entry-content img { border-radius: 12px; }
.entry-content h2 { font-size: 23px; margin: 40px 0 14px; color: var(--navy); padding-left: 16px; border-left: 4px solid var(--navy); }
.entry-content p { color: var(--gray); margin-bottom: 18px; font-size: 16.5px; }
.entry-content ul { margin: 12px 0 20px 22px; color: var(--gray); }
.entry-content a { color: var(--accent); font-weight: 600; }

/* Menu current */
.current-menu-item > a,
.current_page_item > a { background: var(--light-gray); color: var(--accent); }

.logo .custom-logo, .logo img.custom-logo { width:150px; height:auto; max-width:150px; }
