/* ==========================================================
   JM GLOBAL MARKETING — PREMIUM MEDITERRANEAN 2026
   Global template for public pages. Admin pages are isolated.
   ========================================================== */

:root {
  --jm-ink: #071521;
  --jm-navy: #0b2440;
  --jm-navy-2: #12385f;
  --jm-blue: #1c4d7d;
  --jm-gold: #c9a55c;
  --jm-gold-2: #e4c987;
  --jm-ivory: #fbf8f1;
  --jm-sand: #f2eadc;
  --jm-sage: #55786d;
  --jm-teal: #23685f;
  --jm-white: #ffffff;
  --jm-text: #263648;
  --jm-muted: #667386;
  --jm-line: rgba(11,36,64,.12);
  --jm-font-display: 'Cormorant Garamond', Georgia, serif;
  --jm-font-body: 'Manrope', Arial, sans-serif;
  --jm-shadow-sm: 0 10px 30px rgba(7,21,33,.08);
  --jm-shadow-md: 0 22px 55px rgba(7,21,33,.13);
  --jm-shadow-lg: 0 34px 90px rgba(7,21,33,.22);
  --jm-radius-sm: 12px;
  --jm-radius-md: 20px;
  --jm-radius-lg: 32px;
  --jm-transition: .28s cubic-bezier(.22,.8,.28,1);
  --font-display: var(--jm-font-display);
  --font-body: var(--jm-font-body);
  --blue-deep: var(--jm-ink);
  --blue-primary: var(--jm-navy);
  --blue-mid: var(--jm-blue);
  --blue-pale: #e9f0f4;
  --accent: var(--jm-gold);
  --off-white: var(--jm-ivory);
  --text-dark: var(--jm-ink);
  --text-body: var(--jm-text);
}

html { scroll-padding-top: 94px; }
body {
  font-family: var(--jm-font-body);
  color: var(--jm-text);
  background: var(--jm-white);
  line-height: 1.72;
  font-size: 16px;
}
body::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
  background:
    radial-gradient(circle at 8% 8%, rgba(201,165,92,.08), transparent 28rem),
    radial-gradient(circle at 92% 45%, rgba(35,104,95,.06), transparent 30rem);
}
h1,h2,h3,h4,h5,h6 {
  font-family: var(--jm-font-display);
  color: var(--jm-ink);
  letter-spacing: -.025em;
  line-height: 1.04;
}
h1 { font-size: clamp(2.85rem, 6vw, 5.7rem); font-weight: 600; }
h2 { font-size: clamp(2.25rem, 4vw, 4rem); font-weight: 600; }
h3 { font-size: clamp(1.55rem, 2.5vw, 2.25rem); font-weight: 600; }
h4,h5 { font-family: var(--jm-font-body); letter-spacing: -.015em; }
p { font-size: 1rem; }
a { transition: color var(--jm-transition), background var(--jm-transition), transform var(--jm-transition), border-color var(--jm-transition), box-shadow var(--jm-transition); }
img { border-radius: 0; }
.container { width: min(100% - 40px, 1220px); max-width: 1220px; padding: 0; }
.section { padding: clamp(74px, 9vw, 124px) 0; }
.section--alt { background: var(--jm-ivory); }
.section--dark { background: var(--jm-ink); }

/* Accessibility */
.skip-link {
  position: fixed; left: 16px; top: -80px; z-index: 10000;
  background: var(--jm-gold); color: var(--jm-ink); padding: 10px 16px;
  border-radius: 0 0 10px 10px; font-weight: 800;
}
.skip-link:focus { top: 0; }
:focus-visible { outline: 3px solid var(--jm-gold); outline-offset: 3px; }

/* Navigation */
.nav {
  height: 84px;
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(11,36,64,.08) !important;
  box-shadow: none !important;
}
.nav.scrolled { box-shadow: 0 12px 35px rgba(7,21,33,.09) !important; }
.nav__inner { height: 84px; max-width: 1320px; }
.nav__logo { gap: 13px; color: var(--jm-ink); }
.nav__logo img {
  width: 48px !important; height: 48px !important; object-fit: contain;
  border-radius: 0 !important;
}
.nav__logo span {
  font-family: var(--jm-font-display); font-size: 1.38rem; font-weight: 700;
  letter-spacing: .01em; white-space: nowrap;
}
.nav__links { gap: 2px; align-items: center; }
.nav__links > a {
  font-family: var(--jm-font-body); font-size: .77rem; font-weight: 700;
  letter-spacing: .01em; color: #344457; padding: 10px 10px; border-radius: 999px;
}
.nav__links > a:hover { color: var(--jm-navy); background: var(--jm-ivory); }
.nav__links a.nav__team { color: var(--jm-teal) !important; }
.nav__links > a.nav__cta {
  color: var(--jm-white) !important;
  background: var(--jm-navy) !important;
  padding: 11px 16px !important;
  margin-left: 5px;
}
.nav__links > a.nav__cta:hover { background: var(--jm-gold) !important; color: var(--jm-ink) !important; transform: translateY(-1px); }
.lang-switcher-button {
  display: inline-flex; align-items: center; gap: 8px; margin-left: 8px;
  font: 700 .76rem var(--jm-font-body); color: var(--jm-navy);
  padding: 9px 11px; border: 1px solid var(--jm-line); border-radius: 999px;
  background: var(--jm-white); cursor: pointer;
}
.lang-switcher-button:hover { border-color: var(--jm-gold); background: var(--jm-ivory); }
.lang-switcher-dd {
  top: calc(100% + 15px) !important; width: 238px; max-height: min(70vh,520px);
  overflow-y: auto !important; padding: 9px !important; border-radius: 18px !important;
  border: 1px solid var(--jm-line) !important; box-shadow: var(--jm-shadow-md) !important;
}
.lang-switcher-dd a { border-radius: 11px; font: 650 .84rem var(--jm-font-body) !important; }
.lang-switcher-dd a:hover,.lang-switcher-dd a.active { background: var(--jm-ivory) !important; color: var(--jm-navy) !important; }
.lang-flag {
  width: 30px !important; height: 20px !important; flex: 0 0 30px !important;
  aspect-ratio: 3/2; object-fit: cover; border-radius: 4px !important;
  box-shadow: 0 3px 9px rgba(7,21,33,.18) !important;
}

/* Buttons */
.btn,.pm-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 14px 24px; border-radius: 999px;
  font: 800 .84rem var(--jm-font-body); letter-spacing: .015em;
  border: 1px solid transparent; text-decoration: none; cursor: pointer;
}
.btn--accent,.pm-btn--gold {
  color: var(--jm-ink) !important;
  background: linear-gradient(135deg,var(--jm-gold-2),var(--jm-gold)) !important;
  box-shadow: 0 13px 34px rgba(201,165,92,.28) !important;
}
.btn--accent:hover,.pm-btn--gold:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(201,165,92,.42) !important; }
.btn--dark,.pm-btn--navy { background: var(--jm-navy) !important; color: var(--jm-white) !important; }
.btn--dark:hover,.pm-btn--navy:hover { background: var(--jm-teal) !important; transform: translateY(-3px); }
.btn--outline,.pm-btn--ghost { background: transparent !important; border-color: rgba(255,255,255,.34) !important; color: var(--jm-white) !important; }
.btn--outline:hover,.pm-btn--ghost:hover { background: rgba(255,255,255,.1) !important; border-color: rgba(255,255,255,.72) !important; }

/* Home hero */
.pm-hero {
  position: relative; overflow: hidden; min-height: min(900px,calc(100vh - 10px));
  padding: 150px 0 92px; color: var(--jm-white);
  background:
    radial-gradient(circle at 76% 30%, rgba(201,165,92,.20), transparent 23rem),
    radial-gradient(circle at 10% 90%, rgba(35,104,95,.22), transparent 28rem),
    linear-gradient(135deg,#06111d 0%,#0b2440 58%,#153e58 100%);
}
.pm-hero::before {
  content: ''; position: absolute; inset: 0; opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);
  background-size: 74px 74px; mask-image: linear-gradient(to right,#000,transparent 70%);
}
.pm-hero::after {
  content: ''; position: absolute; left: -10%; right: -10%; bottom: -96px; height: 160px;
  background: var(--jm-white); border-radius: 50% 50% 0 0/50% 50% 0 0;
}
.pm-hero__grid { position: relative; z-index: 2; display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(44px,7vw,96px); align-items: center; }
.pm-kicker {
  display: inline-flex; align-items: center; gap: 9px; margin-bottom: 24px;
  color: var(--jm-gold-2); font: 800 .72rem var(--jm-font-body);
  letter-spacing: .19em; text-transform: uppercase;
}
.pm-kicker::before { content: ''; width: 32px; height: 1px; background: currentColor; }
.pm-hero h1 { color: var(--jm-white); max-width: 790px; margin-bottom: 24px; }
.pm-hero h1 em { color: var(--jm-gold-2); font-weight: 500; }
.pm-hero__lead { max-width: 690px; color: rgba(255,255,255,.72); font-size: clamp(1rem,1.4vw,1.18rem); line-height: 1.8; margin-bottom: 34px; }
.pm-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.pm-trust { display: flex; gap: 18px 28px; flex-wrap: wrap; margin-top: 34px; color: rgba(255,255,255,.64); font-size: .76rem; font-weight: 700; }
.pm-trust span { display: inline-flex; align-items: center; gap: 8px; }
.pm-trust span::before { content: '✓'; display: grid; place-items: center; width: 20px; height: 20px; border: 1px solid rgba(201,165,92,.55); border-radius: 50%; color: var(--jm-gold-2); }
.pm-portrait { position: relative; width: min(100%,520px); margin-left: auto; }
.pm-portrait__frame { position: relative; padding: 11px; border: 1px solid rgba(255,255,255,.16); border-radius: 230px 230px 32px 32px; background: rgba(255,255,255,.06); box-shadow: var(--jm-shadow-lg); }
.pm-portrait__frame img { width: 100%; aspect-ratio: .78; object-fit: cover; object-position: center 20%; border-radius: 220px 220px 24px 24px; }
.pm-portrait__badge { position: absolute; left: -34px; bottom: 74px; max-width: 225px; padding: 18px 19px; background: rgba(255,255,255,.96); color: var(--jm-ink); border-radius: 18px; box-shadow: var(--jm-shadow-md); }
.pm-portrait__badge b { display: block; font-family: var(--jm-font-display); font-size: 1.35rem; line-height: 1.1; }
.pm-portrait__badge small { display: block; margin-top: 5px; color: var(--jm-muted); font-size: .68rem; line-height: 1.45; font-weight: 700; }
.pm-portrait__mark { position: absolute; top: 32px; right: -25px; width: 92px; height: 92px; display: grid; place-items: center; border-radius: 50%; background: var(--jm-gold); color: var(--jm-ink); font: 900 .65rem var(--jm-font-body); letter-spacing: .12em; text-align: center; text-transform: uppercase; box-shadow: 0 16px 38px rgba(201,165,92,.3); }

/* Conversion paths */
.pm-paths { position: relative; z-index: 4; padding: 36px 0 90px; background: var(--jm-white); }
.pm-paths__intro { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.pm-paths__intro h2 { max-width: 690px; }
.pm-paths__intro p { max-width: 400px; color: var(--jm-muted); }
.pm-paths__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.pm-path {
  position: relative; min-height: 255px; display: flex; flex-direction: column;
  padding: 31px; overflow: hidden; border: 1px solid var(--jm-line);
  border-radius: var(--jm-radius-md); color: var(--jm-ink); background: var(--jm-white);
  box-shadow: var(--jm-shadow-sm);
}
.pm-path::after { content: ''; position: absolute; width: 180px; height: 180px; right: -90px; bottom: -100px; border-radius: 50%; background: rgba(201,165,92,.12); transition: transform var(--jm-transition); }
.pm-path:hover { transform: translateY(-7px); border-color: rgba(201,165,92,.62); box-shadow: var(--jm-shadow-md); }
.pm-path:hover::after { transform: scale(1.22); }
.pm-path--dark { background: var(--jm-navy); color: var(--jm-white); border-color: var(--jm-navy); }
.pm-path--sage { background: #edf3ef; border-color: rgba(85,120,109,.18); }
.pm-path__icon { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 38px; border-radius: 14px; background: var(--jm-ivory); color: var(--jm-gold); font-size: 1.35rem; }
.pm-path--dark .pm-path__icon { background: rgba(255,255,255,.1); }
.pm-path h3 { color: inherit; font-size: 1.75rem; margin-bottom: 10px; }
.pm-path p { color: var(--jm-muted); font-size: .86rem; line-height: 1.65; max-width: 300px; }
.pm-path--dark p { color: rgba(255,255,255,.65); }
.pm-path__arrow { position: absolute; right: 26px; top: 27px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 1rem; opacity: .65; }

/* Shared home sections */
.pm-section { padding: clamp(78px,9vw,126px) 0; }
.pm-section--ivory { background: var(--jm-ivory); }
.pm-section--ink { background: var(--jm-ink); color: var(--jm-white); }
.pm-section--ink h2,.pm-section--ink h3 { color: var(--jm-white); }
.pm-eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; color: var(--jm-teal); font: 850 .69rem var(--jm-font-body); letter-spacing: .17em; text-transform: uppercase; }
.pm-section--ink .pm-eyebrow { color: var(--jm-gold-2); }
.pm-eyebrow::before { content: ''; width: 27px; height: 1px; background: currentColor; }
.pm-heading { max-width: 770px; margin-bottom: 20px; }
.pm-copy { max-width: 700px; color: var(--jm-muted); font-size: 1rem; line-height: 1.85; }
.pm-section--ink .pm-copy { color: rgba(255,255,255,.65); }
.pm-about { display: grid; grid-template-columns: .88fr 1.12fr; gap: clamp(50px,8vw,108px); align-items: center; }
.pm-about__visual { position: relative; }
.pm-about__visual img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center; border-radius: var(--jm-radius-lg); box-shadow: var(--jm-shadow-md); }
.pm-about__visual::before { content: ''; position: absolute; inset: -18px 36px 36px -18px; z-index: -1; border: 1px solid rgba(201,165,92,.52); border-radius: 38px; }
.pm-signature { margin: 24px 0 30px; color: var(--jm-ink); font: italic 600 1.55rem var(--jm-font-display); }
.pm-values { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 28px 0 34px; }
.pm-value { padding: 18px; border-top: 1px solid var(--jm-line); }
.pm-value b { display: block; color: var(--jm-ink); font-size: .86rem; margin-bottom: 4px; }
.pm-value span { display: block; color: var(--jm-muted); font-size: .77rem; line-height: 1.55; }
.pm-product-layout { display: grid; grid-template-columns: .92fr 1.08fr; gap: clamp(45px,7vw,90px); align-items: center; }
.pm-product-visual { position: relative; }
.pm-product-visual img { width: 100%; min-height: 520px; object-fit: cover; border-radius: var(--jm-radius-lg); box-shadow: var(--jm-shadow-lg); }
.pm-product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 30px; }
.pm-product-card { padding: 20px; border: 1px solid rgba(255,255,255,.10); border-radius: 18px; background: rgba(255,255,255,.04); }
.pm-product-card span { display: inline-flex; margin-bottom: 16px; color: var(--jm-gold-2); font-size: 1.15rem; }
.pm-product-card h3 { font: 800 .93rem var(--jm-font-body); letter-spacing: 0; margin-bottom: 7px; }
.pm-product-card p { color: rgba(255,255,255,.57); font-size: .76rem; line-height: 1.55; }
.pm-process { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 48px; background: var(--jm-line); border: 1px solid var(--jm-line); border-radius: var(--jm-radius-md); overflow: hidden; }
.pm-step { position: relative; min-height: 245px; padding: 34px; background: var(--jm-white); }
.pm-step__num { display: block; margin-bottom: 50px; color: var(--jm-gold); font: 600 2.8rem var(--jm-font-display); }
.pm-step h3 { font-size: 1.55rem; margin-bottom: 10px; }
.pm-step p { color: var(--jm-muted); font-size: .82rem; line-height: 1.65; }
.pm-proof { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(46px,7vw,90px); align-items: center; }
.pm-proof__quote { position: relative; padding: 34px 34px 34px 68px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--jm-radius-md); background: rgba(255,255,255,.04); }
.pm-proof__quote::before { content: '“'; position: absolute; left: 24px; top: 12px; color: var(--jm-gold); font: 600 4rem var(--jm-font-display); }
.pm-proof__quote p { color: rgba(255,255,255,.76); font: italic 500 1.35rem/1.55 var(--jm-font-display); }
.pm-proof__quote strong { display: block; margin-top: 22px; color: var(--jm-gold-2); font: 800 .77rem var(--jm-font-body); letter-spacing: .08em; text-transform: uppercase; }
.pm-world { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 32px; }
.pm-world span { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; border: 1px solid rgba(255,255,255,.12); border-radius: 999px; color: rgba(255,255,255,.68); font-size: .72rem; font-weight: 750; }
.pm-world img { width: 27px; height: 18px; object-fit: cover; border-radius: 3px; }
.pm-final { position: relative; overflow: hidden; padding: clamp(78px,10vw,132px) 0; text-align: center; background: var(--jm-ivory); }
.pm-final::before { content: ''; position: absolute; width: 520px; height: 520px; left: -260px; top: -260px; border-radius: 50%; border: 1px solid rgba(201,165,92,.32); box-shadow: 0 0 0 70px rgba(201,165,92,.04),0 0 0 140px rgba(201,165,92,.03); }
.pm-final .container { position: relative; z-index: 1; }
.pm-final h2 { max-width: 850px; margin: 0 auto 18px; }
.pm-final p { max-width: 650px; margin: 0 auto 32px; color: var(--jm-muted); }
.pm-final .pm-actions { justify-content: center; }

/* Existing conversion panel */
.conversion-paths { background: var(--jm-ivory) !important; border: 0 !important; padding: 82px 0 !important; }
.conversion-paths__intro>span { color: var(--jm-teal) !important; }
.conversion-paths__intro h2 { font-family: var(--jm-font-display) !important; font-size: clamp(2rem,4vw,3.5rem) !important; font-weight: 600; }
.conversion-choice { border-radius: 20px !important; border-color: var(--jm-line) !important; box-shadow: var(--jm-shadow-sm) !important; }
.conversion-choice b { font-family: var(--jm-font-body) !important; }
.conversion-choice--team { background: var(--jm-navy) !important; }

/* Inner pages */
.page-header,.nm-hero,.join-hero,.countries-hero,.contact-hero {
  position: relative; overflow: hidden; padding: 176px 0 98px !important;
  background:
    radial-gradient(circle at 80% 25%,rgba(201,165,92,.2),transparent 23rem),
    linear-gradient(135deg,var(--jm-ink),var(--jm-navy-2)) !important;
}
.page-header::after,.nm-hero::after,.join-hero::after,.countries-hero::after,.contact-hero::after {
  content: ''; position: absolute; left: -8%; right: -8%; bottom: -72px; height: 110px;
  background: var(--jm-white); border-radius: 50% 50% 0 0/50% 50% 0 0;
}
.page-header .container,.nm-hero .container,.join-hero .container,.countries-hero .container,.contact-hero .container { position: relative; z-index: 2; }
.page-header h1,.nm-hero h1,.join-hero h1,.countries-hero h1,.contact-hero h1 { color: var(--jm-white); font-size: clamp(2.7rem,5vw,5rem); font-weight: 600; }
.page-header p,.nm-hero p,.join-hero p,.countries-hero p,.contact-hero p { color: rgba(255,255,255,.68) !important; }
.page-header .tag { color: var(--jm-gold-2) !important; background: rgba(201,165,92,.10) !important; border-color: rgba(201,165,92,.38) !important; }
.section-header { max-width: 790px; }
.section-header .tag,.tag { color: var(--jm-teal) !important; background: #edf3ef !important; }
.section-header h2 { font-family: var(--jm-font-display); font-weight: 600; }
.card,.package,.step-join,.country-card,.contact-form-wrap,.contact-item,.brand-card {
  border-radius: var(--jm-radius-md) !important; border-color: var(--jm-line) !important;
  box-shadow: var(--jm-shadow-sm) !important;
}
.card:hover,.package:hover,.step-join:hover,.country-card:hover,.brand-card:hover { transform: translateY(-6px); box-shadow: var(--jm-shadow-md) !important; border-color: rgba(201,165,92,.55) !important; }
.card__icon,.contact-item__icon,.brand-card__img { background: var(--jm-ivory) !important; color: var(--jm-gold) !important; }
.nm-step__num,.step-join__num { background: var(--jm-navy) !important; }
.package--featured { background: linear-gradient(150deg,var(--jm-ink),var(--jm-navy-2)) !important; border-color: var(--jm-gold) !important; }
.package__badge { background: var(--jm-gold) !important; color: var(--jm-ink) !important; }
.comparison-table th { background: var(--jm-navy) !important; }
.comparison-table tr:hover td { background: var(--jm-ivory) !important; }
.form-group input,.form-group select,.form-group textarea { border-radius: 12px !important; background: #fcfbf8 !important; border-color: var(--jm-line) !important; }
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color: var(--jm-gold) !important; box-shadow: 0 0 0 4px rgba(201,165,92,.12) !important; }

/* Blog */
.blog-cms-section { background: var(--jm-ivory) !important; padding: 88px 20px !important; }
.blog-cms-card { border-radius: 20px !important; border-color: var(--jm-line) !important; box-shadow: var(--jm-shadow-sm) !important; }
.blog-cms-card:hover { transform: translateY(-7px) !important; box-shadow: var(--jm-shadow-md) !important; border-color: rgba(201,165,92,.55) !important; }
.blog-cms-card>span { background: #edf3ef !important; color: var(--jm-teal) !important; }
.managed-article__hero { background: linear-gradient(135deg,var(--jm-ink),var(--jm-navy-2)) !important; }
.managed-article__hero h1 { font-family: var(--jm-font-display) !important; font-weight: 600 !important; }
.managed-article__body { font-family: var(--jm-font-body); }
.managed-article__cover img { border-radius: var(--jm-radius-md) !important; }
.managed-article__cta { background: var(--jm-ivory) !important; border: 1px solid var(--jm-line); }

/* Footer */
.footer { position: relative; background: #06111d !important; padding: 86px 0 28px !important; }
.footer::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 12% 15%,rgba(201,165,92,.13),transparent 24rem); }
.footer .container { position: relative; z-index: 1; }
.footer__grid { grid-template-columns: 1.6fr 1fr 1fr 1fr !important; gap: 55px !important; }
.footer__brand { max-width: 360px !important; }
.footer__logo { flex-direction: column; align-items: flex-start !important; font-family: var(--jm-font-display) !important; font-size: 1.65rem !important; }
.footer__logo img { height: 76px !important; margin-bottom: 6px !important; }
.footer__tagline { color: rgba(255,255,255,.6); font-size: .84rem; line-height: 1.7; }
.footer__col h5 { color: var(--jm-gold-2) !important; font: 800 .72rem var(--jm-font-body) !important; letter-spacing: .13em; text-transform: uppercase; }
.footer__col ul a { color: rgba(255,255,255,.62); font-size: .79rem !important; }
.footer__col ul a:hover { color: var(--jm-gold-2) !important; padding-left: 3px; }
.footer__bottom { border-top-color: rgba(255,255,255,.1) !important; }
.footer__bottom p { color: rgba(255,255,255,.48); }

/* Floating WhatsApp */
.wa-float {
  position: fixed; right: 22px; bottom: 22px; z-index: 600;
  display: inline-flex; align-items: center; gap: 10px; min-height: 54px;
  padding: 13px 19px; border-radius: 999px; background: #1da851; color: #fff;
  font: 800 .78rem var(--jm-font-body); text-decoration: none;
  box-shadow: 0 16px 38px rgba(29,168,81,.34);
}
.wa-float:hover { background: #168b43; transform: translateY(-3px); box-shadow: 0 20px 44px rgba(29,168,81,.42); }
.wa-float svg { width: 23px; height: 23px; }

/* Cookie banner */
.cookie-banner {
  position: fixed; left: 18px; right: 18px; bottom: 18px; z-index: 9999;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
  max-width: 980px; margin: auto; padding: 16px 18px; border-radius: 16px;
  background: rgba(7,21,33,.97); color: rgba(255,255,255,.75);
  border: 1px solid rgba(201,165,92,.32); box-shadow: var(--jm-shadow-lg);
  font-size: .76rem;
}
.cookie-banner a { color: var(--jm-gold-2); text-decoration: underline; }
.cookie-banner__actions { display: flex; gap: 8px; flex-shrink: 0; }
.cookie-banner button { padding: 8px 13px; border-radius: 999px; font: 750 .7rem var(--jm-font-body); cursor: pointer; }
.cookie-banner__reject { background: transparent; border: 1px solid rgba(255,255,255,.25); color: rgba(255,255,255,.72); }
.cookie-banner__accept { background: var(--jm-gold); border: 1px solid var(--jm-gold); color: var(--jm-ink); }

/* Motion */
.fade-in { transform: translateY(28px); }
.fade-in.visible { transform: translateY(0); }

@media (max-width: 1160px) {
  .nav__logo span { display: none; }
  .nav__links > a { padding-inline: 8px; font-size: .72rem; }
  .pm-portrait__badge { left: -15px; }
}

@media (max-width: 900px) {
  .nav,.nav__inner { height: 72px; }
  .nav__logo img { width: 44px !important; height: 44px !important; }
  .nav__logo span { display: block; font-size: 1.16rem; }
  .nav__links.open { top: 72px !important; background: rgba(255,255,255,.99) !important; padding: 18px 20px 36px !important; }
  .nav__links.open > a { font: 750 .98rem var(--jm-font-body) !important; padding: 13px 14px !important; }
  .nav__links.open > a.nav__cta { margin-left: 0; }
  .nav__links.open .lang-switcher-dd { display: grid !important; grid-template-columns: 1fr 1fr; gap: 7px !important; width: 100%; max-height: none; }
  .nav__links.open .lang-switcher-dd a { background: var(--jm-ivory) !important; border-color: var(--jm-line) !important; }
  .pm-hero { min-height: auto; padding: 125px 0 110px; }
  .pm-hero__grid,.pm-about,.pm-product-layout,.pm-proof { grid-template-columns: 1fr; }
  .pm-hero__copy { text-align: center; }
  .pm-hero__lead { margin-inline: auto; }
  .pm-actions,.pm-trust { justify-content: center; }
  .pm-portrait { width: min(82%,490px); margin: 20px auto 0; }
  .pm-portrait__mark { right: -18px; }
  .pm-paths__intro { display: block; text-align: center; }
  .pm-paths__intro h2,.pm-paths__intro p { margin-inline: auto; }
  .pm-paths__intro p { margin-top: 15px; }
  .pm-paths__grid,.pm-process { grid-template-columns: 1fr; }
  .pm-path { min-height: 215px; }
  .pm-step { min-height: 210px; }
  .pm-step__num { margin-bottom: 30px; }
  .pm-about__visual { width: min(84%,520px); margin: auto; }
  .pm-product-layout { gap: 44px; }
  .pm-product-visual img { min-height: auto; }
  .footer__grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 640px) {
  .container { width: min(100% - 32px,1220px); }
  .nav__logo span { font-size: .98rem; }
  .pm-hero h1 { font-size: clamp(2.65rem,13vw,4.2rem); }
  .pm-kicker { justify-content: center; font-size: .64rem; }
  .pm-actions { flex-direction: column; }
  .pm-actions .pm-btn,.pm-actions .btn { width: 100%; }
  .pm-trust { gap: 12px; justify-content: flex-start; text-align: left; }
  .pm-portrait { width: 95%; }
  .pm-portrait__badge { left: -6px; bottom: 32px; max-width: 200px; }
  .pm-portrait__mark { width: 76px; height: 76px; right: -5px; top: 22px; }
  .pm-paths { padding-bottom: 68px; }
  .pm-path { padding: 25px; }
  .pm-values,.pm-product-grid { grid-template-columns: 1fr; }
  .pm-about__visual { width: 95%; }
  .pm-proof__quote { padding: 52px 24px 28px; }
  .pm-proof__quote::before { left: 23px; top: 2px; }
  .page-header,.nm-hero,.join-hero,.countries-hero,.contact-hero { padding: 136px 0 78px !important; }
  .page-header h1,.nm-hero h1,.join-hero h1,.countries-hero h1,.contact-hero h1 { font-size: clamp(2.45rem,12vw,3.8rem); }
  .footer__grid { grid-template-columns: 1fr !important; }
  .footer__brand { max-width: none !important; }
  .footer__bottom { display: block !important; }
  .footer__bottom p { margin-bottom: 10px; }
  .cookie-banner { display: block; left: 10px; right: 10px; bottom: 10px; }
  .cookie-banner__actions { margin-top: 12px; }
  .cookie-banner button { flex: 1; }
  .wa-float { right: 14px; bottom: 14px; width: 54px; height: 54px; padding: 0; justify-content: center; }
  .wa-float-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; animation: none !important; transition-duration: .001ms !important; }
}
