*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy: #1C2B4A; --navy-dark: #111E35; --navy-mid: #243660;
  --gold: #B8963E; --gold-light: #D4AF62;
  --cream: #F8F6F1; --cream-dark: #EFECE4;
  --text: #1A1A1A; --text-mid: #444; --text-light: #777; --white: #FFFFFF;
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Plus Jakarta Sans', system-ui, sans-serif;
}
html { scroll-behavior: smooth; }
body { font-family: var(--sans); font-size: 16px; color: var(--text); background: var(--white); line-height: 1.7; -webkit-font-smoothing: antialiased; }

/* NAV */
nav { position:fixed; top:0; left:0; right:0; z-index:100; background:rgba(17,30,53,0.97); backdrop-filter:blur(8px); border-bottom:1px solid rgba(184,150,62,0.18); padding:0 5%; display:flex; align-items:center; justify-content:space-between; height:68px; }
.nav-left { display:flex; align-items:center; gap:40px; }
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; }
.logo-mark { height:28px; width:auto; flex-shrink:0; }
.logo-text { display:flex; flex-direction:column; }
.logo-name { font-family:var(--serif); font-size:1.1rem; font-weight:600; color:var(--white); line-height:1; letter-spacing:.01em; }
.logo-sub { font-size:.43rem; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--gold-light); margin-top:4px; }
.nav-links { display:flex; gap:28px; list-style:none; }
.nav-links a { font-size:.72rem; font-weight:500; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,0.55); text-decoration:none; transition:color .2s; }
.nav-links a:hover, .nav-links a.active { color:var(--white); }
.nav-cta { background:transparent; border:1px solid var(--gold); color:var(--gold-light); font-size:.7rem; font-weight:500; letter-spacing:.08em; text-transform:uppercase; padding:9px 18px; text-decoration:none; transition:all .2s; white-space:nowrap; }
.nav-cta:hover { background:var(--gold); color:var(--navy-dark); }
.nav-burger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:4px; }
.nav-burger span { display:block; width:22px; height:1.5px; background:rgba(255,255,255,0.7); }
.nav-mobile { display:none; }

/* PAGE HEADER */
.page-header { background:var(--navy); padding:140px 5% 80px; }
.page-header-inner { max-width:1100px; margin:0 auto; }
.page-header-label { font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:flex; align-items:center; gap:12px; }
.page-header-label::before { content:''; display:block; width:24px; height:1px; background:var(--gold); }
.page-header h1 { font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.4rem); font-weight:600; color:var(--white); line-height:1.15; max-width:680px; margin-bottom:20px; }
.page-header p { color:rgba(255,255,255,0.62); max-width:560px; font-size:.98rem; line-height:1.8; }

/* UTILITY */
section { padding:88px 5%; }
.section-inner { max-width:1100px; margin:0 auto; }
.section-label { font-size:.66rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; display:flex; align-items:center; gap:12px; }
.section-label::before { content:''; display:block; width:24px; height:1px; background:var(--gold); }

/* BUTTONS */
.btn-primary { background:var(--gold); color:var(--navy-dark); font-size:.76rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:14px 28px; text-decoration:none; display:inline-block; transition:all .2s; }
.btn-primary:hover { background:var(--gold-light); }
.btn-ghost-light { color:rgba(255,255,255,0.62); font-size:.78rem; font-weight:500; text-decoration:none; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.22); transition:all .2s; }
.btn-ghost-light:hover { color:var(--white); border-color:rgba(255,255,255,0.55); }

/* SECTORS */
.sectors-bar { background:var(--cream); border-top:1px solid var(--cream-dark); border-bottom:1px solid var(--cream-dark); padding:48px 5%; }
.sectors-bar-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; gap:32px; flex-wrap:wrap; }
.sectors-bar-label { font-size:.66rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--text-light); white-space:nowrap; }
.sectors-tags { display:flex; gap:10px; flex-wrap:wrap; }
.sector-tag { font-size:.72rem; font-weight:500; color:var(--navy); border:1px solid #C8C3B8; padding:6px 13px; }

/* CTA */
.cta-section { background:var(--navy-dark); padding:96px 5%; text-align:center; }
.cta-section .section-label { justify-content:center; }
.cta-section .section-label::before { display:none; }
.cta-section h2 { font-family:var(--serif); font-size:clamp(1.8rem,3.5vw,2.8rem); font-weight:600; color:var(--white); margin-bottom:16px; line-height:1.2; }
.cta-section p { color:rgba(255,255,255,0.58); max-width:480px; margin:0 auto 40px; font-size:.94rem; line-height:1.75; }
.cta-actions { display:flex; gap:24px; justify-content:center; align-items:center; flex-wrap:wrap; }
.cta-email { font-size:.82rem; color:rgba(255,255,255,0.48); }
.cta-email a { color:var(--gold-light); text-decoration:none; border-bottom:1px solid rgba(184,150,62,0.35); transition:all .2s; }
.cta-email a:hover { color:var(--gold); }

/* FOOTER */
footer { background:#0C1525; padding:32px 5%; }
.footer-inner { max-width:1100px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.footer-brand { font-family:var(--serif); font-size:.9rem; color:rgba(255,255,255,0.35); }
.footer-links { display:flex; gap:22px; align-items:center; flex-wrap:wrap; }
.footer-links a { font-size:.68rem; color:rgba(255,255,255,0.3); text-decoration:none; letter-spacing:.06em; text-transform:uppercase; transition:color .2s; }
.footer-links a:hover { color:rgba(255,255,255,0.7); }
.footer-ico { font-size:.68rem; color:rgba(255,255,255,0.2); }

/* ── PACKAGES MATRIX ── */
.pkg-matrix { width:100%; border-collapse:collapse; margin-bottom:48px; }
.pkg-matrix th { background:var(--navy); color:var(--white); font-family:var(--serif); font-size:1rem; font-weight:600; padding:20px 18px 16px; text-align:left; border-right:1px solid rgba(255,255,255,0.08); vertical-align:bottom; line-height:1.2; }
.pkg-matrix th:first-child { background:var(--navy-dark); font-family:var(--sans); font-size:.65rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,0.4); }
.pkg-matrix th .pkg-m-sub { display:block; font-family:var(--sans); font-size:.58rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-light); margin-top:5px; }
.pkg-matrix td { padding:13px 18px; font-size:.83rem; border-bottom:1px solid var(--cream-dark); border-right:1px solid var(--cream-dark); color:var(--text-mid); vertical-align:middle; }
.pkg-matrix td:first-child { font-weight:500; color:var(--navy); background:var(--cream); font-size:.8rem; border-right:2px solid var(--cream-dark); }
.pkg-matrix tr:nth-child(even) td { background:#FDFCF9; }
.pkg-matrix tr:nth-child(even) td:first-child { background:var(--cream); }
.pkg-matrix .yes { color:#1A6B3E; font-weight:600; }
.pkg-matrix .inc { color:var(--navy); font-size:.76rem; }
.pkg-matrix .no { color:#CCC; }
.pkg-matrix .partial { color:#7A6020; font-size:.76rem; }
.col-found { background:rgba(184,150,62,0.04); }
.col-cover { background:rgba(170,75,62,0.03); }

/* ── PACKAGE CARDS ── */
.pkg-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-bottom:2px; }
.pkg-cards-bottom { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.pkg { background:var(--white); padding:34px 30px 28px; border-top:3px solid var(--cream-dark); display:flex; flex-direction:column; }
.pkg.pkg-foundations { border-top-color:var(--gold); }
.pkg.pkg-advisory { border-top-color:#6A8FA0; }
.pkg.pkg-fractional { border-top-color:var(--navy); }
.pkg.pkg-oncall { border-top-color:#7B6A9A; }
.pkg.pkg-cover { border-top-color:#9A4A3E; background:#FDF9F8; }
.pkg-label { font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-bottom:14px; }
.pkg-foundations .pkg-label { color:#8A6E2A; }
.pkg-advisory .pkg-label { color:#3A6070; }
.pkg-fractional .pkg-label { color:var(--navy); }
.pkg-oncall .pkg-label { color:#5A4A7A; }
.pkg-cover .pkg-label { color:#9A4A3E; }
.pkg h3 { font-family:var(--serif); font-size:1.3rem; font-weight:600; color:var(--navy); margin-bottom:8px; line-height:1.2; }
.pkg-trigger { font-size:.82rem; color:var(--text-light); font-style:italic; margin-bottom:18px; line-height:1.6; padding-bottom:18px; border-bottom:1px solid var(--cream-dark); }
.pkg-cover .pkg-trigger { font-style:normal; font-weight:600; color:#7A3A2E; font-size:.84rem; }
.pkg-list { list-style:none; flex:1; margin-bottom:20px; }
.pkg-list li { font-size:.82rem; color:var(--text-mid); line-height:1.6; padding:5px 0 5px 16px; position:relative; border-bottom:1px solid rgba(239,236,228,0.7); }
.pkg-list li:last-child { border-bottom:none; }
.pkg-list li::before { content:'–'; position:absolute; left:0; color:var(--gold); font-weight:600; }
.pkg-list li.highlight { color:var(--navy); font-weight:500; }
.pkg-sub-note { font-size:.74rem; background:var(--cream); padding:10px 14px; color:var(--text-mid); border-left:2px solid var(--gold); margin-bottom:18px; line-height:1.6; }
.pkg-enquire { font-size:.68rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--navy); text-decoration:none; border-bottom:1px solid rgba(28,43,74,0.22); padding-bottom:2px; transition:all .2s; align-self:flex-start; }
.pkg-enquire:hover { color:var(--gold); border-color:var(--gold); }
.pkg-flex-bar { background:var(--navy); padding:22px 28px; margin-top:2px; display:flex; align-items:center; gap:16px; }
.pkg-flex-bar p { font-size:.83rem; color:rgba(255,255,255,0.68); line-height:1.6; }
.pkg-flex-bar strong { color:var(--gold-light); }

/* ── INSIGHTS ── */
.insights-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.insight-card { background:var(--white); padding:0; display:flex; flex-direction:column; border:1px solid var(--cream-dark); transition:box-shadow .2s; text-decoration:none; color:inherit; }
.insight-card:hover { box-shadow:0 4px 24px rgba(28,43,74,0.08); }
.insight-img { height:6px; }
.insight-img.cat-method { background:var(--gold); }
.insight-img.cat-ai { background:var(--navy); }
.insight-img.cat-leadership { background:#6A8FA0; }
.insight-img.cat-insight { background:#7B6A9A; }
.insight-img.cat-continuity { background:#9A4A3E; }
.insight-body { padding:28px 26px; flex:1; display:flex; flex-direction:column; }
.insight-cat { font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--text-light); margin-bottom:12px; }
.insight-card h3 { font-family:var(--serif); font-size:1.15rem; font-weight:600; color:var(--navy); line-height:1.3; margin-bottom:10px; }
.insight-card p { font-size:.83rem; color:var(--text-mid); line-height:1.7; flex:1; margin-bottom:18px; }
.insight-meta { display:flex; justify-content:space-between; align-items:center; padding-top:16px; border-top:1px solid var(--cream-dark); }
.insight-date { font-size:.68rem; color:var(--text-light); }
.insight-read { font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--navy); text-decoration:none; }

/* ── MISC ── */
.divider { border:none; border-top:1px solid var(--cream-dark); margin:0; }
.services-subnav { background:var(--cream); border-bottom:1px solid var(--cream-dark); padding:0 5%; position:sticky; top:68px; z-index:50; }
.services-subnav-inner { max-width:1100px; margin:0 auto; display:flex; overflow-x:auto; }
.services-subnav a { font-size:.68rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-light); text-decoration:none; padding:15px 20px 13px; border-bottom:2px solid transparent; transition:all .2s; white-space:nowrap; }
.services-subnav a:hover { color:var(--navy); }
.services-subnav a.act { color:var(--navy); border-bottom-color:var(--gold); }
.scat { padding:72px 5%; }
.scat:nth-child(odd) { background:var(--white); }
.scat:nth-child(even) { background:var(--cream); }
.cat-head { display:grid; grid-template-columns:1fr 2fr; gap:56px; margin-bottom:44px; padding-bottom:36px; border-bottom:1px solid var(--cream-dark); align-items:start; }
.cat-tag { display:inline-block; font-size:.6rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:5px 12px; margin-bottom:12px; }
.cat-tag.st { background:rgba(184,150,62,.1); color:#7A6020; }
.cat-tag.op { background:rgba(28,43,74,.08); color:var(--navy); }
.cat-tag.co { background:rgba(154,74,62,.08); color:#7A3A2E; }
.cat-tag.ws { background:rgba(123,106,154,.1); color:#5A4A7A; }
.cat-head h2 { font-family:var(--serif); font-size:clamp(1.4rem,2.5vw,1.9rem); font-weight:600; color:var(--navy); line-height:1.2; }
.cat-head-right p { font-size:.92rem; color:var(--text-mid); line-height:1.8; }
.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.svc { background:var(--white); padding:24px 24px 20px; border-left:3px solid transparent; transition:border-color .2s; }
.svc:hover { border-left-color:var(--gold); }
.svc h4 { font-family:var(--serif); font-size:.98rem; font-weight:600; color:var(--navy); margin-bottom:8px; line-height:1.3; }
.svc p { font-size:.8rem; color:var(--text-mid); line-height:1.7; }
.svc a { display:inline-block; margin-top:10px; font-size:.66rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); text-decoration:none; border-bottom:1px solid rgba(184,150,62,.3); transition:all .2s; }
.svc a:hover { color:var(--navy); }

@media(max-width:960px){
  .nav-links{display:none;} .nav-burger{display:flex;}
  .nav-mobile.open{display:flex;flex-direction:column;position:fixed;top:68px;left:0;right:0;background:var(--navy-dark);border-top:1px solid rgba(255,255,255,0.08);padding:20px 5%;gap:0;z-index:99;}
  .nav-mobile a{color:rgba(255,255,255,0.7);text-decoration:none;font-size:.88rem;font-weight:500;padding:15px 0;border-bottom:1px solid rgba(255,255,255,0.06);display:block;}
  .pkg-cards-grid{grid-template-columns:1fr 1fr;} .pkg-cards-bottom{grid-template-columns:1fr 1fr;}
  .insights-grid{grid-template-columns:1fr 1fr;}
  .cat-head{grid-template-columns:1fr;gap:20px;} .svc-grid{grid-template-columns:1fr 1fr;}
  .pkg-matrix th,.pkg-matrix td{padding:10px 12px;font-size:.78rem;}
}
@media(max-width:640px){
  nav{padding:0 6%;} section{padding:64px 6%;} .page-header{padding:120px 6% 60px;}
  .pkg-cards-grid{grid-template-columns:1fr;} .pkg-cards-bottom{grid-template-columns:1fr;}
  .insights-grid{grid-template-columns:1fr;}
  .sectors-bar-inner{flex-direction:column;align-items:flex-start;gap:14px;}
  .footer-inner{flex-direction:column;align-items:flex-start;}
  .svc-grid{grid-template-columns:1fr;}
  .pkg-matrix{font-size:.72rem;} .pkg-matrix th,.pkg-matrix td{padding:8px 10px;}
}