/* ══ SHARED CSS — AC Business Solutions ══ */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
  --ink:    #0f1c2e;
  --navy:   #1a3353;
  --steel:  #2c4a6e;
  --accent: #1d6fa4;
  --gold:   #b8923a;
  --gold2:  #d4aa55;
  --mist:   #f2f5f9;
  --smoke:  #e8edf4;
  --white:  #ffffff;
  --text:   #3d4f63;
  --subtle: #6b7f96;
}
html, body { width:100%; overflow-x:hidden; font-family:'DM Sans',sans-serif; color:var(--text); background:#fff; }

/* TOP BAR */
.top-bar { background:var(--ink); color:rgba(255,255,255,.75); font-size:12.5px; padding:8px 24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.top-bar-left { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.top-bar-right { display:flex; align-items:center; gap:14px; }
.top-bar a { color:rgba(255,255,255,.75); text-decoration:none; display:flex; align-items:center; gap:6px; transition:color .2s; }
.top-bar a:hover { color:#fff; }
.top-bar svg { width:13px; height:13px; flex-shrink:0; }
.tb-divider { width:1px; height:14px; background:rgba(255,255,255,.15); }
.tb-social { display:flex; align-items:center; gap:10px; }
.tb-social a { width:26px; height:26px; border-radius:4px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; transition:background .2s; }
.tb-social a:hover { background:rgba(29,111,164,.4); }
.tb-social svg { width:12px; height:12px; color:rgba(255,255,255,.7); }

/* NAVBAR */
nav { background:#fff; border-bottom:1px solid var(--smoke); position:sticky; top:0; z-index:500; transition:box-shadow .3s; }
nav.scrolled { box-shadow:0 4px 24px rgba(15,28,46,.10); }
.nav-inner { max-width:1240px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:76px;  }
.logo { display:flex; align-items:center; gap:14px; text-decoration:none; flex-shrink:0; }
.logo-img-wrap { width:66px; height:66px; border-radius:50%; overflow:hidden; border:2.5px solid var(--smoke); flex-shrink:0; }
.logo-img-wrap img { width:100%; height:100%; object-fit:cover; }
.logo-name { font-family:'Playfair Display',serif; font-weight:700; font-size:15px; color:var(--ink); line-height:1.2; }
.logo-sub { font-size:11px; font-weight:500; color:var(--accent); letter-spacing:1px; text-transform:uppercase; margin-top:2px; }
.nav-links { display:flex; list-style:none; gap:4px; align-items:center; }
.nav-links a { font-family:'DM Sans',sans-serif; font-weight:500; font-size:13.5px; color:var(--navy); text-decoration:none; padding:7px 14px; border-radius:6px; transition:color .2s,background .2s; white-space:nowrap; }
.nav-links a:hover,.nav-links a.active { color:var(--accent); background:#eef4fa; }
.nav-cta { background:var(--accent)!important; color:#fff!important; border-radius:6px!important; padding:8px 20px!important; font-weight:600!important; }
.nav-cta:hover { background:var(--navy)!important; }
.hamburger { display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px; cursor:pointer; padding:8px; width:40px; height:40px; border-radius:6px; }
.hamburger span { display:block; width:22px; height:2px; background:var(--ink); border-radius:2px; transition:.3s; }

/* PAGE HERO — overflow visible so sticky nav dropdown not clipped */
.page-hero { position:relative; width:100%; height:380px; display:flex; align-items:center; }
.page-hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; overflow:hidden; }
.page-hero-overlay { position:absolute; inset:0; background:linear-gradient(105deg,rgba(10,22,40,.88) 0%,rgba(10,22,40,.5) 60%,rgba(10,22,40,.15) 100%); }
.page-hero-content { position:relative; z-index:5; padding:0 80px; max-width:1240px; width:100%; margin:0 auto; }
.page-hero-eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:11.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--gold2); margin-bottom:14px; }
.page-hero-eyebrow::before { content:''; display:block; width:28px; height:1px; background:var(--gold2); }
.page-hero h1 { font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(28px,4vw,52px); color:#fff; line-height:1.18; margin-bottom:12px; }
.page-hero h1 em { font-style:normal; color:var(--gold2); }
.page-hero p { font-size:16px; color:rgba(255,255,255,.78); font-weight:300; max-width:540px; }
.breadcrumb { display:flex; align-items:center; gap:8px; margin-top:18px; font-size:12.5px; color:rgba(255,255,255,.5); }
.breadcrumb a { color:rgba(255,255,255,.6); text-decoration:none; transition:color .2s; }
.breadcrumb a:hover { color:#fff; }
.breadcrumb span { color:rgba(255,255,255,.3); }

/* SECTION SHARED */
.section-header { text-align:center; margin-bottom:52px; }
.eyebrow { display:inline-flex; align-items:center; gap:10px; margin-bottom:14px; font-size:11px; font-weight:600; letter-spacing:2.5px; text-transform:uppercase; color:var(--accent); }
.eyebrow::before,.eyebrow::after { content:''; display:block; width:24px; height:1px; background:var(--accent); }
.section-header h2 { font-family:'Playfair Display',serif; font-weight:700; font-size:clamp(26px,3vw,40px); color:var(--ink); line-height:1.2; }
.section-header h2 em { font-style:normal; color:var(--accent); }
.section-header p { font-size:15px; color:var(--subtle); margin-top:10px; max-width:580px; margin-left:auto; margin-right:auto; }

/* BUTTONS */
.btn-primary { display:inline-flex; align-items:center; gap:8px; background:var(--accent); color:#fff; font-weight:600; font-size:14px; padding:13px 30px; border-radius:6px; text-decoration:none; transition:background .25s,transform .25s,box-shadow .25s; box-shadow:0 6px 20px rgba(29,111,164,.3); }
.btn-primary:hover { background:var(--navy); transform:translateY(-2px); box-shadow:0 10px 28px rgba(29,111,164,.4); }
.btn-outline-dark { display:inline-flex; align-items:center; gap:8px; background:transparent; border:1.5px solid var(--accent); color:var(--accent); font-weight:600; font-size:14px; padding:12px 28px; border-radius:6px; text-decoration:none; transition:background .25s,color .25s; }
.btn-outline-dark:hover { background:var(--accent); color:#fff; }

/* SCROLL ANIMATIONS */
.aos-fade { opacity:0; transform:translateY(30px); transition:opacity .7s ease,transform .7s ease; }
.aos-fade.in { opacity:1; transform:translateY(0); }
.aos-left { opacity:0; transform:translateX(-30px); transition:opacity .7s ease,transform .7s ease; }
.aos-left.in { opacity:1; transform:translateX(0); }
.aos-right { opacity:0; transform:translateX(30px); transition:opacity .7s ease,transform .7s ease; }
.aos-right.in { opacity:1; transform:translateX(0); }

/* FOOTER */
.site-footer { background:#07111f; font-family:'DM Sans',sans-serif; }
.footer-accent { height:3px; background:linear-gradient(90deg,var(--ink) 0%,var(--accent) 50%,var(--gold2) 100%); }
.footer-main { max-width:1200px; margin:0 auto; padding:60px 24px 48px; display:grid; grid-template-columns:2.2fr 1fr 1fr 1.4fr; gap:48px; }
.f-brand-name { font-family:'Playfair Display',serif; font-weight:700; font-size:15px; color:#fff; line-height:1.3; margin-bottom:4px; }
.f-brand-sub { font-size:11px; font-weight:600; color:var(--gold2); letter-spacing:1px; text-transform:uppercase; margin-bottom:18px; }
.f-desc { font-size:13px; color:rgba(255,255,255,.4); line-height:1.85; margin-bottom:22px; }
.f-contact-list { display:flex; flex-direction:column; gap:10px; }
.f-contact-list a { display:flex; align-items:center; gap:10px; text-decoration:none; font-size:13px; color:rgba(255,255,255,.55); transition:color .2s; }
.f-contact-list a:hover { color:#fff; }
.f-contact-list svg { width:14px; height:14px; color:var(--gold2); flex-shrink:0; }
.f-social { display:flex; gap:8px; margin-top:20px; }
.f-social a { width:34px; height:34px; border-radius:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; transition:background .2s; text-decoration:none; }
.f-social a:hover { background:rgba(29,111,164,.3); }
.f-social svg { width:14px; height:14px; color:rgba(255,255,255,.6); }
.f-col-title { font-size:10.5px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.3); margin-bottom:20px; }
.f-links { list-style:none; display:flex; flex-direction:column; gap:10px; }
.f-links a { font-size:13.5px; color:rgba(255,255,255,.5); text-decoration:none; display:flex; align-items:center; gap:7px; transition:color .2s,gap .2s; }
.f-links a:hover { color:#fff; gap:10px; }
.f-links svg { width:12px; height:12px; color:var(--gold2); opacity:.6; }
.f-cta-box { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:22px 20px; }
.f-cta-box h4 { font-size:15px; font-weight:700; color:#fff; margin-bottom:6px; }
.f-cta-box p { font-size:12.5px; color:rgba(255,255,255,.4); line-height:1.7; margin-bottom:16px; }
.f-cta-call { display:flex; align-items:center; justify-content:center; gap:8px; background:var(--accent); color:#fff; text-decoration:none; padding:11px 18px; border-radius:8px; font-size:13.5px; font-weight:600; transition:background .2s; }
.f-cta-call:hover { background:var(--navy); }
.f-cta-call svg { width:14px; height:14px; }
.f-divider { height:1px; background:rgba(255,255,255,.05); max-width:1200px; margin:0 auto; }
.footer-bottom { max-width:1200px; margin:0 auto; padding:18px 24px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; }
.footer-bottom p { font-size:12px; color:rgba(255,255,255,.25); }
.footer-legal { display:flex; gap:18px; }
.footer-legal a { font-size:12px; color:rgba(255,255,255,.25); text-decoration:none; transition:color .2s; }
.footer-legal a:hover { color:rgba(255,255,255,.6); }

/* ══ RESPONSIVE ══ */
@media(max-width:768px){
  nav { position:sticky !important; top:0 !important; z-index:500 !important; }

  .nav-links {
    display:none;
    flex-direction:column;
    position:fixed;
    top:76px;
    left:0; right:0;
    background:#fff;
    border-bottom:1px solid var(--smoke);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    padding:8px 0;
    z-index:499;
  }
  .nav-links.open { display:flex !important; }
  .nav-links li { width:100%; }
  .nav-links a { display:block; padding:13px 24px; border-radius:0; }

  .hamburger { display:flex !important; }

  .page-hero { height:300px; }
  .page-hero-content { padding:0 24px; }
  .footer-main { grid-template-columns:1fr 1fr; gap:32px; }
}
@media(max-width:560px){
  .footer-main { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; text-align:center; }
  .top-bar-right { display:none; }
}