 :root {
  --navy: #0B2345; --navy-deep: #06172F; --navy-mid: #12345C;
  --gold: #C5A46D; --gold-bright: #E0BD78; --ivory: #F5F3EE;
  --white: #FFFFFF; --ink: #15263D; --muted: #657184;
  --serif: "Playfair Display", Georgia, serif; --sans: "DM Sans", Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); font-family: var(--sans); line-height: 1.65; background: #fff; }
a { color: inherit; text-decoration: none; }
.site-header { min-height: 106px; display:flex; align-items:center; justify-content:space-between; padding: 0 clamp(22px, 6vw, 88px); background:#fff; position:sticky; top:0; z-index:20; box-shadow:0 5px 25px rgba(8,28,54,.06); }
.brand { display:flex; align-items:center; min-width:0; color:var(--navy); }
.brand-wordmark { display:block; width:270px; height:auto; max-height:96px; object-fit:contain; }
.nav { display:flex; align-items:center; gap:30px; font-size:15px; font-weight:600; color:#35445A; }
.nav a:hover { color:#9B773F; }
.nav .nav-cta { padding:11px 20px; color:#fff; background:var(--navy); border:1px solid var(--navy); }
.menu-toggle { display:none; border:0; background:none; color:var(--navy); font-size:25px; }
.hero { min-height:650px; position:relative; overflow:hidden; background:linear-gradient(112deg,#00142A 0%,#03182F 58%,#00142A 100%); color:#fff; padding:100px clamp(24px, 9vw, 140px) 70px; }
.hero:after { content:""; position:absolute; inset:0; opacity:.035; background-image:radial-gradient(#D7B77A 1px,transparent 1px); background-size:35px 35px; mask-image:linear-gradient(90deg,transparent 25%,#000 100%); pointer-events:none; }
.hero-glow { position:absolute; width:760px; height:760px; right:-120px; top:-190px; background:radial-gradient(circle,rgba(197,164,109,.13),transparent 70%); }
.hero-content { position:relative; z-index:3; max-width:560px; }
.eyebrow,.section-kicker { color:#9B773F; font-size:11px; font-weight:700; letter-spacing:.2em; }
.hero .eyebrow { display:inline-block; color:#D9AD55; font-size:12px; font-weight:700; letter-spacing:.2em; margin:0 0 25px; text-decoration:none; transition:color .2s ease; }
.hero .eyebrow:hover,.hero .eyebrow:focus-visible { color:#F0CF86; text-decoration:none; }
h1,h2,h3,p { margin-top:0; }
h1,h2 { font-family:var(--serif); font-weight:500; line-height:1.12; }
h1 { font-size:clamp(46px,6vw,78px); margin-bottom:22px; letter-spacing:-.025em; }
h1 em,h2 em { color:var(--gold-bright); font-weight:500; }
.hero-copy { font-size:21px; font-weight:600; margin-bottom:12px; }
.hero-subcopy { max-width:550px; color:#C8D1DD; font-size:15px; }
.hero-actions { display:flex; align-items:center; gap:28px; margin-top:35px; }
.button { display:inline-flex; align-items:center; gap:12px; padding:14px 22px; font-size:13px; font-weight:700; letter-spacing:.02em; transition:.2s ease; }
.button-gold { background:linear-gradient(135deg,#D9B978,#B88C4B); color:#071A33; box-shadow:0 8px 24px rgba(0,0,0,.18); }
.button-gold:hover { transform:translateY(-2px); filter:brightness(1.06); }
.text-link { color:#F2E7D2; font-size:13px; font-weight:600; }
.text-link span,.underlined-link span { color:var(--gold-bright); margin-left:8px; }
.hero-art { position:absolute; z-index:1; width:min(57vw,900px); height:auto; right:1.5vw; top:50%; transform:translateY(-50%); display:flex; align-items:center; justify-content:center; pointer-events:none; }
.hero-art-image { display:block; width:100%; height:auto; object-fit:contain; object-position:center; mix-blend-mode:normal; }
.hero-bottom-line { position:absolute; z-index:3; bottom:27px; left:clamp(24px,9vw,140px); display:flex; align-items:center; gap:14px; color:#B7C3D1; font-size:9px; letter-spacing:.2em; }
.hero-bottom-line span { width:32px; height:1px; background:var(--gold); }
.section { padding:105px clamp(24px, 9vw, 140px); }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:10%; margin-top:28px; }
h2 { font-size:clamp(34px,4.1vw,52px); color:var(--navy); margin-bottom:22px; }
.lead { font-size:19px; color:#283B55; line-height:1.55; }
.intro-grid p:not(.lead),.muted { color:var(--muted); font-size:14px; }
.underlined-link { display:inline-block; margin-top:16px; padding-bottom:8px; border-bottom:1px solid var(--gold); color:var(--navy); font-size:13px; font-weight:700; }
.section-dark { background:var(--navy-deep); color:#fff; }
.gold-kicker { color:var(--gold-bright); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin:24px 0 45px; }
.section-heading h2 { color:#fff; margin:0; }
.section-heading p { max-width:350px; color:#B7C3D1; font-size:14px; margin:0 0 5px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.13); }
.service-card { min-height:260px; padding:28px; background:#0A1E39; position:relative; }
.service-number { color:var(--gold); font-size:11px; letter-spacing:.15em; }
.service-icon { position:absolute; top:25px; right:28px; color:var(--gold-bright); font-size:27px; }
.service-card h3 { margin:43px 0 12px; font-family:var(--serif); font-weight:500; font-size:22px; }
.service-card p { color:#B7C3D1; font-size:13px; margin:0; }
.service-card-highlight { background:linear-gradient(135deg,#142F50,#0A1E39); }
.service-card-highlight h3 { margin-top:22px; }
.card-overline,.panel-label { color:var(--gold-bright)!important; font-size:9px!important; font-weight:700; letter-spacing:.16em; }
.light-link { color:#fff; }
.industry-layout { display:grid; grid-template-columns:.95fr 1.05fr 1.35fr; gap:4.5%; align-items:center; margin-top:8px; }
.industry-logo-wrap { display:flex; align-items:center; justify-content:center; min-width:0; }
.industry-mark { display:block; width:100%; max-width:390px; height:auto; object-fit:contain; mix-blend-mode:multiply; }
.industry-copy { border-left:2px solid var(--gold); padding-left:clamp(22px,2.5vw,42px); }
.industry-copy .section-kicker { margin-bottom:18px; }
.industry-copy h2 { margin-bottom:20px; }
.industry-copy .muted { margin-bottom:0; }
.industry-list { border-top:1px solid #D9DDE3; }
.industry-list div { padding:17px 0; border-bottom:1px solid #D9DDE3; font-family:var(--serif); font-size:18px; }
.industry-list span { color:#B08A50; font:600 10px var(--sans); margin-right:24px; letter-spacing:.1em; }
.section-soft { background:var(--ivory); }
.centered { display:block; text-align:center; max-width:650px; margin:24px auto 50px; }
.centered h2 { color:var(--navy); }
.centered p { color:var(--muted); white-space:nowrap; max-width:none; }
.steps { display:grid; grid-template-columns:repeat(5,1fr); gap:20px; }
.steps article { border-top:2px solid var(--gold); padding-top:18px; }
.steps article span { color:#A17C45; font-size:11px; font-weight:700; letter-spacing:.15em; }
.steps h3 { color:var(--navy); font-family:var(--serif); font-size:20px; font-weight:500; margin:15px 0 8px; }
.steps p { color:var(--muted); font-size:12px; }
.contact-grid { display:grid; grid-template-columns:1fr .8fr; gap:12%; align-items:center; }
.contact h2 { color:#fff; margin:20px 0; }
.contact-grid>div>p:not(.section-kicker) { max-width:480px; color:#B7C3D1; font-size:14px; }
.email-link { display:inline-block; color:var(--gold-bright); font-family:var(--serif); font-size:22px; margin-top:12px; border-bottom:1px solid rgba(224,189,120,.5); }
.contact-panel { border:1px solid rgba(224,189,120,.45); padding:34px; background:rgba(255,255,255,.035); }
.contact-panel h3 { font-family:var(--serif); font-size:26px; font-weight:500; }
.contact-panel p:not(.panel-label) { color:#B7C3D1; font-size:13px; }
.contact-panel .button { margin-top:15px; }
.footer { background:#041226; color:#fff; padding:35px clamp(24px,9vw,140px) 22px; }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-brand img { width:42px; height:42px; object-fit:contain; }
.footer-brand strong { display:block; font-family:var(--serif); letter-spacing:.12em; }
.footer-brand small { display:block; font-size:8px; color:var(--gold); letter-spacing:.12em; }
.footer>p { color:#C7D0DC; font-family:var(--serif); font-style:italic; margin:20px 0 25px 54px; }
.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.12); padding-top:17px; color:#8E9BAD; font-size:11px; }
.footer-bottom a { color:var(--gold-bright); }
@media (max-width:900px) {
  .nav { gap:16px; font-size:14px; }
  .hero-art { opacity:1; width:58vw; right:0; top:50%; }
  .service-grid { grid-template-columns:repeat(2,1fr); }
  .steps { grid-template-columns:repeat(3,1fr); row-gap:30px; }
}
@media (max-width:680px) {
  .site-header { min-height:80px; padding:8px 18px; }
  .brand { min-width:0; }
  .brand-wordmark { width:min(54vw,220px); max-height:68px; }
  .menu-toggle { display:block; }
  .nav { display:none; position:absolute; top:88px; left:0; right:0; padding:18px 24px 24px; background:#fff; box-shadow:0 15px 25px rgba(8,28,54,.12); flex-direction:column; align-items:stretch; gap:0; }
  .nav.open { display:flex; }.nav a { padding:12px 0; }.nav .nav-cta { text-align:center; margin-top:8px; padding:12px; }
  .hero { min-height:820px; padding-top:82px; padding-bottom:280px; }.hero-content { max-width:100%; }.hero-art { width:calc(100% - 36px); height:auto; right:18px; top:auto; bottom:78px; transform:none; opacity:1; }
  .hero-bottom-line { font-size:7px; letter-spacing:.12em; }
  .hero-actions { align-items:flex-start; flex-direction:column; gap:18px; }
  .section { padding-top:75px; padding-bottom:75px; }
  .intro-grid,.contact-grid { grid-template-columns:1fr; gap:30px; }
  .industry-layout { grid-template-columns:1fr; gap:24px; }
  .industry-logo-wrap { grid-row:auto; justify-content:flex-start; }
  .industry-mark { width:min(68%,260px); max-width:260px; }
  .industry-copy { grid-column:auto; grid-row:auto; padding-left:20px; }
  .industry-list { grid-column:auto; }
  .section-heading { display:block; }.section-heading p { margin-top:20px; }.centered p { white-space:normal; }
  .service-grid { grid-template-columns:1fr; }.service-card { min-height:220px; }
  .steps { grid-template-columns:1fr 1fr; }

  .footer-bottom { flex-direction:column; gap:8px; }
}


/* Final composite hero artwork */
.hero.hero-composite {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #00142A !important;
  color: #fff;
}
.hero.hero-composite::before,
.hero.hero-composite::after { display: none !important; }
.hero-composite-image {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  object-fit: contain;
}
.hero-hotspot {
  position: absolute;
  display: block;
  z-index: 5;
  border-radius: 2px;
  text-decoration: none;
}
.hero-hotspot-contact {
  left: 6.5%;
  top: 69.8%;
  width: 12.7%;
  height: 8.3%;
}
.hero-hotspot-services {
  left: 21.0%;
  top: 72.0%;
  width: 12.2%;
  height: 6.0%;
}
.hero-hotspot:focus-visible {
  outline: 3px solid #F0C66B;
  outline-offset: 3px;
}
@media (max-width: 680px) {
  .hero.hero-composite { min-height: 0 !important; padding: 0 !important; }
  .hero-composite-image { width: 100%; height: auto; }
}


/* Mobile-specific hero: keep the brand message as live, readable text. */
.hero-mobile-content { display:none; }
@media (max-width:680px) {
  .hero.hero-composite { background:#061A33 !important; color:#fff; }
  .hero-composite-image, .hero-hotspot { display:none !important; }
  .hero-mobile-content {
    display:block;
    padding:42px 22px 28px;
    color:#fff;
    background:linear-gradient(155deg,#061A33 0%,#0A2342 68%,#06172D 100%);
  }
  .hero-mobile-kicker {
    color:#E7BE72;
    font:700 10px/1.5 'DM Sans',sans-serif;
    letter-spacing:.16em;
    margin-bottom:24px;
  }
  .hero-mobile-content h1 {
    color:#fff;
    font:600 clamp(35px,9vw,43px)/1.08 'Playfair Display',Georgia,serif;
    letter-spacing:-.025em;
    margin:0 0 18px;
  }
  .hero-mobile-content h1 em { color:#E8BE70; font-weight:500; }
  .hero-mobile-content h2 {
    color:#fff;
    font:600 17px/1.4 'DM Sans',sans-serif;
    margin:0 0 12px;
  }
  .hero-mobile-content p {
    color:#D4DDE8;
    font:400 14px/1.65 'DM Sans',sans-serif;
    margin:0;
    max-width:36em;
  }
  .hero-mobile-actions {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:15px;
    margin-top:24px;
  }
  .hero-mobile-primary {
    display:block;
    text-align:center;
    background:#E9BD63;
    color:#071A32;
    padding:15px 18px;
    border-radius:2px;
    font:700 14px/1.3 'DM Sans',sans-serif;
    text-decoration:none;
  }
  .hero-mobile-secondary {
    display:block;
    text-align:center;
    color:#fff;
    padding:7px 12px;
    font:600 14px/1.4 'DM Sans',sans-serif;
    text-decoration:none;
  }
  .hero-mobile-secondary span { color:#E9BD63; margin-left:5px; }
  .hero-mobile-globe {
    height:180px;
    margin:24px -22px 0;
    background-image:url('assets/marceli-meridian-hero-composite.png');
    background-repeat:no-repeat;
    background-size:auto 220px;
    background-position:right center;
  }
  .hero-mobile-foot {
    display:flex;
    align-items:center;
    gap:10px;
    color:#D6DCE6;
    font:700 9px/1.5 'DM Sans',sans-serif;
    letter-spacing:.16em;
    margin-top:4px;
  }
  .hero-mobile-foot::before,.hero-mobile-foot::after {
    content:''; display:block; height:1px; width:22px; background:#D9B36D;
  }
}
