/* Massi Network Group — Premium Institutional Black/Gold Upgrade */
:root{
  --mng-gold:#C9A84C;
  --mng-gold-bright:#E7C86A;
  --mng-black:#050505;
  --mng-charcoal:#0A0A0A;
  --mng-panel:#101010;
  --mng-ink:#F4F0E8;
  --mng-muted:#A9A39A;
  --mng-line:rgba(201,168,76,.22);
  --mng-soft:rgba(201,168,76,.08);
}

html{scroll-behavior:smooth;}
body{
  background:
    radial-gradient(circle at 20% 0%, rgba(201,168,76,.075), transparent 32rem),
    radial-gradient(circle at 85% 18%, rgba(201,168,76,.045), transparent 30rem),
    linear-gradient(180deg,#040404 0%,#090909 52%,#050505 100%) !important;
  color:var(--mng-ink) !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 82%);
}

nav{
  height:78px !important;
  padding:0 clamp(18px,4vw,64px) !important;
  background:rgba(5,5,5,.82) !important;
  border-bottom:1px solid var(--mng-line) !important;
  box-shadow:0 18px 60px rgba(0,0,0,.38) !important;
}

.nav-logo img, nav img[src*="logo"]{
  filter:drop-shadow(0 8px 22px rgba(201,168,76,.15));
}

.nav-links{gap:clamp(18px,2.4vw,34px) !important;}
.nav-links a{
  color:rgba(244,240,232,.72) !important;
  font-size:10px !important;
  letter-spacing:2.4px !important;
}
.nav-links a:hover{color:var(--mng-gold-bright) !important;}

.nav-cta,.cta-primary,button.cta-primary,input[type="submit"],button[type="submit"]{
  border:1px solid rgba(231,200,106,.78) !important;
  background:linear-gradient(135deg,#E7C86A 0%,#C9A84C 42%,#9F7F2F 100%) !important;
  color:#050505 !important;
  border-radius:0 !important;
  box-shadow:0 16px 40px rgba(201,168,76,.16), inset 0 1px 0 rgba(255,255,255,.38) !important;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease !important;
}
.nav-cta:hover,.cta-primary:hover,button[type="submit"]:hover{
  transform:translateY(-2px) !important;
  filter:saturate(1.08) brightness(1.06) !important;
  box-shadow:0 22px 55px rgba(201,168,76,.24), inset 0 1px 0 rgba(255,255,255,.44) !important;
}

.hero{
  min-height:100svh !important;
  padding-top:120px !important;
  isolation:isolate;
}
.hero-bg{
  background:
    linear-gradient(180deg,rgba(5,5,5,.25),rgba(5,5,5,.96)),
    radial-gradient(ellipse at center,rgba(201,168,76,.13),transparent 58%),
    linear-gradient(135deg,#040404 0%,#0E0E0E 50%,#050505 100%) !important;
}
.hero-bg::before{
  height:170px !important;
  background:linear-gradient(180deg,transparent,rgba(231,200,106,.95),transparent) !important;
}
.hero-label{
  letter-spacing:5px !important;
  color:var(--mng-gold-bright) !important;
  opacity:.96 !important;
}
.hero-headline{
  max-width:1040px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  font-size:clamp(54px,8.5vw,116px) !important;
  line-height:.94 !important;
  letter-spacing:-.065em !important;
  font-weight:250 !important;
  text-wrap:balance;
  text-shadow:0 22px 70px rgba(0,0,0,.74) !important;
}
.hero-headline strong{
  font-weight:760 !important;
  letter-spacing:-.055em !important;
}
.hero-headline em{
  color:var(--mng-gold-bright) !important;
  font-family:Georgia, 'Times New Roman', serif !important;
  font-weight:400 !important;
  letter-spacing:-.045em !important;
}
.hero-sub{
  color:rgba(244,240,232,.64) !important;
  letter-spacing:3.6px !important;
}
.hero-body{
  max-width:740px !important;
  color:rgba(244,240,232,.78) !important;
  font-size:clamp(16px,1.35vw,19px) !important;
  line-height:1.85 !important;
}
.hero-services{
  color:rgba(231,200,106,.78) !important;
  border:1px solid var(--mng-line) !important;
  background:rgba(201,168,76,.04) !important;
  padding:14px 20px !important;
  backdrop-filter:blur(12px);
}
.cta-secondary{
  border:1px solid rgba(244,240,232,.16) !important;
  background:rgba(255,255,255,.035) !important;
  backdrop-filter:blur(14px);
  color:var(--mng-ink) !important;
}
.cta-secondary:hover{
  border-color:rgba(201,168,76,.45) !important;
  background:rgba(201,168,76,.07) !important;
}

section:not(.hero), .section, .content-section{
  position:relative;
}
.section-label,.eyebrow,.hero-label,.stat-label{
  text-transform:uppercase;
}
h1,h2,h3,.section-title{
  text-wrap:balance;
}
h2,.section-title{
  letter-spacing:-.035em !important;
  font-weight:520 !important;
}
p,.section-text,.body-text,li{
  color:rgba(244,240,232,.74) !important;
}

.card,.service-card,.division-card,.market-card,.report-card,.client-card,.feature-card,.form-card,.contact-card,.legal-card,.stat-item{
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.022)) !important;
  border:1px solid rgba(201,168,76,.18) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.32) !important;
  backdrop-filter:blur(18px);
}
.card:hover,.service-card:hover,.division-card:hover,.market-card:hover,.report-card:hover,.client-card:hover,.feature-card:hover{
  border-color:rgba(231,200,106,.38) !important;
  transform:translateY(-4px);
  box-shadow:0 34px 95px rgba(0,0,0,.46),0 0 0 1px rgba(231,200,106,.06) inset !important;
}

.stats-bar{
  border-top:1px solid var(--mng-line) !important;
  border-bottom:1px solid var(--mng-line) !important;
  background:rgba(10,10,10,.78) !important;
  backdrop-filter:blur(18px);
}
.stat-number{
  color:var(--mng-gold-bright) !important;
  letter-spacing:-.04em !important;
}

input,textarea,select{
  background:rgba(255,255,255,.035) !important;
  border:1px solid rgba(201,168,76,.22) !important;
  color:var(--mng-ink) !important;
  border-radius:0 !important;
}
input:focus,textarea:focus,select:focus{
  outline:none !important;
  border-color:rgba(231,200,106,.74) !important;
  box-shadow:0 0 0 3px rgba(201,168,76,.12) !important;
}

footer{
  background:#030303 !important;
  border-top:1px solid var(--mng-line) !important;
}

@media (max-width:980px){
  nav{height:70px !important;}
  .hero{padding-left:22px !important;padding-right:22px !important;}
  .hero-headline{font-size:clamp(44px,13vw,72px) !important;letter-spacing:-.055em !important;}
  .hero-body{font-size:15.5px !important;}
  .hero-services{font-size:10px !important;line-height:1.8 !important;}
}

@media (max-width:640px){
  body::before{background-size:42px 42px;}
  .hero{padding-top:100px !important;min-height:auto !important;padding-bottom:74px !important;}
  .hero-label{font-size:9px !important;letter-spacing:2.6px !important;gap:10px !important;}
  .hero-label::before,.hero-label::after{width:24px !important;}
  .hero-headline{font-size:clamp(42px,15vw,60px) !important;line-height:.98 !important;}
  .hero-sub{font-size:10px !important;letter-spacing:2.1px !important;}
  .hero-ctas{width:100% !important;display:flex !important;flex-direction:column !important;gap:14px !important;}
  .cta-primary,.cta-secondary{width:100% !important;justify-content:center !important;text-align:center !important;}
  .stats-bar{grid-template-columns:1fr 1fr !important;}
}

/* =========================================================
   MOBILE-ONLY STABILIZATION LAYER
   Desktop remains governed by each page's original CSS.
   These rules activate only on phone/tablet widths.
   ========================================================= */

@media (max-width: 768px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    -webkit-text-size-adjust: 100% !important;
  }

  *, *::before, *::after {
    box-sizing: border-box !important;
  }

  img, svg, video, canvas, iframe {
    max-width: 100% !important;
    height: auto;
  }

  body {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }

  p, li,
  .body-text,
  .section-text,
  .client-desc,
  .product-desc,
  .why-desc,
  .step-desc,
  .service-row-desc,
  .division-desc,
  .market-desc,
  .report-desc,
  .contact-left-sub,
  .apply-left-sub,
  .disclaimer-text,
  .legal-text {
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
    line-height: 1.72 !important;
  }

  .section-label,
  .eyebrow,
  .breadcrumb,
  .hero-sub,
  .page-hero-sub,
  .product-range,
  .hero-range-label,
  .stat-label,
  .market-stat-label,
  .apply-note,
  .contact-form-note {
    letter-spacing: 1.4px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .hero-headline,
  .page-hero-title,
  .section-title,
  .cta-title,
  .market-title,
  .apply-left-title,
  .contact-left-title,
  .big-quote,
  .quote-text {
    max-width: 100% !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  .hero-headline { font-size: clamp(40px, 11vw, 58px) !important; line-height: 1.02 !important; }
  .page-hero-title { font-size: clamp(34px, 9.4vw, 50px) !important; line-height: 1.08 !important; }
  .section-title, .cta-title, .market-title { font-size: clamp(30px, 8vw, 42px) !important; line-height: 1.12 !important; }
  .apply-left-title, .contact-left-title { font-size: clamp(34px, 9.5vw, 44px) !important; line-height: 1.1 !important; }
  .big-quote, .quote-text { font-size: clamp(24px, 6.5vw, 34px) !important; line-height: 1.42 !important; }

  /* Force split/intake/contact sections into one clean column on mobile only. */
  .s-apply,
  .s-contact,
  .contact-section,
  .form-section,
  .prequal-section,
  section#apply,
  section#contact,
  section#prequal {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    overflow: hidden !important;
  }

  .s-apply-inner,
  .s-contact-inner,
  .contact-inner,
  .form-inner,
  .prequal-inner,
  .apply-inner,
  .contact-content,
  .apply-content,
  .form-content,
  .s-intro-inner,
  .s-why-inner,
  .s-who-top,
  .market-inner,
  .market-inner.reverse,
  .s-about-inner,
  .s-integration-inner,
  .page-hero-inner {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    transform: none !important;
  }

  .s-apply-inner > *,
  .s-contact-inner > *,
  .contact-inner > *,
  .form-inner > *,
  .prequal-inner > *,
  .apply-inner > *,
  .contact-left,
  .contact-right,
  .apply-left,
  .apply-right,
  .form-left,
  .form-right {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    transform: none !important;
  }

  .contact-form,
  .apply-form,
  .form-panel,
  .form-card,
  .form-fields,
  .form-grid,
  form {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  input,
  select,
  textarea,
  .contact-input,
  .contact-select,
  .contact-textarea,
  .apply-input,
  .apply-select,
  .form-input,
  .form-select,
  .form-textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  button,
  button[type="submit"],
  .contact-btn,
  .apply-btn,
  .form-submit,
  .cta-primary,
  .cta-secondary {
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
    letter-spacing: 1.7px !important;
  }

  .apply-btn,
  .contact-btn,
  .form-submit,
  button[type="submit"] {
    width: 100% !important;
    padding: 16px !important;
  }

  .products-grid,
  .client-types,
  .clients-grid,
  .sectors-grid,
  .services-grid,
  .pillars-grid,
  .why-grid,
  .reports-grid,
  .crossmarket-grid,
  .trust-signals,
  .process-steps,
  .country-columns,
  .toc-grid,
  .model-inner,
  .expect-grid {
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .product-card,
  .client-card,
  .service-card,
  .division-card,
  .market-card,
  .report-card,
  .why-item,
  .step,
  .model-badge,
  .disclaimer-box,
  .legal-card,
  .contact-note-box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .stats-bar,
  .stats-row,
  .market-stats {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .stat-item,
  .stat-block,
  .market-stat,
  .impact-stat,
  .about-stat {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 30px 18px !important;
    text-align: center !important;
    border-right: none !important;
  }

  .stat-number,
  .stat-num,
  .market-stat-num,
  .impact-stat-num,
  .about-stat-num,
  .hero-range-num {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    font-size: clamp(40px, 14vw, 58px) !important;
    line-height: 1 !important;
    letter-spacing: -0.055em !important;
    text-align: center !important;
  }

  .hero-services,
  .hero-pillars,
  .service-selector,
  .service-options,
  .model-badge-tags {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.65 !important;
  }

  .model-tag,
  .pillar-chip,
  .filter-tab,
  .srv-btn,
  .service-option {
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.35 !important;
  }
}

@media (max-width: 430px) {
  .hero-headline { font-size: clamp(36px, 12vw, 50px) !important; }
  .page-hero-title { font-size: clamp(32px, 10vw, 46px) !important; }
  .section-title, .cta-title, .market-title { font-size: clamp(28px, 8.5vw, 38px) !important; }
  .big-quote, .quote-text { font-size: clamp(22px, 6.5vw, 30px) !important; }
  .stat-number,
  .stat-num,
  .market-stat-num,
  .impact-stat-num,
  .about-stat-num,
  .hero-range-num {
    font-size: clamp(38px, 14vw, 54px) !important;
  }
}

/* ===== PREMIUM SERVICES DROPDOWN MENU ===== */
.nav-dropdown-menu {
  min-width: 380px !important;
  padding: 12px !important;
  background: linear-gradient(180deg, rgba(18,18,18,0.99), rgba(8,8,8,0.99)) !important;
  border: 1px solid rgba(201,168,76,0.36) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,0.58), 0 0 0 1px rgba(255,255,255,0.03) inset !important;
  backdrop-filter: blur(18px) !important;
}
.nav-dropdown-menu::after {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 12px !important;
  right: 12px !important;
  height: 2px !important;
  background: linear-gradient(90deg, transparent, rgba(201,168,76,0.95), transparent) !important;
}
.nav-dropdown-item {
  position: relative !important;
  color: #F5F2EC !important;
  font-weight: 750 !important;
  letter-spacing: 1.8px !important;
  padding: 16px 18px 16px 22px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  background: rgba(255,255,255,0.01) !important;
}
.nav-dropdown-item::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 14px !important;
  bottom: 14px !important;
  width: 2px !important;
  background: rgba(201,168,76,0) !important;
  transition: background 0.22s ease !important;
}
.nav-dropdown-item:hover {
  color: #FFFFFF !important;
  background: linear-gradient(90deg, rgba(201,168,76,0.13), rgba(201,168,76,0.025)) !important;
  padding-left: 28px !important;
}
.nav-dropdown-item:hover::before { background: rgba(201,168,76,1) !important; }
.nav-dropdown-item span {
  color: #AFAFAF !important;
  font-size: 8.5px !important;
  line-height: 1.45 !important;
}
.nav-dropdown-item:hover span { color: #D8D1C2 !important; }
.nav-dropdown > a::after { color: #C9A84C !important; opacity: 0.85 !important; }
@media (max-width: 768px) { .nav-dropdown-menu { display: none !important; } }

/* =========================================================
   FINAL FIX — Political/Government pages visibility + small text cleanup
   ========================================================= */
body, p, div, span, a, h1, h2, h3, li { overflow-wrap: normal; word-break: normal; }
.service-desc, .position-desc, .disclaimer-text, .body-text, .hero-body, .who-item, .process-title, .service-row-desc, .footer-info, .footer-contact { overflow-wrap: break-word; word-break: normal; hyphens: none; }
.disclaimer-title, .service-tag, .hero-stat-label, .service-row-tag, .form-disclaimer, .legal-note-small { letter-spacing: 1.2px !important; line-height: 1.6 !important; white-space: normal !important; }
.s-disclaimer { padding: 56px 24px !important; background: #080808 !important; border-top: 1px solid rgba(201,168,76,.16) !important; border-bottom: 1px solid rgba(201,168,76,.16) !important; }
.s-disclaimer-inner { max-width: 980px !important; margin: 0 auto !important; padding: 28px 32px !important; border: 1px solid rgba(201,168,76,.22) !important; background: rgba(201,168,76,.035) !important; }
.disclaimer-title { color: #C9A84C !important; font-size: 10px !important; font-weight: 800 !important; text-transform: uppercase !important; margin-bottom: 12px !important; }
.disclaimer-text { color: #B8B8B8 !important; font-size: 12px !important; line-height: 1.85 !important; font-weight: 300 !important; letter-spacing: .2px !important; }
.position-card, .service-card, .process-step, .who-item { min-width: 0 !important; }
.nav-dropdown-menu { min-width: 340px !important; }
.nav-dropdown-item { color: #F5F2EC !important; }
.nav-dropdown-item span { color: #A8A8A8 !important; }
.nav-dropdown-item:hover span:first-child, .nav-dropdown-item:hover { color: #FFFFFF !important; }
.nav-dropdown-item span:last-child { color: #C9A84C !important; opacity: .9 !important; }
@media (max-width: 768px) {
  .s-disclaimer { padding: 42px 20px !important; }
  .s-disclaimer-inner { padding: 22px 18px !important; }
  .disclaimer-title { font-size: 9px !important; letter-spacing: 1.4px !important; }
  .disclaimer-text { font-size: 11px !important; line-height: 1.8 !important; }
  .position-card, .service-card, .process-step, .who-item { padding-left: 20px !important; padding-right: 20px !important; }
  .services-grid, .position-grid, .process-grid, .who-grid, .s-position-inner { grid-template-columns: 1fr !important; }
  .hero-stat-num { font-size: clamp(20px, 8vw, 34px) !important; }
}

/* FINAL V3: Government/Lobbying visibility + disclaimer/mobile cleanup */
html, body { max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }
.s-disclaimer,.disclaimer-section,.legal-note,.important-note,.disclaimer-box{width:100%!important;max-width:100%!important;overflow:visible!important;text-align:center!important;}
.s-disclaimer-inner,.disclaimer-inner,.disclaimer-box,.legal-note-inner,.important-note-inner{max-width:980px!important;margin-left:auto!important;margin-right:auto!important;padding:30px 28px!important;text-align:center!important;overflow-wrap:break-word!important;word-break:normal!important;hyphens:auto!important;}
.disclaimer-title,.legal-note-title,.important-note-title{color:#C9A84C!important;font-size:11px!important;line-height:1.55!important;letter-spacing:2.2px!important;text-transform:uppercase!important;text-align:center!important;margin-bottom:12px!important;}
.disclaimer-text,.legal-note-text,.important-note-text,.disclaimer-box p,.disclaimer-box div{color:#AFAFAF!important;font-size:12px!important;line-height:1.9!important;letter-spacing:.2px!important;text-align:center!important;max-width:900px!important;margin-left:auto!important;margin-right:auto!important;overflow-wrap:break-word!important;word-break:normal!important;}
.political-pathways{background:#0D0D0D;border-top:1px solid rgba(201,168,76,.14);border-bottom:1px solid rgba(201,168,76,.14);padding:80px 48px;}
.political-pathways-inner{max-width:1200px;margin:0 auto;text-align:center;}
.pathway-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:34px;}
.pathway-card{display:block;padding:34px 30px;border:1px solid rgba(201,168,76,.28);background:linear-gradient(180deg,#111,#090909);text-decoration:none;color:inherit;transition:.25s ease;}
.pathway-card:hover{transform:translateY(-2px);border-color:#C9A84C;background:#111;}
.pathway-eyebrow{color:#C9A84C;font-size:10px;font-weight:800;letter-spacing:3px;text-transform:uppercase;margin-bottom:12px;}
.pathway-title{color:#F5F2EC;font-size:24px;line-height:1.22;font-weight:650;margin-bottom:12px;}
.pathway-desc{color:#AFAFAF;font-size:13px;line-height:1.8;max-width:470px;margin:0 auto 18px;}
.pathway-cta{color:#C9A84C;font-size:10px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;}
@media(max-width:768px){.political-pathways{padding:56px 20px!important}.pathway-grid{grid-template-columns:1fr!important;gap:16px!important}.pathway-card{padding:28px 20px!important}.pathway-title{font-size:21px!important}.pathway-desc{font-size:13px!important}.s-disclaimer,.disclaimer-section,.legal-note,.important-note,.disclaimer-box{padding-left:20px!important;padding-right:20px!important}.s-disclaimer-inner,.disclaimer-inner,.disclaimer-box,.legal-note-inner,.important-note-inner{padding:24px 18px!important;width:100%!important;max-width:100%!important}.disclaimer-title,.legal-note-title,.important-note-title{font-size:10px!important;letter-spacing:1.7px!important;line-height:1.6!important}.disclaimer-text,.legal-note-text,.important-note-text,.disclaimer-box p,.disclaimer-box div{font-size:11.5px!important;line-height:1.85!important;max-width:100%!important}.who-grid,.service-grid,.services-grid,.process-steps,.products-grid,.client-types,.markets-grid,.stats-grid{grid-template-columns:1fr!important;width:100%!important;max-width:100%!important}.service-card,.product-card,.client-card,.market-card,.who-item,.service-row,.step{width:100%!important;max-width:100%!important;overflow-wrap:break-word!important;word-break:normal!important}.service-row{grid-template-columns:1fr!important;padding:24px 20px!important}.service-row-right,.service-row-cta{display:block!important}.service-row-desc,.service-row-tag,.chip{overflow-wrap:break-word!important;word-break:normal!important}}


/* FINAL SOLID HERO FIX BACKUP */


  /* FINAL SOLID HERO FIX — this block loads AFTER external CSS so it wins */
  html, body { max-width: 100%; overflow-x: hidden; }
  .conversion-hero {
    min-height: 100svh !important;
    padding: 150px 48px 88px !important;
    overflow: hidden !important;
    background:
      linear-gradient(90deg, rgba(5,5,5,.96) 0%, rgba(5,5,5,.86) 34%, rgba(5,5,5,.54) 62%, rgba(5,5,5,.38) 100%),
      url('hero-dc-final.webp') center center / cover no-repeat !important;
  }
  .conversion-hero::before,
  .conversion-hero::after {
    content: none !important;
    display: none !important;
    background: none !important;
  }
  .conversion-hero-inner {
    position: relative !important;
    z-index: 2 !important;
    max-width: 1220px !important;
    grid-template-columns: minmax(0, 1.04fr) minmax(300px, .72fr) !important;
    gap: 64px !important;
    align-items: end !important;
  }
  .conversion-proof-card {
    background: #0A0A0A !important;
    border: 1px solid rgba(201,168,76,.32) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: 0 24px 70px rgba(0,0,0,.54) !important;
  }
  .conversion-hero h1 {
    font-size: clamp(48px, 6.1vw, 84px) !important;
    line-height: 1.02 !important;
    letter-spacing: -2.4px !important;
    max-width: 780px !important;
  }
  .conversion-sub { max-width: 660px !important; }
  .conversion-services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  @media (max-width: 1024px) {
    .conversion-hero { min-height: auto !important; }
    .conversion-hero-inner { grid-template-columns: 1fr !important; gap: 34px !important; }
    .conversion-proof-card { max-width: 520px !important; }
    .conversion-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  }
  @media (max-width: 768px) {
    .conversion-hero {
      min-height: auto !important;
      padding: 108px 20px 60px !important;
      background:
        linear-gradient(180deg, rgba(5,5,5,.88) 0%, rgba(5,5,5,.78) 42%, rgba(5,5,5,.92) 100%),
        url('hero-dc-final.webp') 58% center / cover no-repeat !important;
    }
    .conversion-hero h1 {
      font-size: clamp(34px, 10.4vw, 50px) !important;
      line-height: 1.04 !important;
      letter-spacing: -1.1px !important;
      max-width: 100% !important;
    }
    .conversion-eyebrow { font-size: 9px !important; letter-spacing: 2.3px !important; line-height: 1.6 !important; }
    .conversion-sub { font-size: 14px !important; line-height: 1.68 !important; max-width: 100% !important; }
    .conversion-proof-line { font-size: 8.5px !important; letter-spacing: 1.45px !important; line-height: 1.8 !important; }
    .conversion-btn-primary { width: 100% !important; min-width: 0 !important; padding: 16px 16px !important; letter-spacing: 1.65px !important; }
    .conversion-proof-card { width: 100% !important; max-width: 100% !important; padding: 24px 20px !important; }
    .conversion-proof-list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px !important; }
    .conversion-proof-item strong { font-size: 28px !important; }
    .conversion-proof-item span { font-size: 9px !important; letter-spacing: 1.3px !important; }
    .conversion-section { padding: 58px 20px !important; }
    .conversion-head, .conversion-services-grid, .conversion-steps, .conversion-client-grid, .conversion-mini-case-grid { grid-template-columns: 1fr !important; }
    .conversion-service-card, .conversion-step, .conversion-mini-case, .conversion-client { min-height: auto !important; padding: 28px 20px !important; }
    nav { height: 64px !important; }
    .nav-logo img { height: 50px !important; }
  }
  @media (max-width: 420px) {
    .conversion-proof-list { grid-template-columns: 1fr !important; }
  }

/* MOBILE NAVIGATION — stable iPhone header and scrollable menu */
@media (max-width: 920px) {
  nav {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    z-index: 10000 !important;
    display: flex !important;
    width: 100% !important;
    height: calc(64px + env(safe-area-inset-top)) !important;
    padding: env(safe-area-inset-top) 16px 0 !important;
    align-items: center !important;
    justify-content: space-between !important;
    overflow: visible !important;
  }

  nav .nav-logo {
    display: flex !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    align-items: center !important;
    overflow: visible !important;
  }

  nav .nav-logo a {
    display: block !important;
    line-height: 0 !important;
  }

  nav .nav-logo img {
    display: block !important;
    width: auto !important;
    height: 48px !important;
    max-width: min(42vw, 170px) !important;
    object-fit: contain !important;
  }

  nav .nav-links,
  nav .nav-cta {
    display: none !important;
  }

  nav .nav-right {
    display: flex !important;
    flex: 0 0 auto !important;
    margin-right: 6px !important;
    margin-left: auto !important;
    align-items: center !important;
  }

  nav .lang-toggle {
    display: block !important;
    font-size: 9px !important;
    line-height: 1 !important;
    letter-spacing: 1.2px !important;
    white-space: nowrap !important;
  }

  nav .hamburger {
    position: relative !important;
    z-index: 10001 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    padding: 10px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 0 !important;
    background: transparent !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent;
  }

  /* Standalone trigger: kept outside the nav layout so iPhone cannot clip it. */
  nav .hamburger {
    display: none !important;
  }

  .mobile-menu-trigger {
    position: fixed !important;
    top: calc(10px + env(safe-area-inset-top)) !important;
    right: 14px !important;
    z-index: 2147483647 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 48px !important;
    height: 44px !important;
    padding: 10px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    border: 0 !important;
    background: #080808 !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  .mobile-menu-trigger span {
    display: block !important;
    width: 27px !important;
    height: 2px !important;
    flex: 0 0 2px !important;
    background: #C9A84C !important;
  }

  nav .hamburger span {
    display: block !important;
    flex: 0 0 2px !important;
    width: 24px !important;
    height: 2px !important;
    max-width: 24px !important;
    background: #C9A84C !important;
  }

  .mobile-menu {
    display: none !important;
    position: fixed !important;
    top: calc(64px + env(safe-area-inset-top)) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    z-index: 9999 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 64px - env(safe-area-inset-top)) !important;
    padding-bottom: calc(20px + env(safe-area-inset-bottom)) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  .mobile-menu.active,
  .mobile-menu.open,
  .mobile-menu:target {
    display: flex !important;
  }

  .mobile-menu .mobile-menu-close {
    display: block !important;
    align-self: flex-end !important;
    width: auto !important;
    margin: 0 16px 8px auto !important;
    padding: 10px 14px !important;
    border: 1px solid rgba(201,168,76,.45) !important;
    color: #C9A84C !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 1.5px !important;
  }

  /* Native mobile toggle: works on iPhone without depending on JavaScript. */
  .mobile-menu-toggle {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  .mobile-menu-toggle:checked ~ .mobile-menu {
    display: flex !important;
  }

  .mobile-menu-toggle:checked ~ nav .hamburger span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  .mobile-menu-toggle:checked ~ nav .hamburger span:nth-child(2) {
    opacity: 0 !important;
  }

  .mobile-menu-toggle:checked ~ nav .hamburger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }
}

@media (min-width: 921px) {
  .mobile-menu-trigger { display: none !important; }
}
/* Keep the language control clear of the mobile menu trigger on narrow screens. */
@media (max-width: 920px) {
  nav .nav-right {
    position: static !important;
  }
  nav .lang-toggle {
    position: fixed !important;
    top: calc(21px + env(safe-area-inset-top)) !important;
    right: 78px !important;
    z-index: 10002 !important;
    display: block !important;
    width: auto !important;
    min-width: 56px !important;
    padding: 5px 2px !important;
    color: #ffffff !important;
    background: #080808 !important;
    text-align: center !important;
    cursor: pointer !important;
  }
}

/* A standalone mobile control sits above the header and cannot be clipped by nav. */
.mobile-language-control { display: none; }
@media (max-width: 920px) {
  nav .lang-toggle { display: none !important; }
  .mobile-language-control {
    display: block !important;
    position: fixed !important;
    top: calc(13px + env(safe-area-inset-top)) !important;
    right: 76px !important;
    z-index: 2147483647 !important;
    width: 67px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(201,168,76,.45) !important;
    border-radius: 3px !important;
    background: #080808 !important;
    color: #ffffff !important;
    font: 700 11px/1 Arial, sans-serif !important;
    letter-spacing: .5px !important;
    text-align: center !important;
    cursor: pointer !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    -webkit-tap-highlight-color: transparent !important;
  }
  .mobile-language-control .mobile-language-en { color: #c9a84c; }
  body.lang-es .mobile-language-control .mobile-language-en,
  html[lang="es"] .mobile-language-control .mobile-language-en { color: #ffffff; }
  body.lang-es .mobile-language-control .mobile-language-es,
  html[lang="es"] .mobile-language-control .mobile-language-es { color: #c9a84c; }
}

/* About page: visible entry point to Jonathan's digital contact card. */
.about-digital-card {
  padding: 64px 32px;
  border-top: 1px solid rgba(201,168,76,.18);
  border-bottom: 1px solid rgba(201,168,76,.18);
  background: #0d0d0d;
}
.about-digital-card-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 48px;
  max-width: 1100px;
  margin: 0 auto;
}
.about-digital-card-image img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(201,168,76,.3);
}
.about-digital-card-copy h2 { margin: 14px 0; color: #f5f2ec; font-size: clamp(26px, 3vw, 42px); font-weight: 500; }
.about-digital-card-copy p { max-width: 470px; margin: 0 0 28px; color: #aaa; font-size: 15px; line-height: 1.7; }
.about-digital-card-button {
  display: inline-block;
  padding: 15px 22px;
  background: #c9a84c;
  color: #080808;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .about-digital-card { padding: 40px 20px !important; }
  .about-digital-card-inner { grid-template-columns: 1fr !important; gap: 24px; }
  .about-digital-card-copy h2 { font-size: 28px; }
  .about-digital-card-copy p { font-size: 14px; }
}
