:root{--navy:#07162a;--navy2:#0b1f3a;--gold:#b8903c;--gold2:#d8b86e;--paper:#f6f2ea;--white:#fff;--muted:#6f7680;--line:rgba(184,144,60,.28);--shadow:0 32px 90px rgba(3,10,22,.32)}*{box-sizing:border-box}html{scroll-behavior:smooth;text-size-adjust:100%;overflow-x:hidden}body{margin:0;background:var(--paper);color:#20242a;line-height:1.6;font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}body.menu-open{overflow:hidden}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.04;margin:0;font-weight:600}.site-header{position:fixed;inset:0 0 auto 0;height:84px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,78px);background:rgba(7,22,42,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.08);transition:.25s}.site-header.scrolled{height:70px;background:rgba(7,22,42,.98)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--white);letter-spacing:.08em;font-weight:800;min-width:0}.brand-mark{width:48px;height:48px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold2);font-family:Georgia,'Times New Roman',serif;font-size:18px;flex:0 0 auto}.brand-text{font-size:14px;white-space:nowrap}.nav{display:flex;gap:34px;align-items:center}.nav a{color:rgba(255,255,255,.84);text-decoration:none;font-size:14px;font-weight:700}.nav a:hover{color:var(--gold2)}.menu-toggle{display:none;background:transparent;border:0;width:46px;height:46px;cursor:pointer;z-index:60;flex:0 0 auto}.menu-toggle span{display:block;width:26px;height:2px;background:var(--gold2);margin:6px auto;transition:.25s}.menu-toggle.active span:nth-child(1){transform:translateY(8px) rotate(45deg)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);align-items:center;gap:clamp(32px,5vw,70px);padding:132px clamp(22px,7vw,104px) 86px;color:var(--white);position:relative;overflow:hidden;background:#07162a}.hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,rgba(6,19,38,.94),rgba(7,22,42,.90) 48%,rgba(16,43,77,.76)),url('hero-bg.jpg') center/cover;transform:scale(1.02)}.hero-bg:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 78% 30%,rgba(216,184,110,.22),transparent 34%)}.hero-inner,.hero-panel{position:relative}.eyebrow,.section-kicker{color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.2em;font-weight:900;margin-bottom:18px}.hero h1{font-size:clamp(54px,6.2vw,92px);letter-spacing:-.035em;max-width:900px}.hero-copy{font-size:clamp(18px,1.55vw,22px);color:rgba(255,255,255,.84);max-width:760px;margin:28px 0 34px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 24px;text-decoration:none;border:1px solid var(--gold);font-weight:900;color:var(--white);transition:.2s}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--gold);color:#111}.button.secondary{background:rgba(255,255,255,.03)}.hero-panel{background:rgba(255,255,255,.055);border:1px solid rgba(216,184,110,.28);box-shadow:var(--shadow);padding:clamp(14px,2vw,24px);max-width:760px}.hero-panel img{display:block;width:100%;height:auto}.section{padding:clamp(76px,8vw,130px) clamp(22px,7vw,104px)}.two-column{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);gap:clamp(34px,6vw,82px);align-items:start}.firm h2,.dark h2,.sectors h2,.approach h2,.contact-simple h2{font-size:clamp(34px,4.2vw,64px);letter-spacing:-.03em;max-width:1000px}.copy p,.contact-simple p{font-size:18px;color:var(--muted);margin-top:0}.metrics{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.metrics div{padding:34px clamp(20px,4vw,60px);border-right:1px solid rgba(255,255,255,.08)}.metrics strong{display:block;color:var(--white);font-family:Georgia,'Times New Roman',serif;font-size:clamp(25px,2.2vw,34px);font-weight:600}.metrics span{color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900}.dark{background:linear-gradient(135deg,var(--navy2),#07162a);color:var(--white)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:50px}.card{padding:clamp(26px,3vw,36px);background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.10);min-height:250px;transition:.25s}.card:hover{transform:translateY(-5px);border-color:rgba(216,184,110,.5)}.card span{display:block;color:var(--gold2);font-size:12px;letter-spacing:.18em;font-weight:900;margin-bottom:28px}.card h3,.steps h3{font-size:clamp(24px,2.3vw,30px)}.card p{color:rgba(255,255,255,.74);margin-bottom:0}.sector-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:42px}.sector-grid span{padding:20px;background:#fff;border:1px solid var(--line);font-weight:900;min-height:72px;display:flex;align-items:center}.approach{background:#fff}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);margin-top:50px}.steps div{background:#fff;padding:clamp(26px,3vw,36px)}.steps strong{color:var(--gold);font-size:12px;letter-spacing:.18em}.steps p{color:var(--muted);margin-bottom:0}.statement{padding:clamp(86px,10vw,132px) clamp(22px,7vw,104px);background:linear-gradient(120deg,#061326,#0b1f3a);color:var(--white);text-align:center}.statement p{max-width:1080px;margin:auto;font-family:Georgia,'Times New Roman',serif;font-size:clamp(36px,5vw,78px);line-height:1.08}.contact-simple p{max-width:800px}.large-email{display:inline-block;margin-top:24px;font-size:clamp(24px,3vw,42px);color:var(--navy2);text-decoration:none;font-weight:900;border-bottom:2px solid var(--gold);word-break:break-word}.footer{background:#061326;color:rgba(255,255,255,.72);padding:44px clamp(22px,7vw,104px);display:grid;gap:24px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:28px;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:24px}.footer strong{color:var(--white);letter-spacing:.14em}.footer-contact{display:grid;gap:6px;text-align:right}.disclaimer{max-width:1180px;font-size:12px;color:rgba(255,255,255,.56)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:1120px){.hero{grid-template-columns:1fr}.hero-panel{max-width:700px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:880px){.site-header{height:76px;padding:0 20px}.brand-mark{width:44px;height:44px}.nav{position:fixed;inset:76px 0 0 0;background:rgba(7,22,42,.985);display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:24px;transform:translateX(100%);transition:transform .25s}.nav.open{transform:translateX(0)}.nav a{font-size:20px;padding:16px 0;width:100%;border-bottom:1px solid rgba(255,255,255,.08)}.menu-toggle{display:block}.hero{min-height:auto;padding:110px 20px 68px;display:block}.hero h1{font-size:clamp(40px,10vw,58px);max-width:100%;letter-spacing:-.025em}.hero-copy{font-size:17px;max-width:100%}.hero-actions{display:grid;grid-template-columns:1fr;gap:12px}.button{width:100%;min-height:48px}.hero-panel{margin-top:38px;max-width:100%}.two-column{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.footer-top{display:grid}.footer-contact{text-align:left}}@media(max-width:620px){.brand{gap:10px}.brand-text{font-size:12px;letter-spacing:.06em}.brand-mark{width:40px;height:40px}.hero{padding:104px 18px 58px}.eyebrow{font-size:10.5px;letter-spacing:.16em;line-height:1.65;white-space:normal}.section{padding:66px 18px}.hero h1{font-size:clamp(38px,10.8vw,48px);line-height:1.06}.firm h2,.dark h2,.sectors h2,.approach h2,.contact-simple h2{font-size:clamp(32px,9vw,44px)}.cards,.sector-grid,.steps,.metrics{grid-template-columns:1fr}.card{min-height:auto}.metrics div{border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.footer{padding:36px 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Final polish v2: mobile menu contrast, header and footer */
.nav a {
  position: relative;
}

.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -7px;
  width: 0;
  height: 1px;
  background: var(--gold2);
  transition: width .22s ease;
}

.nav a:hover::after {
  width: 100%;
}

.footer {
  border-top: 1px solid rgba(216,184,110,.22);
}

.footer-bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 18px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  letter-spacing: .04em;
}

@media(max-width:880px){
  .nav {
    background:
      linear-gradient(180deg, rgba(7,22,42,.995), rgba(6,19,38,.995));
    border-top: 1px solid rgba(216,184,110,.18);
  }

  .nav a {
    color: rgba(255,255,255,.96);
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(216,184,110,.20);
    border-radius: 2px;
    margin: 7px 0;
    padding: 17px 18px;
    width: 100%;
    font-size: 18px;
    letter-spacing: .02em;
  }

  .nav a:hover,
  .nav a:focus {
    color: var(--gold2);
    background: rgba(216,184,110,.085);
    outline: none;
  }

  .nav a::after {
    display: none;
  }

  .menu-toggle {
    border: 1px solid rgba(216,184,110,.26);
    background: rgba(255,255,255,.035);
  }

  .menu-toggle:hover {
    background: rgba(216,184,110,.08);
  }

  .footer-bottom {
    font-size: 11px;
  }
}


/* Ultra v3: mobile menu readability fix only */
@media(max-width:880px){
  .nav {
    position: fixed;
    top: 76px;
    right: 0;
    bottom: 0;
    left: auto;
    width: min(82vw, 360px);
    background: #061326;
    background-image: linear-gradient(180deg, #07162a 0%, #061326 100%);
    border-left: 1px solid rgba(216,184,110,.28);
    border-top: 1px solid rgba(216,184,110,.16);
    box-shadow: -28px 0 80px rgba(0,0,0,.62);
    padding: 22px;
    transform: translateX(110%);
    z-index: 55;
  }

  .nav.open {
    transform: translateX(0);
  }

  .nav.open::before {
    content: "";
    position: fixed;
    top: 0;
    right: 100%;
    width: 100vw;
    height: 100vh;
    background: rgba(3,10,22,.72);
    backdrop-filter: blur(3px);
    pointer-events: none;
  }

  .nav a {
    position: relative;
    z-index: 2;
    display: block;
    color: #ffffff;
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(216,184,110,.32);
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
    text-shadow: none;
    font-weight: 800;
  }

  .nav a + a {
    margin-top: 12px;
  }

  .nav a:hover,
  .nav a:focus {
    color: var(--gold2);
    background: rgba(216,184,110,.13);
    border-color: rgba(216,184,110,.62);
  }
}

@media(max-width:620px){
  .nav {
    width: min(86vw, 340px);
    padding: 20px;
  }

  .nav a {
    font-size: 17px;
    padding: 16px 18px;
  }
}


/* Ultra v4 final: definitive mobile menu layering fix */
.site-header {
  z-index: 100000;
}

.menu-backdrop {
  display: none;
}

@media(max-width:880px){
  body.menu-open {
    overflow: hidden;
    touch-action: none;
  }

  body.menu-open .menu-backdrop {
    display: block;
    position: fixed;
    inset: 76px 0 0 0;
    background: rgba(0,0,0,.76);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
    z-index: 100001;
  }

  .nav {
    position: fixed !important;
    top: 76px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: min(84vw, 360px) !important;
    height: calc(100vh - 76px) !important;
    background: #050d1a !important;
    background-image: linear-gradient(180deg, #07162a 0%, #050d1a 100%) !important;
    border-left: 1px solid rgba(216,184,110,.40) !important;
    border-top: 1px solid rgba(216,184,110,.20) !important;
    box-shadow: -34px 0 90px rgba(0,0,0,.78) !important;
    padding: 24px !important;
    transform: translateX(110%) !important;
    transition: transform .25s ease !important;
    z-index: 100002 !important;
    overflow-y: auto !important;
  }

  .nav.open {
    transform: translateX(0) !important;
  }

  .nav.open::before {
    display: none !important;
    content: none !important;
  }

  .nav a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    margin: 0 0 12px 0 !important;
    padding: 17px 18px !important;
    color: #ffffff !important;
    background: rgba(255,255,255,.075) !important;
    border: 1px solid rgba(216,184,110,.35) !important;
    box-shadow: 0 14px 30px rgba(0,0,0,.28) !important;
    border-radius: 2px !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: .02em !important;
    text-shadow: none !important;
  }

  .nav a:hover,
  .nav a:focus,
  .nav a:active {
    color: var(--gold2) !important;
    background: rgba(216,184,110,.14) !important;
    border-color: rgba(216,184,110,.68) !important;
    outline: none !important;
  }

  .hero,
  .hero *,
  main,
  main * {
    z-index: auto;
  }

  .hero-inner,
  .hero-panel {
    z-index: 1;
  }

  .menu-toggle {
    position: relative;
    z-index: 100003 !important;
  }
}

@media(max-width:620px){
  .nav {
    width: min(88vw, 340px) !important;
    padding: 22px 18px !important;
  }

  .nav a {
    font-size: 17px !important;
    padding: 16px 17px !important;
  }
}
