/* =========================================================
   MODERNYS — APP.CSS (CLEAN / PRODUCTION)
   - Bootstrap 5.3 compatible
   - Topbar + Header fixed (desktop/mobile) + offsets corrects
   - Floating capsule header (state is-scrolled via JS)
   - Hero premium + cards + home sections contrastées
   - Reset underline/focus header/topbar
   ========================================================= */

/* =========================
   0) TOKENS
   ========================= */
:root{
  /* Brand */
  --modernys-bg: #0B3F52;
  --modernys-bg-soft: #0f4d63;

  /* Accents */
  --modernys-primary: #f5b75f;
  --modernys-primary-strong: #e8872a;

  /* Typography */
  --modernys-font-base: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --modernys-font-heading: "Poppins", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  /* Radii / Shadows */
  --modernys-radius-xl: 1.5rem;
  --modernys-radius-lg: 1rem;
  --modernys-shadow-soft: 0 18px 50px rgba(0,0,0,0.10);
  --modernys-shadow-premium: 0 26px 85px rgba(0,0,0,0.22);

  /* Heights (contrôlées) */
  --modernys-topbar-height: 40px;
  --modernys-header-height: 84px;

  --modernys-topbar-height-mobile: 34px;
  --modernys-header-height-mobile: 60px;

  /* Offset = topbar + header reserved space */
  --modernys-fixed-offset: calc(var(--modernys-topbar-height) + var(--modernys-header-height));

  /* Motion */
  --ms-ease: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ms-t: 0.4s var(--ms-ease);
}

@media (max-width: 991.98px){
  :root{
    --modernys-fixed-offset: calc(var(--modernys-topbar-height-mobile) + var(--modernys-header-height-mobile));
  }
}

/* =========================
   1) BASE / GLOBAL
   ========================= */
html{ scroll-behavior: smooth; }

body{
  font-family: var(--modernys-font-base);
  background: var(--modernys-bg);
  color: rgba(255,255,255,0.88);
  line-height: 1.7;
  letter-spacing: -0.01em;
  -webkit-font-smoothing: antialiased;
  font-size: 16px; /* évite l'effet “tout énorme” */
}

h1,h2,h3,h4,h5,h6{ font-family: var(--modernys-font-heading); }

a{ color: var(--modernys-primary-strong); text-decoration: none; }
a:hover{ color: var(--modernys-primary); text-decoration: none; }

/* Prevent anchors hidden under fixed bars */
:target{ scroll-margin-top: calc(var(--modernys-fixed-offset) + 16px); }

/* Main always starts below fixed bars */
main{
  padding-top: var(--modernys-fixed-offset) !important;
  background: var(--modernys-bg);
}

/* Helpers */
.bg-white{ background-color: #fff !important; }
.bg-light { background-color: #f7f9fb !important; }

/* Default muted (NE PAS forcer globalement en blanc) */
.text-muted{ color: rgba(13,39,54,0.62) !important; }

/* Forcer muted blanc dans zones dark seulement */
.hero-home .text-muted,
.site-header .text-muted,
.site-footer .text-muted,
.modernys-topbar .text-muted,
.modernys-topbar-mobile .text-muted{
  color: rgba(255,255,255,0.68) !important;
}

/* Sections claires : texte sombre lisible */
.bg-white, .bg-light{ color: #0d2736 !important; }
.bg-white h1,.bg-white h2,.bg-white h3,.bg-white h4,.bg-white h5,.bg-white h6,
.bg-light  h1,.bg-light  h2,.bg-light  h3,.bg-light  h4,.bg-light  h5,.bg-light  h6{
  color:#0d2736 !important;
}
.bg-white a, .bg-light a{ color:#0B3F52; }
.bg-white a:hover, .bg-light a:hover{ color:#083242; }

/* Inputs lisibles en section claire */
.bg-white .form-control, .bg-white .form-select,
.bg-light .form-control, .bg-light .form-select{
  color:#0d2736;
  background:#fff;
  border-color: rgba(13,39,54,0.18);
}
.bg-white .form-control:focus, .bg-light .form-control:focus{
  border-color: rgba(245,183,95,0.85);
  box-shadow: 0 0 0 .2rem rgba(245,183,95,0.18);
}

/* =========================
   2) UI: PROGRESS + BACK TO TOP
   ========================= */
.reading-progress-bar{
  height: 3px;
  background: linear-gradient(to right, var(--modernys-primary), var(--modernys-primary-strong));
  position: fixed;
  top: 0;
  left: 0;
  width: 0%;
  z-index: 2000;
}

.btn-back-to-top{
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 45px;
  height: 45px;
  border-radius: 999px;
  background: var(--modernys-primary);
  color: var(--modernys-bg);
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
  z-index: 1500;
}
.btn-back-to-top.show{
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* =========================
   3) HEADER/TOPBAR: Z-INDEX + RESET UNDERLINE/FOCUS
   ========================= */
.modernys-topbar,
.modernys-topbar-mobile{
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1300;
}

.modernys-header-desktop,
.modernys-navbar-mobile{
  z-index: 1250;
}

/* collapse mobile doit passer au-dessus */
.modernys-navbar-mobile .navbar-collapse{
  position: relative;
  z-index: 1400;
}

/* Underline/focus reset total (header + topbar) */
.site-header a,
.site-header a:hover,
.site-header a:focus,
.site-header a:focus-visible,
.site-header .nav-link,
.site-header .nav-link:hover,
.site-header .nav-link:focus,
.site-header .nav-link:focus-visible,
.site-header .btn,
.site-header .btn:hover,
.site-header .btn:focus,
.site-header .btn:focus-visible,
.modernys-topbar a,
.modernys-topbar a:hover,
.modernys-topbar a:focus,
.modernys-topbar a:focus-visible,
.modernys-topbar-mobile a,
.modernys-topbar-mobile a:hover,
.modernys-topbar-mobile a:focus,
.modernys-topbar-mobile a:focus-visible{
  text-decoration: none !important;
  text-decoration-line: none !important;
  text-decoration-thickness: 0 !important;
  text-underline-offset: 0 !important;
  background-image: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* =========================
   4) TOPBAR (OPAQUE)
   ========================= */
.modernys-topbar,
.modernys-topbar-mobile{
  background: var(--modernys-bg);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.90);
  display:flex;
  align-items:center;
}

.modernys-topbar{ height: var(--modernys-topbar-height); }
.modernys-topbar-mobile{ height: var(--modernys-topbar-height-mobile); }

.modernys-topbar a,
.modernys-topbar-mobile a{ color: rgba(255,255,255,0.92); }
.modernys-topbar a:hover,
.modernys-topbar-mobile a:hover{ color: var(--modernys-primary); }

.modernys-topbar-label{
  color: rgba(255,255,255,0.62);
  letter-spacing: 0.10em;
  text-transform: uppercase;
  font-size: 0.70rem;
  margin-right: .35rem;
}
.modernys-topbar-sep{ color: rgba(255,255,255,0.22); }

/* Language switch */
.modernys-lang-switch .btn{
  border-radius: 999px;
  border-color: rgba(255,255,255,0.22);
  color: rgba(255,255,255,0.92);
  padding: 0.18rem 0.6rem;
  font-size: 0.72rem;
}
.modernys-lang-switch .btn:hover{ border-color: rgba(245,183,95,0.55); }
.modernys-lang-switch .btn.active{
  background: linear-gradient(135deg, var(--modernys-primary), var(--modernys-primary-strong));
  border-color: transparent;
  color: var(--modernys-bg);
}

/* =========================
   5) HEADER DESKTOP (FLOATING CAPSULE)
   ========================= */
.modernys-header-desktop{
  position: fixed;
  top: var(--modernys-topbar-height);
  left: 0; right: 0;

  height: var(--modernys-header-height);
  display:flex;
  align-items:center;

  background: transparent;
  border: none;
  padding-top: 12px;
  transition: all var(--ms-t);
}

/* Capsule */
.modernys-nav-container{
  width: 100%;
  display:flex;
  align-items:center;

  background: rgba(11,63,82,0.20);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 999px;
  padding: 8px 22px;
  backdrop-filter: blur(0px);
  transition: all var(--ms-t);
}

/* Barre interne */
.modernys-header-bar{
  width: 100%;
  min-height: calc(var(--modernys-header-height) - 18px);
  display:flex;
  align-items:center;
  justify-content: space-between;
}

/* State scrolled */
.modernys-header-desktop.is-scrolled{
  padding-top: 6px;
}
.modernys-header-desktop.is-scrolled .modernys-nav-container{
  background: rgba(11,63,82,0.86);
  border-color: rgba(255,255,255,0.12);
  backdrop-filter: blur(14px);
  box-shadow: 0 15px 35px rgba(0,0,0,0.30);
}

/* Desktop nav links */
.site-header .navbar-nav{ align-items:center; }
.site-header .navbar-nav .nav-link{
  color: rgba(255,255,255,0.88);
  letter-spacing: 0.09em;
  text-transform: uppercase;
  font-size: 0.74rem;
  padding: 0.2rem 0.3rem;
  position: relative;
}
.site-header .navbar-nav .nav-link:hover{ color: rgba(255,255,255,0.98); }

.site-header .navbar-nav .nav-link.active{ color: rgba(255,255,255,0.98); }
.site-header .navbar-nav .nav-link.active::after{
  content:"";
  position:absolute;
  left: .3rem;
  right: .3rem;
  bottom: -0.40rem;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(135deg, var(--modernys-primary), var(--modernys-primary-strong));
  opacity: .95;
}

/* Logo */
.modernys-logo-img{
  height: 46px !important; /* taille premium maîtrisée */
  width: auto !important;
  max-width: 190px;
  object-fit: contain;
  display:block;
  transition: transform var(--ms-t);
}
.modernys-header-desktop.is-scrolled .modernys-logo-img{
  transform: scale(0.94);
}

/* CTA header */
.btn-cta-header{
  background: linear-gradient(135deg, var(--modernys-primary), var(--modernys-primary-strong));
  color: var(--modernys-bg) !important;
  font-weight: 900;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  padding: 9px 18px;
  border-radius: 999px;
  border: none;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.btn-cta-header:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(245,183,95,0.30);
}

/* =========================
   6) HEADER MOBILE (CAPSULE + COLLAPSE)
   ========================= */
.modernys-navbar-mobile{
  position: fixed;
  top: var(--modernys-topbar-height-mobile);
  left: 0; right: 0;

  min-height: var(--modernys-header-height-mobile);
  background: transparent;
  border: none;
  padding-top: 10px;
  transition: all var(--ms-t);
}

/* Petit resserrement au scroll */
.modernys-navbar-mobile.is-scrolled{
  padding-top: 6px;
}

.modernys-mobile-bar{
  background: rgba(11,63,82,0.92);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 999px;
  padding: 10px 14px;
  width:100%;
  display:flex;
  align-items:center;
  justify-content: space-between;
  backdrop-filter: blur(10px);
  transition: all var(--ms-t);
}

/* brand logo mobile */
.modernys-navbar-mobile .navbar-brand img{
  height: 26px !important;
  width: auto !important;
  object-fit: contain;
}

/* toggler neutralisé */
.modernys-navbar-mobile .navbar-toggler{
  border: 0;
  padding: 0;
}
.modernys-navbar-mobile .navbar-toggler:focus{ box-shadow: none !important; }

/* hamburger icon */
.hamburger-icon{
  width: 34px;
  height: 22px;
  position: relative;
  display: inline-block;
}
.hamburger-icon span{
  position:absolute;
  left: 0; right: 0;
  height: 2px;
  border-radius: 2px;
  background: rgba(255,255,255,0.92);
}
.hamburger-icon span:nth-child(1){ top: 6px; }
.hamburger-icon span:nth-child(2){ top: 14px; }

/* collapse panel */
.modernys-navbar-mobile .navbar-collapse{
  margin-top: 12px;
  background: rgba(11,63,82,0.96);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 18px;
  padding: 8px 14px;
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 50px rgba(0,0,0,0.22);
}

/* mobile links */
.mobile-menu-inner .nav-link{
  color: rgba(255,255,255,0.92);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.82rem;
  padding: 0.65rem 0.75rem;
}
.mobile-menu-inner .nav-link:hover{ color: var(--modernys-primary); }

.mobile-menu-inner .btn.btn-primary{
  background: linear-gradient(135deg, var(--modernys-primary), var(--modernys-primary-strong));
  border: none;
  color: var(--modernys-bg);
  font-weight: 900;
  border-radius: 999px;
}

/* =========================
   7) HERO HOME — PREMIUM (structure inchangée)
   ========================= */
.hero-home{
  position: relative;
  min-height: 100vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background: var(--modernys-bg);
  isolation: isolate;
}

/* Background wrapper (parallax-friendly via JS) */
.hero-bg-wrapper{
  position:absolute;
  inset: -12% 0 -12% 0;
  height: 124%;
  z-index:0;
  will-change: transform;
  transform: translate3d(0,0,0);
}

.hero-img{
  width:100%;
  height:100%;
  object-fit: cover;
  filter: brightness(.62) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}

.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,0.16), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,0.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,0.45) 0%, rgba(11,63,82,0.92) 70%, rgba(11,63,82,0.98) 100%);
}

.hero-container{ position: relative; z-index:2; }

/* Badge */
.badge-premium{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.55rem 1.05rem;
  border-radius:999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.88);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .72rem;
  backdrop-filter: blur(10px);
  box-shadow: 0 18px 60px rgba(0,0,0,0.22);
  animation: heroFadeUp .7s var(--ms-ease) both;
}

/* Title */
.hero-title{
  font-size: clamp(2.2rem, 5.8vw, 4.4rem);
  line-height: 1.06;
  font-weight: 900;
  color: #fff;
  letter-spacing: -0.02em;
  text-wrap: balance;
  margin-inline: auto;
  max-width: 18ch;
  animation: heroFadeUp .85s var(--ms-ease) .08s both;
}

/* span.text-gradient inside title */
.text-gradient{
  background: linear-gradient(135deg, var(--modernys-primary) 0%, #ffffff 45%, var(--modernys-primary-strong) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 20px 70px rgba(245,183,95,0.22);
}

.hero-subtitle{
  font-size: clamp(1.05rem, 1.35vw, 1.25rem);
  color: rgba(255,255,255,0.78);
  max-width: 62ch;
  margin-inline: auto;
  text-wrap: pretty;
  animation: heroFadeUp .95s var(--ms-ease) .14s both;
}

/* Search glass */
.search-bar-wrapper{
  position: relative;
  border-radius: 22px;
  padding: 10px;
  max-width: 1040px;
  margin-inline: auto;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.16);
  backdrop-filter: blur(18px);
  box-shadow: 0 30px 80px rgba(0,0,0,0.35);
  animation: heroFadeUp 1s var(--ms-ease) .22s both;
}
.search-bar-wrapper::before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius: 24px;
  background:
    radial-gradient(600px 220px at 20% 0%, rgba(245,183,95,0.25), transparent 55%),
    radial-gradient(520px 220px at 80% 10%, rgba(255,255,255,0.12), transparent 55%);
  opacity: .65;
  pointer-events:none;
  filter: blur(12px);
  z-index:0;
}
.search-form-premium{ position: relative; z-index:1; }

.search-col{ border-right: 1px solid rgba(255,255,255,0.10); }
@media (max-width: 991.98px){
  .search-col{ border-right:none; border-bottom: 1px solid rgba(255,255,255,0.10); }
}

.search-item{
  position: relative;
  padding: 10px 18px;
  text-align: left;
}
.search-item label{
  display:block;
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: rgba(245,183,95,0.92);
  font-weight: 900;
  margin-bottom: 6px;
}
.search-item::after{
  content:"\F282";
  font-family: "bootstrap-icons";
  position:absolute;
  right: 14px;
  top: 34px;
  font-size: .9rem;
  color: rgba(255,255,255,0.60);
  pointer-events:none;
}

.form-select-search{
  appearance: none;
  background: transparent;
  border: 0;
  color: rgba(255,255,255,0.92);
  font-weight: 700;
  width: 100%;
  outline: none;
  cursor: pointer;
  padding-right: 18px;
  line-height: 1.2;
}
.form-select-search option{ background: var(--modernys-bg); color: #fff; }

.btn-search-premium{
  width:100%;
  height:60px;
  border-radius: 16px;
  border:0;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: linear-gradient(135deg, var(--modernys-primary) 0%, var(--modernys-primary-strong) 100%);
  color: var(--modernys-bg);
  box-shadow: 0 18px 60px rgba(245,183,95,0.18);
  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}
.btn-search-premium:hover{
  transform: translateY(-2px);
  box-shadow: 0 24px 75px rgba(245,183,95,0.22);
  filter: brightness(1.02);
}
.btn-search-premium:active{ transform: translateY(0); }

.scroll-indicator{
  position:absolute;
  bottom: 26px;
  left: 50%;
  transform: translateX(-50%);
  z-index:2;
  opacity: .85;
}
.mouse{
  width: 26px;
  height: 42px;
  border: 2px solid rgba(255,255,255,0.42);
  border-radius: 999px;
  position: relative;
  backdrop-filter: blur(6px);
}
.mouse::before{
  content:"";
  width: 4px;
  height: 10px;
  background: rgba(255,255,255,0.9);
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  top: 9px;
  border-radius: 999px;
  animation: heroScroll 1.9s infinite;
}

@keyframes heroScroll{
  0%{ opacity:1; transform: translate(-50%,0); }
  100%{ opacity:0; transform: translate(-50%,18px); }
}
@keyframes heroFadeUp{
  from{ opacity:0; transform: translate3d(0,14px,0); }
  to  { opacity:1; transform: translate3d(0,0,0); }
}

@media (max-width: 991.98px){
  .hero-title{ max-width: 22ch; }
  .btn-search-premium{ height: 56px; border-radius: 14px; }
}
@media (max-width: 575.98px){
  .badge-premium{ letter-spacing: .10em; font-size: .68rem; }
  .search-bar-wrapper{ border-radius: 18px; }
}

/* =========================
   8) HOME PREMIUM — UTILITIES
   ========================= */
.ms-section{ position: relative; }
.ms-section-light{ background:#fff; color:#0d2736; }
.ms-section-light .text-muted{ color: rgba(13,39,54,0.62) !important; }

.ms-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.35rem .75rem;
  border-radius:999px;
  background: rgba(245,183,95,0.14);
  border: 1px solid rgba(245,183,95,0.25);
  color: var(--modernys-primary-strong);
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .70rem;
  margin-bottom: .6rem;
}

.ms-title{
  font-size: clamp(1.6rem, 2.6vw, 2.2rem);
  font-weight: 900;
  margin-bottom: .35rem;
}

.ms-lead{
  max-width: 62ch;
  color: rgba(255,255,255,0.72);
}
.ms-section-light .ms-lead{ color: rgba(13,39,54,0.65); }

/* Trustbar */
.ms-trustbar{
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.ms-trust-item{
  display:flex;
  gap:.85rem;
  padding: 1rem 1.05rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.07);
  backdrop-filter: blur(10px);
}
.ms-trust-ic{
  width: 42px; height: 42px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(245,183,95,0.16);
  color: var(--modernys-primary);
  flex: 0 0 auto;
}
.ms-trust-title{ font-weight: 900; color: rgba(255,255,255,0.92); }
.ms-trust-text{ font-size: .9rem; color: rgba(255,255,255,0.68); }

/* Empty state */
.ms-empty{
  border-radius: 22px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.ms-empty-ic{
  width: 56px; height: 56px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(245,183,95,0.16);
  color: var(--modernys-primary);
  font-size: 1.4rem;
  margin-inline: auto;
}

/* Feature blocks */
.ms-feature{
  display:flex;
  gap:.8rem;
  padding:.9rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.ms-feature-ic{
  width: 40px; height: 40px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  color: rgba(255,255,255,0.90);
  flex: 0 0 auto;
}
.ms-feature-title{ font-weight: 900; color: rgba(255,255,255,0.92); }
.ms-feature-text{ font-size: .9rem; color: rgba(255,255,255,0.68); }

/* Showcase */
.ms-showcase{
  position: relative;
  border-radius: 26px;
  overflow:hidden;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: var(--modernys-shadow-premium);
}
.ms-showcase-glow{
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(600px 280px at 20% 20%, rgba(245,183,95,0.20), transparent 60%),
    radial-gradient(520px 260px at 80% 10%, rgba(255,255,255,0.10), transparent 60%);
  pointer-events:none;
}
.ms-showcase-card{ position: relative; padding: 1.25rem 1.25rem .75rem; z-index:2; }
.ms-showcase-top{ display:flex; align-items:flex-start; justify-content:space-between; gap: 1rem; }
.ms-showcase-badge{
  border-radius: 999px;
  padding: .35rem .7rem;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.25);
  color: var(--modernys-primary);
  white-space: nowrap;
}
.ms-showcase-stats{ display:flex; gap:.75rem; margin-top: 1rem; }
.ms-stat{
  flex:1;
  border-radius: 18px;
  padding: .8rem .9rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.ms-stat-val{ font-weight: 900; font-size: 1.15rem; color: rgba(255,255,255,0.92); }
.ms-stat-lbl{
  font-size: .8rem;
  color: rgba(255,255,255,0.65);
  letter-spacing: .10em;
  text-transform: uppercase;
}
.ms-showcase-note{ margin-top: 1rem; color: rgba(255,255,255,0.70); font-size: .95rem; }
.ms-showcase-img{ position: relative; z-index:1; height: 260px; }
.ms-showcase-img img{ width:100%; height:100%; object-fit: cover; filter: brightness(.78); }

/* Service cards */
.service-card{
  border-radius: 22px;
  background:#fff;
  color:#0d2736;
  box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}
.ms-service-ic{
  width: 54px; height: 54px;
  border-radius: 999px;
  margin-inline: auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(245,183,95,0.14);
  border: 1px solid rgba(245,183,95,0.20);
  color:#0d2736;
  font-size: 1.35rem;
}
.ms-link{ color: rgba(13,39,54,0.75); }
.ms-link:hover{ color: rgba(13,39,54,1); }

/* Steps */
.ms-step{
  display:flex;
  gap:.9rem;
  padding: 1rem 1.05rem;
  border-radius: 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.ms-step-n{
  width: 44px; height: 44px;
  border-radius: 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(245,183,95,0.16);
  color: var(--modernys-primary);
  font-weight: 900;
  flex: 0 0 auto;
}
.ms-step-t{ font-weight: 900; color: rgba(255,255,255,0.92); }
.ms-step-d{ color: rgba(255,255,255,0.68); font-size: .92rem; }

/* Mini cards */
.ms-mini-card{
  padding: 1.1rem 1.15rem;
  border-radius: 22px;
  background:#fff;
  border: 1px solid rgba(13,39,54,0.10);
  box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}
.ms-mini-ic{
  width: 46px; height: 46px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(245,183,95,0.18);
  color:#0d2736;
  margin-bottom: .75rem;
}
.ms-mini-t{ font-weight: 900; color:#0d2736; }
.ms-mini-d{ color: rgba(13,39,54,0.65); font-size: .92rem; margin-top: .25rem; }

/* CTA card */
.ms-cta-card{
  border-radius: 26px;
  padding: 1.6rem 1.5rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: var(--modernys-shadow-premium);
}
.ms-cta-points{ display:grid; gap:.5rem; }
.ms-cta-point{ display:inline-flex; align-items:center; gap:.5rem; color: rgba(255,255,255,0.72); }
.ms-cta-point i{ color: var(--modernys-primary); }

.ms-form .form-control{
  border-radius: 14px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
}
.ms-form .form-control::placeholder{ color: rgba(255,255,255,0.55); }
.ms-form .form-control:focus{
  border-color: rgba(245,183,95,0.65);
  box-shadow: 0 0 0 .2rem rgba(245,183,95,0.18);
}

/* =========================================================
   PROJECTS INDEX — Premium UI
   (ne modifie pas le header, n’écrase pas Bootstrap)
   ========================================================= */

.ms-projects-hero{
  position: relative;
  overflow: hidden;
  background: var(--modernys-bg);
  padding: 3.2rem 0 2.2rem;
  isolation: isolate;
}
.ms-projects-hero-bg{ position:absolute; inset:-10% 0 -10% 0; height:120%; z-index:0; }
.ms-projects-hero-img{
  width:100%; height:100%; object-fit:cover;
  filter: brightness(.62) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}
.ms-projects-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,.16), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,.45) 0%, rgba(11,63,82,.92) 70%, rgba(11,63,82,.98) 100%);
}
.ms-projects-hero-content{ position:relative; z-index:2; }

.ms-projects-title{
  font-size: clamp(2rem, 4.6vw, 3.4rem);
  line-height: 1.08;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  max-width: 22ch;
}
.ms-projects-lead{
  color: rgba(255,255,255,0.78);
  max-width: 70ch;
  margin-top: .75rem;
}

/* KPI card */
.ms-projects-kpi-card{
  position: relative;
  border-radius: 24px;
  padding: 1rem 1rem 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
  overflow: hidden;
}
.ms-projects-kpi-glow{
  position:absolute; inset:-45%;
  background:
    radial-gradient(600px 260px at 20% 20%, rgba(245,183,95,0.22), transparent 60%),
    radial-gradient(520px 240px at 80% 10%, rgba(255,255,255,0.12), transparent 60%);
  pointer-events:none;
}
.ms-projects-kpi-row{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .65rem;
}
.ms-projects-kpi-note{
  position: relative;
  z-index: 1;
  margin-top: .8rem;
  color: rgba(255,255,255,0.72);
  font-size: .9rem;
}

/* chips */
.ms-projects-chips{ display:flex; flex-wrap:wrap; gap:.5rem; }
.ms-chip{
  display:inline-flex;
  align-items:center;
  padding: .45rem .85rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.92) !important;
  text-decoration: none !important;
  font-size: .82rem;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.ms-chip:hover{ transform: translateY(-1px); border-color: rgba(245,183,95,0.35); }
.ms-chip.active{
  background: linear-gradient(135deg, var(--modernys-primary), var(--modernys-primary-strong));
  border-color: transparent;
  color: var(--modernys-bg) !important;
  font-weight: 800;
}

/* wrap section background */
.ms-projects-wrap{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(245,183,95,0.06), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(255,255,255,0.04), transparent 60%),
    var(--modernys-bg);
}

/* filter card (glass) */
.ms-filter-card{
  border-radius: 24px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  padding: 1rem 1rem 1.1rem;
  box-shadow: 0 26px 85px rgba(0,0,0,0.18);
}
.ms-filter-title{
  display:flex; align-items:center; gap:.75rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid rgba(255,255,255,0.10);
  margin-bottom: .9rem;
}
.ms-filter-ic{
  width: 44px; height: 44px; border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  color: var(--modernys-primary);
}

/* inputs in glass */
.ms-filter-form .form-control,
.ms-filter-form .form-select{
  border-radius: 14px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
}
.ms-filter-form .form-control::placeholder{ color: rgba(255,255,255,0.55); }
.ms-filter-form .form-control:focus,
.ms-filter-form .form-select:focus{
  border-color: rgba(245,183,95,0.65);
  box-shadow: 0 0 0 .2rem rgba(245,183,95,0.18);
}
.ms-filter-form .form-label{ color: rgba(255,255,255,0.78); }

/* active filters */
.ms-filter-active{
  border-radius: 22px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  padding: .9rem 1rem;
}
.ms-badge{
  display:inline-flex;
  padding: .35rem .6rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.86);
  font-size: .78rem;
}

/* results head */
.ms-results-head{
  display:flex;
  align-items:flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}
.ms-results-title{
  color: rgba(255,255,255,0.94);
  font-weight: 800;
  margin: 0;
}
.ms-results-actions{ display:flex; flex-wrap:wrap; gap:.5rem; }

/* project card premium */
.ms-project-card{
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
  height: 100%;
}
.ms-project-card:hover{
  transform: translateY(-6px);
  border-color: rgba(245,183,95,0.26);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}

.ms-project-media{
  position: relative;
  height: 210px;
  overflow: hidden;
}
.ms-project-media img{
  width:100%; height:100%;
  object-fit: cover;
  filter: brightness(.78) contrast(1.06) saturate(1.05);
  transform: scale(1.02);
  transition: transform .55s ease;
}
.ms-project-card:hover .ms-project-media img{ transform: scale(1.08); }

.ms-project-media::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(5,24,36,0.08) 0%, rgba(5,24,36,0.45) 70%, rgba(5,24,36,0.72) 100%);
  pointer-events:none;
}

/* badges on image */
.ms-status-badge{
  position:absolute; left: 12px; top: 12px;
  display:inline-flex; align-items:center; gap:.45rem;
  padding: .38rem .65rem;
  border-radius: 999px;
  background: rgba(11,63,82,0.72);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  font-size: .78rem;
  z-index: 2;
}
.ms-status-dot{ width:10px; height:10px; border-radius:999px; display:inline-block; }

.ms-type-chip{
  position:absolute; right: 12px; top: 12px;
  display:inline-flex; align-items:center;
  padding: .38rem .65rem;
  border-radius: 999px;
  background: rgba(245,183,95,0.18);
  border: 1px solid rgba(245,183,95,0.25);
  color: var(--modernys-primary);
  font-weight: 800;
  font-size: .75rem;
  z-index: 2;
}

/* body */
.ms-project-body{
  padding: 1rem 1.05rem 1.05rem;
  display:flex;
  flex-direction: column;
  min-height: 235px;
}
.ms-project-meta{
  display:flex;
  justify-content: space-between;
  gap: .75rem;
  color: rgba(255,255,255,0.72);
  font-size: .88rem;
}
.ms-project-standing{
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  white-space: nowrap;
  color: rgba(255,255,255,0.80);
}
.ms-project-title{
  margin-top: .55rem;
  font-weight: 800;
  color: rgba(255,255,255,0.94);
  font-size: 1.02rem;
}
.ms-project-title a{
  color: inherit !important;
  text-decoration: none !important;
}
.ms-project-desc{
  margin-top: .45rem;
  color: rgba(255,255,255,0.72);
  font-size: .92rem;
}

/* progress */
.ms-project-progress .progress{
  height: 6px;
  border-radius: 999px;
  background: rgba(255,255,255,0.10);
  overflow: hidden;
}
.ms-project-progress .progress-bar{
  border-radius: 999px;
  background: linear-gradient(135deg, var(--modernys-primary), var(--modernys-primary-strong));
}

/* bottom cta line */
.ms-project-cta{
  margin-top: .9rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255,255,255,0.10);
}
.ms-project-more{
  color: rgba(255,255,255,0.88);
  font-weight: 700;
}

/* responsive */
@media (max-width: 991.98px){
  .ms-results-head{ align-items:flex-start; flex-direction: column; }
  .ms-projects-kpi-row{ grid-template-columns: 1fr; }
}


/* =========================
   10) FOOTER (base)
   ========================= */
.site-footer{
  color: rgba(255,255,255,0.86);
  background: radial-gradient(circle at top left, #163548 0%, #06121b 45%, #02070a 100%);
}
.footer-title{
  font-family: var(--modernys-font-heading);
  font-size: .92rem;
  letter-spacing: .10em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.92);
  margin-bottom: 1rem;
}
.footer-text{
  color: rgba(255,255,255,0.70);
  line-height: 1.85;
  font-size: .92rem;
}

/* =========================================================
   ABOUT PAGE — Premium + Friendly
   ========================================================= */

.ms-about-section{ position: relative; }

/* HERO */
.ms-about-hero{
  position: relative;
  min-height: 92vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--modernys-bg);
  isolation: isolate;
}

.ms-about-hero-bg{ position:absolute; inset:-10% 0 -10% 0; height:120%; z-index:0; }
.ms-about-hero-img{
  width:100%; height:100%; object-fit:cover;
  filter: brightness(.60) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}
.ms-about-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,.16), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,.45) 0%, rgba(11,63,82,.92) 70%, rgba(11,63,82,.98) 100%);
}

.ms-about-hero-content{ position:relative; z-index:2; padding-block: 3.5rem; }

.ms-about-title{
  font-size: clamp(2.05rem, 5.2vw, 4rem);
  line-height: 1.06;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  max-width: 20ch;
}
.ms-about-lead{
  color: rgba(255,255,255,0.80);
  font-size: 1.05rem;
  max-width: 64ch;
  margin-top: .9rem;
}

/* KPIs */
.ms-about-kpis{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
  max-width: 560px;
}
.ms-kpi{
  border-radius: 18px;
  padding: .85rem .95rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.12);
  backdrop-filter: blur(10px);
}
.ms-kpi-val{ font-weight: 900; color: rgba(255,255,255,0.95); }
.ms-kpi-lbl{
  font-size: .78rem;
  color: rgba(255,255,255,0.70);
  letter-spacing: .10em;
  text-transform: uppercase;
}

/* Right card */
.ms-about-card{
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}
.ms-about-card-glow{
  position:absolute; inset:-45%;
  background:
    radial-gradient(600px 260px at 20% 20%, rgba(245,183,95,0.22), transparent 60%),
    radial-gradient(520px 240px at 80% 10%, rgba(255,255,255,0.12), transparent 60%);
  pointer-events:none;
}
.ms-about-card-head{ position:relative; padding: 1.2rem 1.25rem .9rem; z-index:2; }
.ms-about-card-badge{
  display:inline-flex; align-items:center;
  border-radius: 999px;
  padding: .35rem .7rem;
  font-size: .75rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.25);
  color: var(--modernys-primary);
}
.ms-about-card-title{ margin-top:.7rem; font-weight:800; color: rgba(255,255,255,0.94); }
.ms-about-card-text{ margin-top:.35rem; color: rgba(255,255,255,0.74); }

.ms-about-card-img{ height: 220px; position:relative; z-index:1; }
.ms-about-card-img img{
  width:100%; height:100%; object-fit:cover;
  filter: brightness(.78) contrast(1.05);
}

.ms-about-card-points{
  position:relative;
  z-index:2;
  padding: .95rem 1.25rem 1.25rem;
  display: grid;
  gap: .5rem;
}
.ms-point{ display:inline-flex; align-items:center; gap:.55rem; color: rgba(255,255,255,0.78); }
.ms-point i{ color: var(--modernys-primary); }

/* LIGHT section helper */
.ms-about-light{
  background: #ffffff;
  color: #0d2736;
}
.ms-about-light .ms-lead{ color: rgba(13,39,54,0.65); }

/* Media block */
.ms-about-media{
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(13,39,54,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.12);
}
.ms-about-media img{ width:100%; height: 420px; object-fit: cover; display:block; }
.ms-about-media-badge{
  position:absolute;
  left: 14px; bottom: 14px;
  border-radius: 999px;
  padding: .45rem .8rem;
  background: rgba(13,39,54,0.70);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  font-size: .82rem;
}

/* mini items */
.ms-about-mini{
  display:flex; gap:.8rem;
  padding: .9rem 1rem;
  border-radius: 18px;
  background: rgba(13,39,54,0.04);
  border: 1px solid rgba(13,39,54,0.10);
}
.ms-about-mini-ic{
  width: 42px; height: 42px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.22);
  color: #0d2736;
  flex: 0 0 auto;
}
.ms-about-mini-t{ font-weight: 800; color:#0d2736; }
.ms-about-mini-d{ font-size:.92rem; color: rgba(13,39,54,0.65); }

/* Gallery */
.ms-about-photo{
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid rgba(13,39,54,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.10);
}
.ms-about-photo img{
  width:100%;
  height: 260px;
  object-fit: cover;
  display:block;
  transform: scale(1.02);
  transition: transform .45s ease;
}
.ms-about-photo:hover img{ transform: scale(1.06); }

/* Scroll indicator reuse (si tu l’as déjà, ça ne gêne pas) */
.ms-about-scroll{ margin-top: 2.5rem; display:flex; justify-content:center; opacity:.85; }

/* Responsive */
@media (max-width: 991.98px){
  .ms-about-kpis{ grid-template-columns: 1fr; max-width: 420px; }
  .ms-about-media img{ height: 320px; }
}

/* =========================================================
   GUIDES INDEX — Premium UI
   ========================================================= */

.ms-guides-hero{
  position: relative;
  overflow: hidden;
  background: var(--modernys-bg);
  padding: 3.2rem 0 2.2rem;
  isolation: isolate;
}
.ms-guides-hero-bg{ position:absolute; inset:-10% 0 -10% 0; height:120%; z-index:0; }
.ms-guides-hero-img{
  width:100%; height:100%; object-fit:cover;
  filter: brightness(.64) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}
.ms-guides-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,.16), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,.45) 0%, rgba(11,63,82,.92) 70%, rgba(11,63,82,.98) 100%);
}
.ms-guides-hero-content{ position:relative; z-index:2; }

.ms-guides-title{
  font-size: clamp(2rem, 4.6vw, 3.2rem);
  line-height: 1.08;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.02em;
  max-width: 26ch;
}
.ms-guides-lead{
  color: rgba(255,255,255,0.78);
  max-width: 72ch;
  margin-top: .75rem;
}

/* KPI card */
.ms-guides-kpi-card{
  position: relative;
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
  overflow: hidden;
}
.ms-guides-kpi-glow{
  position:absolute; inset:-45%;
  background:
    radial-gradient(600px 260px at 20% 20%, rgba(245,183,95,0.22), transparent 60%),
    radial-gradient(520px 240px at 80% 10%, rgba(255,255,255,0.12), transparent 60%);
  pointer-events:none;
}
.ms-guides-kpi-row{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: .65rem;
}
.ms-guides-kpi-note{
  position: relative;
  z-index: 1;
  margin-top: .8rem;
  color: rgba(255,255,255,0.72);
  font-size: .9rem;
}

/* chips */
.ms-guides-chips{ display:flex; flex-wrap:wrap; gap:.5rem; }

/* wrap */
.ms-guides-wrap{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(245,183,95,0.06), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(255,255,255,0.04), transparent 60%),
    var(--modernys-bg);
}

/* article cards */
.ms-article-card{
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
  transition: transform .28s ease, border-color .28s ease, box-shadow .28s ease;
  height: 100%;
}
.ms-article-card:hover{
  transform: translateY(-6px);
  border-color: rgba(245,183,95,0.26);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}

.ms-article-media{
  position: relative;
  height: 210px;
  overflow: hidden;
}
.ms-article-media img{
  width:100%; height:100%;
  object-fit: cover;
  filter: brightness(.80) contrast(1.06) saturate(1.05);
  transform: scale(1.02);
  transition: transform .55s ease;
}
.ms-article-card:hover .ms-article-media img{ transform: scale(1.08); }

.ms-article-media::after{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(5,24,36,0.06) 0%, rgba(5,24,36,0.42) 70%, rgba(5,24,36,0.70) 100%);
  pointer-events:none;
}

.ms-article-badge{
  position:absolute; left:12px; top:12px;
  display:inline-flex; align-items:center;
  padding:.38rem .65rem;
  border-radius:999px;
  background: rgba(11,63,82,0.72);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.92);
  backdrop-filter: blur(10px);
  font-size: .78rem;
  z-index: 2;
}
.ms-article-date{
  position:absolute; right:12px; top:12px;
  display:inline-flex; align-items:center;
  padding:.38rem .65rem;
  border-radius:999px;
  background: rgba(245,183,95,0.18);
  border: 1px solid rgba(245,183,95,0.25);
  color: var(--modernys-primary);
  font-weight: 800;
  font-size: .75rem;
  z-index: 2;
}

.ms-article-body{
  padding: 1rem 1.05rem 1.05rem;
  display:flex;
  flex-direction: column;
  min-height: 235px;
}
.ms-article-title{
  font-weight: 800;
  color: rgba(255,255,255,0.94);
  font-size: 1.02rem;
  margin: 0;
}
.ms-article-title a{ color: inherit !important; text-decoration:none !important; }

.ms-article-desc{
  margin-top: .55rem;
  color: rgba(255,255,255,0.72);
  font-size: .92rem;
}

.ms-article-footer{
  margin-top: .9rem;
  padding-top: .8rem;
  border-top: 1px solid rgba(255,255,255,0.10);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap:.75rem;
}
.ms-article-more{ color: rgba(255,255,255,0.88); font-weight: 700; }
.ms-article-readtime{ color: rgba(255,255,255,0.70); font-size: .85rem; white-space: nowrap; }

@media (max-width: 991.98px){
  .ms-guides-kpi-row{ grid-template-columns: 1fr; }
}

/* =========================================================
   ARTICLE SHOW — Premium UI
   ========================================================= */

.ms-article-hero{
  position: relative;
  overflow: hidden;
  background: var(--modernys-bg);
  padding: 3.2rem 0 2.2rem;
  isolation: isolate;
}
.ms-article-hero-bg{ position:absolute; inset:-10% 0 -10% 0; height:120%; z-index:0; }
.ms-article-hero-img{
  width:100%; height:100%; object-fit:cover;
  filter: brightness(.62) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}
.ms-article-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,.16), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,.40) 0%, rgba(11,63,82,.92) 70%, rgba(11,63,82,.98) 100%);
}

.ms-article-hero-content{ position:relative; z-index:2; }

.ms-breadcrumb{
  display:flex; flex-wrap:wrap; gap:.4rem;
  color: rgba(255,255,255,0.70);
  font-size: .9rem;
  margin-bottom: 1rem;
}
.ms-breadcrumb a{ color: rgba(255,255,255,0.88); text-decoration:none !important; }
.ms-breadcrumb a:hover{ color: var(--modernys-primary); }
.ms-breadcrumb-sep{ color: rgba(255,255,255,0.40); }
.ms-breadcrumb-current{ color: rgba(255,255,255,0.70); }

.ms-article-hero-meta{
  display:flex; flex-wrap:wrap; gap:.5rem;
  margin-bottom: .85rem;
}
.ms-pill{
  display:inline-flex; align-items:center;
  padding:.38rem .7rem;
  border-radius:999px;
  background: rgba(245,183,95,0.18);
  border: 1px solid rgba(245,183,95,0.25);
  color: var(--modernys-primary);
  font-weight: 800;
  font-size: .78rem;
}
.ms-pill-muted{
  background: rgba(255,255,255,0.06);
  border-color: rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.86);
  font-weight: 700;
}

.ms-article-h1{
  font-size: clamp(2rem, 4.8vw, 3.4rem);
  line-height: 1.08;
  font-weight: 850;
  color: #fff;
  letter-spacing: -0.02em;
  max-width: 30ch;
}
.ms-article-excerpt{
  margin-top: .75rem;
  color: rgba(255,255,255,0.78);
  max-width: 80ch;
  font-size: 1.05rem;
}

.ms-article-hero-cta{
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}

/* WRAP */
.ms-article-wrap{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(245,183,95,0.06), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(255,255,255,0.04), transparent 60%),
    var(--modernys-bg);
}

/* Notice */
.ms-article-info{
  display:flex; gap:.75rem;
  border-radius: 18px;
  padding: .85rem .95rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.80);
  margin-bottom: 1rem;
}
.ms-article-info-ic{
  width: 40px; height: 40px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  color: var(--modernys-primary);
  flex: 0 0 auto;
}

/* CONTENT typography */
.ms-article-content{
  border-radius: 26px;
  padding: 1.25rem 1.15rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}

.ms-article-content h2{
  color: rgba(255,255,255,0.95);
  font-weight: 850;
  font-size: 1.45rem;
  margin-top: 1.4rem;
  margin-bottom: .55rem;
  letter-spacing: -0.01em;
}
.ms-article-content h3{
  color: rgba(255,255,255,0.92);
  font-weight: 800;
  font-size: 1.15rem;
  margin-top: 1rem;
  margin-bottom: .4rem;
}
.ms-article-content p,
.ms-article-content li{
  color: rgba(255,255,255,0.74);
  line-height: 1.85;
}
.ms-article-content a{
  color: var(--modernys-primary);
  text-decoration: none !important;
}
.ms-article-content a:hover{ color: var(--modernys-primary-strong); }

.ms-article-content blockquote{
  margin: 1rem 0;
  padding: .9rem 1rem;
  border-radius: 18px;
  background: rgba(245,183,95,0.10);
  border: 1px solid rgba(245,183,95,0.20);
  color: rgba(255,255,255,0.86);
}
.ms-article-content img{
  max-width: 100%;
  height: auto;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
  margin: .8rem 0;
}

/* bottom bar */
.ms-article-bottom{
  margin-top: 1rem;
  display:flex;
  justify-content: space-between;
  gap: 1rem;
  align-items:center;
}
.ms-badge-lite{
  display:inline-flex; align-items:center;
  padding: .35rem .7rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.86);
  font-size: .85rem;
}
.ms-share{
  color: rgba(255,255,255,0.86);
  text-decoration: none !important;
}
.ms-share:hover{ color: var(--modernys-primary); }

/* Sidebar */
.ms-sidebar{ position: sticky; top: calc(var(--modernys-fixed-offset) + 18px); }

.ms-toc-card{
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}
.ms-toc-title{
  display:flex; gap:.75rem;
  align-items:center;
  margin-bottom: .85rem;
}
.ms-toc-ic{
  width: 42px; height: 42px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  color: var(--modernys-primary);
  flex: 0 0 auto;
}

.ms-toc-ul{ list-style:none; padding:0; margin:0; }
.ms-toc-li{ padding: .35rem 0; }
.ms-toc-h3{ margin-left: .75rem; padding: .25rem 0; opacity: .95; }
.ms-toc-link{
  display:inline-block;
  color: rgba(255,255,255,0.80);
  text-decoration:none !important;
  font-size: .92rem;
}
.ms-toc-link:hover{ color: var(--modernys-primary); }
.ms-toc-link.active{ color: var(--modernys-primary); font-weight: 800; }

.ms-side-cta{
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}
.ms-side-form .form-control{
  border-radius: 14px;
  border-color: rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: rgba(255,255,255,0.92);
}
.ms-side-form .form-control::placeholder{ color: rgba(255,255,255,0.55); }

/* Related */
.ms-related{ margin-top: 2rem; }
.ms-related-title{
  color: rgba(255,255,255,0.95);
  font-weight: 850;
}
.ms-related-card{
  position: relative;
  display:flex;
  gap: .9rem;
  border-radius: 22px;
  overflow:hidden;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}
.ms-related-media{ width: 140px; flex: 0 0 auto; }
.ms-related-media img{
  width:100%; height:100%; object-fit: cover;
  filter: brightness(.84) contrast(1.06) saturate(1.05);
}
.ms-related-body{
  padding: .85rem .95rem .9rem;
  display:flex; flex-direction:column;
}
.ms-related-body a{ color: rgba(255,255,255,0.92); }
.ms-related-body a:hover{ color: var(--modernys-primary); }

@media (max-width: 991.98px){
  .ms-sidebar{ position: static; top: auto; }
  .ms-related-card{ flex-direction: column; }
  .ms-related-media{ width: 100%; height: 180px; }
}

/* =========================================================
   SERVICES INDEX — Premium UI
   ========================================================= */

.ms-services-hero{
  position: relative;
  overflow: hidden;
  background: var(--modernys-bg);
  padding: 3.2rem 0 2.2rem;
  isolation: isolate;
}
.ms-services-hero-bg{ position:absolute; inset:-10% 0 -10% 0; height:120%; z-index:0; }
.ms-services-hero-img{
  width:100%; height:100%; object-fit:cover;
  filter: brightness(.62) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}
.ms-services-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,.14), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,.40) 0%, rgba(11,63,82,.92) 70%, rgba(11,63,82,.98) 100%);
}
.ms-services-hero-content{ position:relative; z-index:2; }

.ms-services-h1{
  font-size: clamp(2rem, 4.4vw, 3.3rem);
  line-height: 1.08;
  font-weight: 850;
  color: #fff;
  letter-spacing: -0.02em;
  max-width: 28ch;
}
.ms-services-sub{
  margin-top: .75rem;
  color: rgba(255,255,255,0.78);
  max-width: 78ch;
  font-size: 1.05rem;
}

.ms-services-hero-card{
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}
.ms-services-points{ display:grid; gap:.45rem; }
.ms-services-point{
  display:inline-flex; align-items:center; gap:.5rem;
  color: rgba(255,255,255,0.78);
}
.ms-services-point i{ color: var(--modernys-primary); }

/* trust wrapper slight separation */
.ms-services-trust{
  background: rgba(255,255,255,0.02);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* listing background */
.ms-services-list{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(245,183,95,0.06), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(255,255,255,0.04), transparent 60%),
    var(--modernys-bg);
}

/* premium service card */
.ms-service-premium{
  position: relative;
  border-radius: 24px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
  overflow: hidden;
  padding: 1.05rem 1.05rem .9rem;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  min-height: 220px;
}
.ms-service-premium::after{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(520px 220px at 20% 0%, rgba(245,183,95,0.18), transparent 55%),
    radial-gradient(520px 220px at 80% 10%, rgba(255,255,255,0.10), transparent 55%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events:none;
}
.ms-service-premium:hover{
  transform: translateY(-6px);
  border-color: rgba(245,183,95,0.22);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}
.ms-service-premium:hover::after{ opacity: 1; }

.ms-service-premium-top{ position: relative; z-index: 1; }

.ms-service-premium-ic{
  width: 54px; height: 54px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.22);
  color: var(--modernys-primary);
  font-size: 1.35rem;
  margin-bottom: .75rem;
}
.ms-service-premium-title{
  font-weight: 850;
  font-size: 1.05rem;
  color: rgba(255,255,255,0.95);
  margin-bottom: .45rem;
}
.ms-service-premium-title a{
  color: inherit;
  text-decoration: none !important;
}
.ms-service-premium-title a:hover{ color: var(--modernys-primary); }

.ms-service-premium-desc{
  color: rgba(255,255,255,0.70);
  font-size: .95rem;
  line-height: 1.75;
}

.ms-service-premium-bottom{
  position: relative;
  z-index: 1;
  margin-top: 1rem;
  display:flex;
  justify-content:flex-start;
}
.ms-service-premium-link{
  display:inline-flex; align-items:center;
  color: rgba(255,255,255,0.86);
  font-weight: 800;
  font-size: .9rem;
}
.ms-service-premium:hover .ms-service-premium-link{ color: var(--modernys-primary); }

/* CTA bottom */
.ms-services-cta{
  background: var(--modernys-bg);
}
.ms-services-cta-card{
  border-radius: 28px;
  padding: 1.6rem 1.5rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}

/* mobile tweaks */
@media (max-width: 991.98px){
  .ms-services-hero{ padding: 2.6rem 0 1.8rem; }
  .ms-service-premium{ min-height: 200px; }
}

/* =========================================================
   SERVICE SHOW — Premium UI
   ========================================================= */

.ms-breadcrumb{
  display:flex; flex-wrap:wrap; gap:.5rem;
  align-items:center;
  font-size:.88rem;
  color: rgba(255,255,255,0.72);
}
.ms-breadcrumb a{ color: rgba(255,255,255,0.86); text-decoration:none !important; }
.ms-breadcrumb a:hover{ color: var(--modernys-primary); }
.ms-breadcrumb-sep{ color: rgba(255,255,255,0.35); }
.ms-breadcrumb-current{ color: rgba(255,255,255,0.92); font-weight:700; }

.ms-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.35rem .75rem;
  border-radius:999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  color: rgba(255,255,255,0.85);
  font-size:.8rem;
}

/* HERO */
.ms-service-show-hero{
  position: relative;
  overflow: hidden;
  background: var(--modernys-bg);
  padding: 3.1rem 0 2.2rem;
  isolation: isolate;
}
.ms-service-show-hero-bg{ position:absolute; inset:-10% 0 -10% 0; height:120%; z-index:0; }
.ms-service-show-hero-img{
  width:100%; height:100%; object-fit:cover;
  filter: brightness(.62) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}
.ms-service-show-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,.14), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,.40) 0%, rgba(11,63,82,.92) 70%, rgba(11,63,82,.98) 100%);
}
.ms-service-show-hero-content{ position:relative; z-index:2; }

.ms-service-show-h1{
  font-size: clamp(2.05rem, 4.2vw, 3.2rem);
  line-height: 1.08;
  font-weight: 850;
  color:#fff;
  letter-spacing:-0.02em;
  max-width: 30ch;
}
.ms-service-show-sub{
  margin-top: .75rem;
  color: rgba(255,255,255,0.78);
  max-width: 80ch;
  font-size: 1.05rem;
}

.ms-service-show-badges{ display:flex; flex-wrap:wrap; gap:.5rem; }

/* right hero card */
.ms-service-show-card{
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}
.ms-service-show-ic{
  width: 56px; height: 56px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.22);
  color: var(--modernys-primary);
  font-size: 1.35rem;
  flex:0 0 auto;
}

/* WRAP */
.ms-service-show-wrap{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(245,183,95,0.06), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(255,255,255,0.04), transparent 60%),
    var(--modernys-bg);
}

/* glass card */
.ms-card-glass{
  border-radius: 26px;
  padding: 1.35rem 1.25rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}
.ms-card-glass-header{ padding-bottom:.35rem; }

/* content surface (more readable) */
.ms-article-surface{
  border-radius: 26px;
  padding: 1.35rem 1.25rem;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}

/* richtext (sane defaults) */
.ms-richtext{ color: rgba(255,255,255,0.80); line-height: 1.9; }
.ms-richtext h2, .ms-richtext h3, .ms-richtext h4{
  color: rgba(255,255,255,0.95);
  margin-top: 1.1rem;
}
.ms-richtext p{ margin-bottom: .9rem; }
.ms-richtext ul{ margin-bottom: .9rem; }
.ms-richtext a{ color: var(--modernys-primary); text-decoration:none !important; }
.ms-richtext a:hover{ color: var(--modernys-primary-strong); }

/* inline features */
.ms-inline-feature{
  display:flex; gap:.75rem;
  padding: .9rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.ms-inline-ic{
  width: 40px; height: 40px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  color: var(--modernys-primary);
  flex: 0 0 auto;
}
.ms-inline-title{ font-weight: 850; color: rgba(255,255,255,0.92); }
.ms-inline-desc{ color: rgba(255,255,255,0.70); font-size:.92rem; }

/* accordion */
.ms-accordion .accordion-item{
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  margin-bottom: .8rem;
}
.ms-accordion .accordion-button{
  background: rgba(255,255,255,0.04);
  color: rgba(255,255,255,0.92);
  font-weight: 800;
  box-shadow: none !important;
}
.ms-accordion .accordion-button:not(.collapsed){
  background: rgba(255,255,255,0.06);
}
.ms-accordion .accordion-body{
  color: rgba(255,255,255,0.75);
}

/* sidebar */
.ms-side-card{
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}
.ms-side-mini{ display:grid; gap:.45rem; }
.ms-side-mini-row{
  display:flex; align-items:center; gap:.55rem;
  color: rgba(255,255,255,0.76);
}
.ms-side-mini-row i{ color: var(--modernys-primary); }

/* related list */
.ms-related-list{ display:grid; gap:.6rem; }
.ms-related-item{
  display:flex; align-items:center; gap:.7rem;
  padding: .75rem .8rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  text-decoration:none !important;
  color: inherit;
  transition: transform .2s ease, border-color .2s ease;
}
.ms-related-item:hover{
  transform: translateY(-2px);
  border-color: rgba(245,183,95,0.22);
}
.ms-related-ic{
  width: 42px; height: 42px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.22);
  color: var(--modernys-primary);
  flex:0 0 auto;
}
.ms-related-title{ font-weight: 850; color: rgba(255,255,255,0.92); }
.ms-related-desc{ font-size: .85rem; color: rgba(255,255,255,0.68); }
.ms-related-arrow{ margin-left:auto; color: rgba(255,255,255,0.55); }

/* responsive */
@media (max-width: 991.98px){
  .ms-service-show-hero{ padding: 2.6rem 0 1.8rem; }
}

/* =========================================================
   CONTACT — Premium
   ========================================================= */

.ms-contact-hero{
  position: relative;
  overflow: hidden;
  background: var(--modernys-bg);
  padding: 3rem 0 2.1rem;
  isolation: isolate;
}
.ms-contact-hero-bg{ position:absolute; inset:-10% 0 -10% 0; height:120%; z-index:0; }
.ms-contact-hero-img{
  width:100%; height:100%;
  object-fit: cover;
  filter: brightness(.62) contrast(1.08) saturate(1.05);
  transform: scale(1.02);
}
.ms-contact-hero-overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(900px 420px at 20% 20%, rgba(245,183,95,.14), transparent 60%),
    radial-gradient(700px 380px at 80% 10%, rgba(255,255,255,.10), transparent 60%),
    linear-gradient(to bottom, rgba(11,63,82,.40) 0%, rgba(11,63,82,.92) 70%, rgba(11,63,82,.98) 100%);
}
.ms-contact-hero-content{ position:relative; z-index:2; }

.ms-contact-h1{
  font-size: clamp(2.05rem, 4.2vw, 3.2rem);
  line-height: 1.08;
  font-weight: 850;
  color:#fff;
  letter-spacing:-0.02em;
  max-width: 30ch;
}
.ms-contact-sub{
  margin-top: .75rem;
  color: rgba(255,255,255,0.78);
  max-width: 80ch;
  font-size: 1.05rem;
}

.ms-contact-hero-card{
  border-radius: 24px;
  padding: 1rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.14);
  backdrop-filter: blur(12px);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}

.ms-contact-wrap{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(245,183,95,0.06), transparent 60%),
    radial-gradient(900px 420px at 80% 0%, rgba(255,255,255,0.04), transparent 60%),
    var(--modernys-bg);
}

.ms-badge-soft{
  display:inline-flex; align-items:center; gap:.4rem;
  padding:.25rem .65rem;
  border-radius:999px;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.22);
  color: var(--modernys-primary);
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

/* contact list */
.ms-contact-list{ display:grid; gap:.75rem; }
.ms-contact-item{
  display:flex; gap:.75rem;
  padding:.75rem .8rem;
  border-radius: 18px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.ms-contact-ic{
  width: 42px; height: 42px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.22);
  color: var(--modernys-primary);
  flex:0 0 auto;
}
.ms-contact-k{ font-size:.78rem; letter-spacing:.10em; text-transform:uppercase; color: rgba(255,255,255,0.65); }
.ms-contact-v{ color: rgba(255,255,255,0.88); }

/* form card */
.ms-contact-form-card{
  border-radius: 26px;
  padding: 1.35rem 1.25rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 26px 85px rgba(0,0,0,0.22);
}

/* trust strip */
.ms-contact-trust{
  border-radius: 26px;
  padding: 1.05rem 1rem;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 18px 60px rgba(0,0,0,0.18);
}
.ms-trust-mini{
  display:flex; gap:.75rem;
  padding:.85rem .9rem;
  border-radius: 20px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
}
.ms-trust-mini-ic{
  width: 42px; height: 42px;
  border-radius: 999px;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(245,183,95,0.16);
  border: 1px solid rgba(245,183,95,0.22);
  color: var(--modernys-primary);
  flex:0 0 auto;
}
.ms-trust-mini-t{ font-weight: 850; color: rgba(255,255,255,0.92); }
.ms-trust-mini-d{ color: rgba(255,255,255,0.68); font-size:.92rem; }

@media (max-width: 991.98px){
  .ms-contact-hero{ padding: 2.6rem 0 1.8rem; }
}
.hero-bg-wrapper { position: absolute; inset: 0; overflow: hidden; }
.hero-bg { position:absolute; inset:0; background-size:cover; background-position:center; transform: scale(1.02); }
.hero-carousel, .hero-carousel .carousel-inner, .hero-carousel .carousel-item { height: 100%; }
.hero-home { position: relative; min-height: 100vh; }
.hero-overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35)); z-index:1; }
.hero-container { position:relative; z-index:2; }