/* Marketing Lead Luxury UI System — 2026-09-06
   Cohesive generated-icon, FAQ, form and card treatment across static service pages and blog output. */
:root{
  --mlu-ink:#101828;
  --mlu-text:#636a79;
  --mlu-purple:#765de8;
  --mlu-purple-dark:#4f3bb9;
  --mlu-pink:#ef64ad;
  --mlu-orange:#ef8b32;
  --mlu-gold:#f0ae4b;
  --mlu-pearl:#fffaf7;
  --mlu-border:rgba(122,93,232,.15);
  --mlu-shadow:0 24px 65px rgba(28,22,58,.09);
}

/* ---------- Generated icon system ---------- */
.ml-generated-icon,
.stat-icon:has(.ml-lux-icon-img),
.card-icon:has(.ml-lux-icon-img),
.feature-icon:has(.ml-lux-icon-img),
.icon-box:has(.ml-lux-icon-img),
.smm-card-icon:has(.ml-lux-icon-img),
.sem-card-icon:has(.ml-lux-icon-img),
.elg-card-icon:has(.ml-lux-icon-img),
.dev-card-icon:has(.ml-lux-icon-img),
.smm-panel-icon:has(.ml-lux-icon-img),
.sem-panel-icon:has(.ml-lux-icon-img),
.elg-panel-icon:has(.ml-lux-icon-img),
.dev-panel-icon:has(.ml-lux-icon-img){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
}
.ml-lux-icon-img{
  display:block!important;
  width:64px!important;
  height:64px!important;
  max-width:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 12px 18px rgba(78,52,141,.14));
}
.stat-icon .ml-lux-icon-img{width:70px!important;height:70px!important}
.card-icon .ml-lux-icon-img{width:66px!important;height:66px!important}
.feature-icon .ml-lux-icon-img{width:58px!important;height:58px!important}
.icon-box .ml-lux-icon-img{width:62px!important;height:62px!important}
.smm-card-icon .ml-lux-icon-img,.sem-card-icon .ml-lux-icon-img,.elg-card-icon .ml-lux-icon-img,.dev-card-icon .ml-lux-icon-img{width:62px!important;height:62px!important}
.smm-panel-icon .ml-lux-icon-img,.sem-panel-icon .ml-lux-icon-img,.elg-panel-icon .ml-lux-icon-img,.dev-panel-icon .ml-lux-icon-img{width:56px!important;height:56px!important}

/* Any remaining Font Awesome service-card icons receive the same premium visual language. */
.icon-box:not(:has(.ml-lux-icon-img)),
.smm-card-icon:not(:has(.ml-lux-icon-img)),
.sem-card-icon:not(:has(.ml-lux-icon-img)),
.elg-card-icon:not(:has(.ml-lux-icon-img)),
.dev-card-icon:not(:has(.ml-lux-icon-img)),
.smm-panel-icon:not(:has(.ml-lux-icon-img)),
.sem-panel-icon:not(:has(.ml-lux-icon-img)),
.elg-panel-icon:not(:has(.ml-lux-icon-img)),
.dev-panel-icon:not(:has(.ml-lux-icon-img)){
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  border-radius:20px!important;
  background:linear-gradient(145deg,#fff 0%,#fff6ed 45%,#f7f1ff 100%)!important;
  border:1px solid rgba(239,139,50,.20)!important;
  box-shadow:0 16px 35px rgba(78,52,141,.10),inset 0 1px 0 rgba(255,255,255,.9)!important;
  overflow:hidden!important;
}
.icon-box:not(:has(.ml-lux-icon-img))::before,
.smm-card-icon:not(:has(.ml-lux-icon-img))::before,
.sem-card-icon:not(:has(.ml-lux-icon-img))::before,
.elg-card-icon:not(:has(.ml-lux-icon-img))::before,
.dev-card-icon:not(:has(.ml-lux-icon-img))::before,
.smm-panel-icon:not(:has(.ml-lux-icon-img))::before,
.sem-panel-icon:not(:has(.ml-lux-icon-img))::before,
.elg-panel-icon:not(:has(.ml-lux-icon-img))::before,
.dev-panel-icon:not(:has(.ml-lux-icon-img))::before{
  content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--mlu-purple),var(--mlu-pink),var(--mlu-orange));
}
.icon-box i,.smm-card-icon i,.sem-card-icon i,.elg-card-icon i,.dev-card-icon i,.smm-panel-icon i,.sem-panel-icon i,.elg-panel-icon i,.dev-panel-icon i{
  font-size:25px!important;
  background:linear-gradient(135deg,var(--mlu-purple-dark),var(--mlu-pink),var(--mlu-orange));
  -webkit-background-clip:text;background-clip:text;color:transparent!important;
}

/* Header mega-menu icons: refined rather than generic grey glyphs. */
.mega-menu a i{
  width:25px!important;height:25px!important;min-width:25px!important;border-radius:9px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  margin-right:7px!important;
  color:var(--mlu-purple-dark)!important;
  background:linear-gradient(145deg,#fff8f2,#f7f1ff)!important;
  border:1px solid rgba(117,96,182,.12)!important;
  box-shadow:0 6px 15px rgba(52,40,89,.06)!important;
  font-size:12px!important;
}

/* Common cards get a premium edge/hover treatment without changing the page palette. */
.card,.stat-box,.feature-card,.icon-card,.service-card,.elg-card,.smm-card,.sem-card,.dev-card{
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
.card:hover,.stat-box:hover,.feature-card:hover,.icon-card:hover,.service-card:hover,.elg-card:hover,.smm-card:hover,.sem-card:hover,.dev-card:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 25px 55px rgba(35,26,73,.10)!important;
  border-color:rgba(239,139,50,.24)!important;
}

/* Hub highlight rows also receive the generated icon style. */
.elg-highlight>img.ml-lux-icon-img,.sem-highlight>img.ml-lux-icon-img,.dev-highlight>img.ml-lux-icon-img,.service-highlight>img.ml-lux-icon-img{
  width:54px!important;height:54px!important;margin:0 10px 0 0!important;flex:0 0 auto!important;
}

/* ---------- Expert lead generation illustration + form ---------- */
.elg-hero-media{
  border-radius:30px!important;
  padding:12px!important;
  background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(255,248,242,.96),rgba(248,243,255,.96))!important;
  border:1px solid rgba(239,139,50,.20)!important;
  box-shadow:0 30px 80px rgba(63,44,103,.11)!important;
}
.elg-hero-media>img{
  width:100%!important;height:auto!important;display:block!important;border-radius:22px!important;object-fit:cover!important;background:#fffaf7!important;
}
.elg-media-note{margin:12px 2px 2px!important;border-radius:16px!important;background:rgba(255,255,255,.84)!important;border:1px solid rgba(117,96,182,.10)!important}

/* Guarantee that legacy direct labels never create the duplicated form header seen in the old lead-generation form. */
form[data-ml-form="consultation"]>label{display:none!important}
form[data-ml-form="consultation"]>p:not(.ml-form-privacy){display:none!important}
#contact.elg-section .elg-split{align-items:stretch!important}
#contact.elg-section .elg-split>div:first-child{display:flex;flex-direction:column;justify-content:center}
#contact.elg-section .elg-panel.ml-form-shell{display:flex!important;align-items:stretch!important}
#contact.elg-section .elg-panel.ml-form-shell form[data-ml-form="consultation"]{width:100%!important;align-content:center!important}

/* ---------- Luxury FAQ system ---------- */
.ml-faq-section-upgraded{
  position:relative!important;
  overflow:hidden!important;
  padding-top:86px!important;
  padding-bottom:86px!important;
  background:
    radial-gradient(circle at 3% 15%,rgba(118,93,232,.075),transparent 24%),
    radial-gradient(circle at 96% 12%,rgba(239,100,173,.075),transparent 24%),
    radial-gradient(circle at 92% 94%,rgba(239,139,50,.075),transparent 24%),
    linear-gradient(180deg,#fff 0%,#fffaf7 100%)!important;
}
.ml-faq-section-upgraded::before,.ml-faq-section-upgraded::after{
  content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.5;
}
.ml-faq-section-upgraded::before{width:270px;height:270px;left:-180px;top:40px;border:1px solid rgba(118,93,232,.09)}
.ml-faq-section-upgraded::after{width:340px;height:340px;right:-250px;bottom:-110px;border:1px solid rgba(239,139,50,.10)}
.ml-faq-section-upgraded>.container,.ml-faq-section-upgraded>.elg-container,.ml-faq-section-upgraded>.smm-container,.ml-faq-section-upgraded>.sem-container,.ml-faq-section-upgraded>.dev-container{position:relative;z-index:2}

.ml-faq-section-upgraded .section-title,
.ml-faq-section-upgraded .elg-title,
.ml-faq-section-upgraded .smm-title,
.ml-faq-section-upgraded .sem-title,
.ml-faq-section-upgraded .dev-title,
.blog-faq-title{
  max-width:900px!important;margin-left:auto!important;margin-right:auto!important;margin-bottom:34px!important;text-align:center!important;
}
.ml-faq-section-upgraded .section-title .small-title,
.ml-faq-section-upgraded .elg-kicker,
.ml-faq-section-upgraded .smm-kicker,
.ml-faq-section-upgraded .sem-kicker,
.ml-faq-section-upgraded .dev-kicker,
.blog-faq-title>span{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:7px 13px!important;border-radius:999px!important;
  background:linear-gradient(90deg,#f5f0ff,#fff2e8)!important;border:1px solid rgba(117,96,182,.10)!important;
  color:var(--mlu-purple-dark)!important;font-size:11px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;
}
.ml-faq-section-upgraded h2,.blog-faq-title h2{
  color:var(--mlu-ink)!important;font-size:clamp(34px,4.5vw,52px)!important;line-height:1.08!important;letter-spacing:-.045em!important;margin:12px 0 12px!important;
}
.ml-faq-section-upgraded .section-title>p,
.ml-faq-section-upgraded .elg-title>p,
.ml-faq-section-upgraded .smm-title>p,
.ml-faq-section-upgraded .sem-title>p,
.ml-faq-section-upgraded .dev-title>p{
  max-width:760px!important;margin:0 auto!important;color:#747889!important;font-size:16px!important;line-height:1.8!important;
}

.ml-faq-list-upgraded,.blog-faq-list{
  width:min(1120px,100%)!important;margin:0 auto!important;display:grid!important;gap:14px!important;
}
.ml-faq-section-upgraded .faq-item,
.ml-faq-section-upgraded .faq,
.ml-faq-section-upgraded .elg-faq-item,
.blog-faq-item,
details.ml-faq-detail-item{
  position:relative!important;overflow:hidden!important;margin:0!important;padding:0!important;
  border:1px solid rgba(117,96,182,.13)!important;border-radius:22px!important;background:rgba(255,255,255,.94)!important;
  box-shadow:0 18px 42px rgba(27,20,60,.065)!important;
}
.ml-faq-section-upgraded .faq-item::before,
.ml-faq-section-upgraded .faq::before,
.ml-faq-section-upgraded .elg-faq-item::before,
.blog-faq-item::before,
details.ml-faq-detail-item::before{
  content:""!important;position:absolute!important;inset:0 0 auto!important;height:3px!important;
  background:linear-gradient(90deg,var(--mlu-purple),var(--mlu-pink),var(--mlu-orange))!important;opacity:.9!important;
}

.ml-faq-question,.ml-faq-section-upgraded .faq-question,.blog-faq-item>summary,details.ml-faq-detail-item>summary{
  position:relative!important;width:100%!important;min-height:84px!important;padding:14px 18px!important;
  display:grid!important;grid-template-columns:58px minmax(0,1fr) 42px!important;align-items:center!important;gap:16px!important;
  border:0!important;background:transparent!important;list-style:none!important;text-align:left!important;cursor:pointer!important;
  color:var(--mlu-ink)!important;font-family:Poppins,Arial,sans-serif!important;font-size:17px!important;font-weight:750!important;line-height:1.45!important;
}
.blog-faq-item>summary::-webkit-details-marker,details.ml-faq-detail-item>summary::-webkit-details-marker{display:none!important}
.ml-faq-icon{
  width:54px;height:54px;border-radius:17px;display:flex;align-items:center;justify-content:center;overflow:hidden;
  background:linear-gradient(145deg,#fff,#fff7ef 50%,#f6f0ff);border:1px solid rgba(239,139,50,.16);box-shadow:0 10px 24px rgba(64,43,104,.075);
}
.ml-faq-icon img{width:50px!important;height:50px!important;object-fit:contain!important;display:block!important}
.ml-faq-question-text{min-width:0}
.ml-faq-toggle{
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;justify-self:end;
  color:var(--mlu-purple-dark);background:linear-gradient(145deg,#f7f2ff,#fff3eb);border:1px solid rgba(117,96,182,.11);font-size:22px;font-weight:500;line-height:1;
  transition:transform .25s ease,background .25s ease;
}
.ml-faq-open .ml-faq-toggle,.faq-item.active .ml-faq-toggle,details[open] .ml-faq-toggle{transform:rotate(45deg);background:linear-gradient(135deg,#f3edff,#ffece2)}

.ml-faq-answer,.ml-faq-section-upgraded .faq-answer,.blog-faq-answer,details.ml-faq-detail-item>summary~*{
  display:none!important;padding:0 76px 22px 92px!important;color:#697080!important;font-size:15px!important;line-height:1.85!important;
}
.ml-faq-open>.ml-faq-answer,.ml-faq-section-upgraded .faq-item.active>.faq-answer,details[open]>.blog-faq-answer,details.ml-faq-detail-item[open]>summary~*{display:block!important}
.ml-faq-answer p,.ml-faq-section-upgraded .faq-answer p,.blog-faq-answer p,details.ml-faq-detail-item>p{margin:0 0 10px!important;color:inherit!important;font-size:inherit!important;line-height:inherit!important}

/* Existing FAQ question buttons have their old +/- pseudo icon disabled. */
.ml-faq-section-upgraded .faq-question::after{display:none!important;content:none!important}

.ml-faq-cta{
  width:min(1120px,100%);margin:20px auto 0;padding:17px 20px;border-radius:20px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:linear-gradient(100deg,rgba(118,93,232,.07),rgba(239,100,173,.06),rgba(239,139,50,.08));
  border:1px solid rgba(117,96,182,.10);
}
.ml-faq-cta strong{display:block;color:var(--mlu-ink);font-size:15px}.ml-faq-cta span{display:block;color:#747889;font-size:12px;margin-top:2px}
.ml-faq-cta a{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;border-radius:999px;color:#fff!important;text-decoration:none!important;font-weight:800!important;font-size:13px!important;
  background:linear-gradient(90deg,var(--mlu-orange),var(--mlu-pink),var(--mlu-purple));box-shadow:0 12px 28px rgba(219,96,155,.20);
}

/* Dynamic blog FAQ lives inside the article rather than a full-width section. */
.blog-faq-section.ml-faq-section-upgraded{padding:32px!important;margin:38px 0!important;border-radius:28px!important;border:1px solid rgba(117,96,182,.11)!important;background:linear-gradient(180deg,#fffdfa,#fff8f4)!important;box-shadow:var(--mlu-shadow)!important}
.blog-faq-section.ml-faq-section-upgraded h2{font-size:34px!important}
.blog-faq-section .ml-faq-cta{display:none!important}

/* ---------- Responsive ---------- */
@media(max-width:980px){
  .ml-faq-section-upgraded{padding-top:66px!important;padding-bottom:66px!important}
  .ml-faq-question,.ml-faq-section-upgraded .faq-question,.blog-faq-item>summary,details.ml-faq-detail-item>summary{grid-template-columns:52px minmax(0,1fr) 38px!important;gap:12px!important;padding:13px 14px!important}
  .ml-faq-icon{width:48px;height:48px;border-radius:15px}.ml-faq-icon img{width:45px!important;height:45px!important}
  .ml-faq-answer,.ml-faq-section-upgraded .faq-answer,.blog-faq-answer,details.ml-faq-detail-item>summary~*{padding:0 58px 20px 78px!important}
}
@media(max-width:680px){
  .ml-lux-icon-img{width:56px!important;height:56px!important}
  .ml-faq-section-upgraded{padding-top:54px!important;padding-bottom:54px!important}
  .ml-faq-section-upgraded h2,.blog-faq-title h2{font-size:32px!important}
  .ml-faq-question,.ml-faq-section-upgraded .faq-question,.blog-faq-item>summary,details.ml-faq-detail-item>summary{grid-template-columns:44px minmax(0,1fr) 34px!important;gap:10px!important;min-height:72px!important;font-size:15px!important;padding:12px!important}
  .ml-faq-icon{width:42px;height:42px;border-radius:13px}.ml-faq-icon img{width:40px!important;height:40px!important}
  .ml-faq-toggle{width:32px;height:32px;font-size:18px}
  .ml-faq-answer,.ml-faq-section-upgraded .faq-answer,.blog-faq-answer,details.ml-faq-detail-item>summary~*{padding:0 16px 18px 66px!important;font-size:14px!important}
  .ml-faq-cta{align-items:flex-start;flex-direction:column}.ml-faq-cta a{width:100%}
  .blog-faq-section.ml-faq-section-upgraded{padding:22px 14px!important}
}


/* Universal FAQ details normalization: ensures the page-specific CRM/Development/Lead/Social/Search FAQ blocks match the same luxury accordion system. */
details.ml-faq-detail-item{margin:0!important;padding:0!important}
details.ml-faq-detail-item>summary{margin:0!important}
details.ml-faq-detail-item>summary~*{margin-top:0!important;margin-bottom:0!important;border:0!important;background:transparent!important}
details.ml-faq-detail-item:not([open])>summary~*{display:none!important}

/* ---------- Semantic service-icon mapping refresh — 2026-09-06 ---------- */
.homepage-badge.ml-generated-icon,
.info-row .ml-inline-lux-icon,
.ml-generated-icon:has(.ml-service-icon-img){
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
}
.homepage-badge .ml-service-icon-img,
.icon-box .ml-service-icon-img,
.smm-card-icon .ml-service-icon-img,
.sem-card-icon .ml-service-icon-img,
.elg-card-icon .ml-service-icon-img,
.dev-card-icon .ml-service-icon-img,
.stat-icon .ml-service-icon-img,
.card-icon .ml-service-icon-img,
.feature-icon .ml-service-icon-img{
  width:64px!important;
  height:64px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 12px 20px rgba(82,54,151,.14))!important;
}
.homepage-badge .ml-service-icon-img{width:62px!important;height:62px!important}
.info-row .ml-inline-lux-icon{width:52px!important;height:52px!important;min-width:52px!important;margin-right:14px!important;object-fit:contain!important;filter:drop-shadow(0 10px 18px rgba(82,54,151,.12))!important}

/* Keep the new icon family crisp and proportional inside cards that previously forced a gradient square. */
.homepage-badge.ml-generated-icon::before,
.icon-box.ml-generated-icon::before,
.smm-card-icon.ml-generated-icon::before,
.sem-card-icon.ml-generated-icon::before,
.elg-card-icon.ml-generated-icon::before,
.dev-card-icon.ml-generated-icon::before{display:none!important;content:none!important}

/* ---------- Universal consultation form finish ----------
   These rules intentionally set the base input/button appearance so pages do not fall back
   to browser-native square black borders when page-specific CSS is absent or overridden. */
form[data-ml-form="consultation"]{
  position:relative!important;
  width:100%!important;
}
form[data-ml-form="consultation"]>input:not([type="hidden"]),
form[data-ml-form="consultation"]>select,
form[data-ml-form="consultation"]>textarea{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:1px solid rgba(91,78,125,.16)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.96)!important;
  color:#1b2130!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 5px 16px rgba(29,22,60,.025)!important;
  font:500 15px/1.55 Poppins,Arial,sans-serif!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
form[data-ml-form="consultation"]>input:not([type="hidden"]){padding:0 16px!important}
form[data-ml-form="consultation"]>select{
  padding:0 46px 0 16px!important;
  cursor:pointer!important;
  background-image:linear-gradient(45deg,transparent 50%,#7560b6 50%),linear-gradient(135deg,#7560b6 50%,transparent 50%)!important;
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%!important;
  background-size:5px 5px,5px 5px!important;
  background-repeat:no-repeat!important;
}
form[data-ml-form="consultation"]>textarea{
  padding:15px 16px!important;
  line-height:1.65!important;
}
form[data-ml-form="consultation"]>input::placeholder,
form[data-ml-form="consultation"]>textarea::placeholder{color:#858293!important;opacity:1!important}
form[data-ml-form="consultation"]>button{
  border:0!important;
  border-radius:14px!important;
  background:linear-gradient(100deg,#f39a45 0%,#ee8731 52%,#ff6f5f 100%)!important;
  color:#fff!important;
  padding:0 20px!important;
  box-shadow:0 14px 28px rgba(232,137,50,.22)!important;
  font:800 14px/1.2 Poppins,Arial,sans-serif!important;
  cursor:pointer!important;
}
form[data-ml-form="consultation"]>button:hover{
  transform:translateY(-2px)!important;
  box-shadow:0 18px 34px rgba(232,137,50,.30)!important;
}
form[data-ml-form="consultation"]>button:focus-visible,
form[data-ml-form="consultation"]>input:focus-visible,
form[data-ml-form="consultation"]>select:focus-visible,
form[data-ml-form="consultation"]>textarea:focus-visible{outline:3px solid rgba(117,96,182,.16)!important;outline-offset:2px!important}

/* Services-page recommendation form: stronger visual hierarchy and balanced card proportions. */
#contact.ml-consult-section .ml-consult-card.ml-form-shell{
  padding:32px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#contact.ml-consult-section .ml-consult-card h3{font-size:28px!important;line-height:1.2!important;margin-bottom:9px!important}
#contact.ml-consult-section .ml-consult-card>p{margin-bottom:20px!important;line-height:1.7!important}
#contact.ml-consult-section form[data-ml-form="consultation"]>textarea{min-height:132px!important}

/* The FAQ icon now uses the service/topic-specific generated asset instead of cycling generic symbols. */
.ml-faq-icon .ml-service-icon-img{width:48px!important;height:48px!important;object-fit:contain!important;filter:none!important}

@media(max-width:680px){
  #contact.ml-consult-section .ml-consult-card.ml-form-shell{padding:22px!important}
  #contact.ml-consult-section .ml-consult-card h3{font-size:24px!important}
  form[data-ml-form="consultation"]>input:not([type="hidden"]),
  form[data-ml-form="consultation"]>select{min-height:54px!important}
  form[data-ml-form="consultation"]>textarea{min-height:122px!important}
  .homepage-badge .ml-service-icon-img,.icon-box .ml-service-icon-img{width:58px!important;height:58px!important}
}

/* Related small highlight/metric/team icons use the same semantic image family. */
.team-icon:has(.ml-service-icon-img){display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.team-icon .ml-service-icon-img{width:62px!important;height:62px!important;object-fit:contain!important}
.smm-stat>.ml-inline-lux-icon,.sem-metric>.ml-inline-lux-icon,.dev-highlight>.ml-inline-lux-icon,.elg-highlight>.ml-inline-lux-icon,.smm-highlight>.ml-inline-lux-icon,.service-highlight>.ml-inline-lux-icon,.crm-card>.ml-inline-lux-icon{
  width:54px!important;height:54px!important;object-fit:contain!important;flex:0 0 auto!important;filter:drop-shadow(0 10px 18px rgba(82,54,151,.12))!important
}
.homepage-badge:has(.ml-service-icon-img){display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important;padding:0!important;width:64px!important;height:64px!important}

/* =====================================================================
   WORLD-CLASS POLISH PASS — 2026-09-06
   Crisp semantic icons, consistent forms and refined FAQ presentation.
   ===================================================================== */

/* Premium icon tile: vector glyphs only, so there is never a white crop halo. */
.ml-premium-icon{
  --ml-icon-size:64px;
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:var(--ml-icon-size)!important;
  height:var(--ml-icon-size)!important;
  min-width:var(--ml-icon-size)!important;
  flex:0 0 var(--ml-icon-size)!important;
  border-radius:20px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:
    radial-gradient(circle at 22% 14%,rgba(255,255,255,.72),transparent 28%),
    linear-gradient(145deg,#9a74ff 0%,#d765da 34%,#f36fa8 62%,#ff9b4d 100%)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  box-shadow:
    0 14px 32px rgba(93,61,165,.18),
    0 4px 12px rgba(255,111,133,.12),
    inset 0 1px 0 rgba(255,255,255,.85),
    inset 0 -10px 22px rgba(112,65,170,.10)!important;
  color:#fff!important;
  filter:none!important;
  object-fit:initial!important;
  transform:translateZ(0);
}
.ml-premium-icon::before{
  content:""!important;
  position:absolute!important;
  z-index:-1!important;
  inset:3px!important;
  border-radius:17px!important;
  border:1px solid rgba(255,255,255,.24)!important;
  background:linear-gradient(150deg,rgba(255,255,255,.18),transparent 46%,rgba(255,255,255,.08))!important;
  pointer-events:none!important;
}
.ml-premium-icon::after{
  content:""!important;
  position:absolute!important;
  left:11px!important;
  top:8px!important;
  width:28px!important;
  height:11px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.24)!important;
  filter:blur(4px)!important;
  transform:rotate(-18deg)!important;
  pointer-events:none!important;
}
.ml-premium-icon i{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
  background:none!important;
  -webkit-background-clip:initial!important;
  background-clip:initial!important;
  font-size:26px!important;
  line-height:1!important;
  text-shadow:0 3px 10px rgba(73,37,116,.22)!important;
  filter:drop-shadow(0 1px 0 rgba(255,255,255,.18))!important;
}
.ml-premium-icon .fa-facebook-f,.ml-premium-icon .fa-instagram,.ml-premium-icon .fa-tiktok,.ml-premium-icon .fa-snapchat,.ml-premium-icon .fa-google,.ml-premium-icon .fa-whatsapp{font-size:27px!important}

/* All common icon containers surrender their old background to the premium tile. */
.ml-generated-icon,
.homepage-badge.ml-generated-icon,.icon-box.ml-generated-icon,.stat-icon.ml-generated-icon,.card-icon.ml-generated-icon,.feature-icon.ml-generated-icon,
.smm-card-icon.ml-generated-icon,.sem-card-icon.ml-generated-icon,.elg-card-icon.ml-generated-icon,.dev-card-icon.ml-generated-icon,
.smm-panel-icon.ml-generated-icon,.sem-panel-icon.ml-generated-icon,.elg-panel-icon.ml-generated-icon,.dev-panel-icon.ml-generated-icon,.team-icon.ml-generated-icon{
  display:flex!important;align-items:center!important;justify-content:center!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;overflow:visible!important;
}
.ml-generated-icon>.ml-premium-icon{margin:0!important}
.card-icon>.ml-premium-icon,.stat-icon>.ml-premium-icon{--ml-icon-size:64px}
.feature-icon>.ml-premium-icon{--ml-icon-size:60px}
.homepage-badge>.ml-premium-icon,.icon-box>.ml-premium-icon,.smm-card-icon>.ml-premium-icon,.sem-card-icon>.ml-premium-icon,.elg-card-icon>.ml-premium-icon,.dev-card-icon>.ml-premium-icon{--ml-icon-size:62px}
.ml-inline-lux-icon.ml-premium-icon{--ml-icon-size:54px!important;margin:0 12px 0 0!important}

/* Dark homepage industry section: same icon family, tighter and cleaner on navy. */
.industries-luxury-section .feature-icon>.ml-premium-icon{--ml-icon-size:58px;border-radius:18px!important;box-shadow:0 12px 26px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.72)!important}
.industries-luxury-section .feature-icon{background:transparent!important;border:0!important;box-shadow:none!important;overflow:visible!important}
.industries-luxury-section .industry-card-top{align-items:center!important}

/* FAQ icons use the same glass family but are more restrained than service cards. */
.ml-faq-icon{overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
.ml-faq-icon>.ml-premium-icon{--ml-icon-size:52px;border-radius:16px!important;box-shadow:0 10px 22px rgba(88,55,150,.15),inset 0 1px 0 rgba(255,255,255,.82)!important}
.ml-faq-icon>.ml-premium-icon i{font-size:22px!important}
.ml-faq-question,.ml-faq-section-upgraded .faq-question,.blog-faq-item>summary,details.ml-faq-detail-item>summary{
  grid-template-columns:56px minmax(0,1fr) 42px!important;
  gap:16px!important;
  min-height:88px!important;
  padding:15px 20px!important;
}
.ml-faq-section-upgraded .faq-item,.ml-faq-section-upgraded .faq,.ml-faq-section-upgraded .elg-faq-item,.blog-faq-item,details.ml-faq-detail-item{
  border-radius:24px!important;
  box-shadow:0 16px 42px rgba(30,22,62,.07)!important;
}
.ml-faq-question-text{font-weight:780!important;letter-spacing:-.018em!important}
.ml-faq-toggle{width:40px!important;height:40px!important;border-radius:50%!important;font-size:23px!important;background:#fff8f5!important;border:1px solid rgba(117,96,182,.12)!important;box-shadow:0 6px 15px rgba(54,37,94,.05)!important}
.ml-faq-answer,.ml-faq-section-upgraded .faq-answer,.blog-faq-answer,details.ml-faq-detail-item>summary~*{padding:0 78px 24px 92px!important}

/* Keep all inquiry forms premium even when a page has no page-specific input CSS. */
form.ml-consultation-form,form[data-ml-form="consultation"],form[action*="send-mail"]{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
  align-items:start!important;
}
form.ml-consultation-form input:not([type="hidden"]),
form.ml-consultation-form select,
form.ml-consultation-form textarea,
form[data-ml-form="consultation"] input:not([type="hidden"]),
form[data-ml-form="consultation"] select,
form[data-ml-form="consultation"] textarea,
form[action*="send-mail"] input:not([type="hidden"]),
form[action*="send-mail"] select,
form[action*="send-mail"] textarea{
  width:100%!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0 16px!important;
  min-height:56px!important;
  border:1px solid rgba(92,76,129,.16)!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#fff 0%,#fffdfc 100%)!important;
  color:#151b2a!important;
  font:500 15px/1.5 Poppins,Arial,sans-serif!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.96),0 6px 17px rgba(31,23,59,.025)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease,transform .18s ease!important;
}
form.ml-consultation-form textarea,form[data-ml-form="consultation"] textarea,form[action*="send-mail"] textarea{
  grid-column:1/-1!important;
  min-height:136px!important;
  padding:15px 16px!important;
  resize:vertical!important;
}
form.ml-consultation-form select,form[data-ml-form="consultation"] select,form[action*="send-mail"] select,
form.ml-consultation-form input[name="email"],form[data-ml-form="consultation"] input[name="email"],form[action*="send-mail"] input[name="email"],
form.ml-consultation-form input[name="website"],form[data-ml-form="consultation"] input[name="website"],form[action*="send-mail"] input[name="website"]{grid-column:1/-1!important}
form.ml-consultation-form input::placeholder,form.ml-consultation-form textarea::placeholder,
form[data-ml-form="consultation"] input::placeholder,form[data-ml-form="consultation"] textarea::placeholder,
form[action*="send-mail"] input::placeholder,form[action*="send-mail"] textarea::placeholder{color:#858092!important;opacity:1!important}
form.ml-consultation-form input:focus,form.ml-consultation-form select:focus,form.ml-consultation-form textarea:focus,
form[data-ml-form="consultation"] input:focus,form[data-ml-form="consultation"] select:focus,form[data-ml-form="consultation"] textarea:focus,
form[action*="send-mail"] input:focus,form[action*="send-mail"] select:focus,form[action*="send-mail"] textarea:focus{
  outline:none!important;border-color:rgba(232,137,50,.78)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(232,137,50,.10),0 10px 24px rgba(31,23,59,.04)!important
}
form.ml-consultation-form button[type="submit"],form[data-ml-form="consultation"] button[type="submit"],form[action*="send-mail"] button[type="submit"]{
  grid-column:1/-1!important;width:100%!important;min-height:56px!important;margin:2px 0 0!important;border:0!important;border-radius:15px!important;
  color:#fff!important;background:linear-gradient(100deg,#f5a04c 0%,#ee8731 48%,#ff6a70 100%)!important;
  box-shadow:0 15px 30px rgba(232,137,50,.22)!important;font:800 14px/1.2 Poppins,Arial,sans-serif!important;cursor:pointer!important;
}
form.ml-consultation-form button[type="submit"]:hover,form[data-ml-form="consultation"] button[type="submit"]:hover,form[action*="send-mail"] button[type="submit"]:hover{transform:translateY(-2px)!important;box-shadow:0 20px 38px rgba(232,137,50,.30)!important}
.ml-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ml-form-privacy{grid-column:1/-1!important;margin:9px 0 0!important;text-align:center!important;color:#777181!important;font:500 11px/1.55 Poppins,Arial,sans-serif!important}
.ml-form-privacy a{color:#765de8!important;font-weight:750!important;text-decoration:none!important}.ml-form-privacy a:hover{text-decoration:underline!important}

/* More polished form shell proportions site-wide. */
.ml-form-shell,.ml-consult-card,.lead-card,.lead-form-card{
  border-radius:26px!important;
}
.ml-consult-card.ml-form-shell{padding:32px!important}
.ml-consult-card.ml-form-shell h3{font-size:28px!important;letter-spacing:-.035em!important}
.ml-consult-card.ml-form-shell>p{font-size:14px!important;line-height:1.75!important;color:#6f7181!important}

/* Service and feature cards: align icons, headings and CTA baselines. */
.card,.service-card,.feature-card,.icon-card,.smm-card,.sem-card,.dev-card,.elg-card{
  position:relative!important;
}
.card .card-icon,.service-card .card-icon,.feature-card .feature-icon,.icon-card .icon-box{
  margin-bottom:18px!important;
}
.card h3,.service-card h3,.feature-card h3,.icon-card h3{letter-spacing:-.025em!important}
.card p,.service-card p,.feature-card p,.icon-card p{line-height:1.75!important}

@media(max-width:680px){
  .ml-premium-icon{--ml-icon-size:56px;border-radius:18px!important}.ml-premium-icon i{font-size:23px!important}
  .ml-faq-icon>.ml-premium-icon{--ml-icon-size:44px;border-radius:13px!important}.ml-faq-icon>.ml-premium-icon i{font-size:19px!important}
  .ml-faq-question,.ml-faq-section-upgraded .faq-question,.blog-faq-item>summary,details.ml-faq-detail-item>summary{grid-template-columns:46px minmax(0,1fr) 34px!important;gap:11px!important;min-height:74px!important;padding:12px 13px!important}
  .ml-faq-answer,.ml-faq-section-upgraded .faq-answer,.blog-faq-answer,details.ml-faq-detail-item>summary~*{padding:0 16px 18px 70px!important}
  form.ml-consultation-form,form[data-ml-form="consultation"],form[action*="send-mail"]{grid-template-columns:1fr!important}
  form.ml-consultation-form input:not([type="hidden"]),form.ml-consultation-form select,form.ml-consultation-form textarea,
  form[data-ml-form="consultation"] input:not([type="hidden"]),form[data-ml-form="consultation"] select,form[data-ml-form="consultation"] textarea,
  form[action*="send-mail"] input:not([type="hidden"]),form[action*="send-mail"] select,form[action*="send-mail"] textarea{grid-column:1/-1!important}
  .ml-consult-card.ml-form-shell{padding:22px!important}
}

.ml-panel-form-intro{margin:0 0 20px!important}
.ml-panel-form-intro .ml-form-kicker{margin-bottom:10px!important}
.ml-panel-form-intro h3{margin:0 0 8px!important;color:#101828!important;font-size:clamp(22px,2.4vw,28px)!important;line-height:1.22!important;letter-spacing:-.035em!important}
.ml-panel-form-intro p{margin:0!important;color:#707586!important;font-size:13px!important;line-height:1.7!important}

/* =====================================================================
   FINAL OUTLINE ICON + FORM + FAQ POLISH — 2026-09-06
   Requested visual language: clean orange outline icons like the floating
   social controls. Removes glossy gradient tiles and fixes form/FAQ clashes.
   ===================================================================== */

:root{
  --ml-outline-orange:#e88932;
  --ml-outline-orange-2:#f29a4f;
  --ml-outline-ink:#101828;
  --ml-outline-soft:#fffaf6;
  --ml-outline-border:rgba(232,137,50,.58);
}

/* One calm icon system across cards, panels, FAQs and dark sections. */
.ml-premium-icon{
  --ml-icon-size:58px;
  width:var(--ml-icon-size)!important;
  height:var(--ml-icon-size)!important;
  min-width:var(--ml-icon-size)!important;
  flex:0 0 var(--ml-icon-size)!important;
  border-radius:50%!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  position:relative!important;
  overflow:visible!important;
  isolation:auto!important;
  background:rgba(255,255,255,.96)!important;
  border:1.5px solid var(--ml-outline-border)!important;
  box-shadow:0 10px 24px rgba(20,24,40,.07),0 0 0 5px rgba(232,137,50,.035)!important;
  color:var(--ml-outline-orange)!important;
  filter:none!important;
  transform:none!important;
}
.ml-premium-icon::before,.ml-premium-icon::after{display:none!important;content:none!important}
.ml-premium-icon i{
  position:relative!important;
  z-index:1!important;
  color:var(--ml-outline-orange)!important;
  font-size:23px!important;
  line-height:1!important;
  text-shadow:none!important;
  filter:none!important;
  background:none!important;
}
.ml-premium-icon .fa-facebook-f,.ml-premium-icon .fa-instagram,.ml-premium-icon .fa-tiktok,
.ml-premium-icon .fa-snapchat,.ml-premium-icon .fa-google,.ml-premium-icon .fa-whatsapp{font-size:23px!important}

/* Proportions by context. */
.card-icon>.ml-premium-icon,.stat-icon>.ml-premium-icon{--ml-icon-size:58px!important}
.feature-icon>.ml-premium-icon{--ml-icon-size:56px!important}
.homepage-badge>.ml-premium-icon,.icon-box>.ml-premium-icon,.smm-card-icon>.ml-premium-icon,
.sem-card-icon>.ml-premium-icon,.elg-card-icon>.ml-premium-icon,.dev-card-icon>.ml-premium-icon{--ml-icon-size:58px!important}
.ml-inline-lux-icon.ml-premium-icon{--ml-icon-size:48px!important;margin:0 13px 0 0!important}
.smm-panel-icon>.ml-premium-icon,.sem-panel-icon>.ml-premium-icon,.elg-panel-icon>.ml-premium-icon,.dev-panel-icon>.ml-premium-icon{--ml-icon-size:50px!important}

/* Dark industry section: white circular icon, orange line glyph, no pasted-on halo. */
.industries-luxury-section .feature-icon>.ml-premium-icon{
  --ml-icon-size:54px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.96)!important;
  border-color:rgba(245,160,76,.82)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.18)!important;
}
.industries-luxury-section .feature-icon>.ml-premium-icon i{color:#f49a45!important}

/* Mega-menu icons use the same thin orange circular language as social buttons. */
.mega-col a i{
  width:28px!important;height:28px!important;min-width:28px!important;
  display:inline-grid!important;place-items:center!important;
  margin:0 9px 0 0!important;
  border:1px solid rgba(232,137,50,.62)!important;
  border-radius:50%!important;
  background:#fff!important;
  color:var(--ml-outline-orange)!important;
  font-size:12px!important;line-height:1!important;
  box-shadow:0 6px 14px rgba(16,24,40,.05)!important;
}
.mega-col a:hover i{background:#fff8f2!important;border-color:var(--ml-outline-orange)!important}

/* FAQ: same outline icon family, one control only. */
.ml-faq-icon{overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important}
.ml-faq-icon>.ml-premium-icon{
  --ml-icon-size:48px!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1.5px solid rgba(232,137,50,.62)!important;
  box-shadow:0 8px 18px rgba(16,24,40,.055)!important;
}
.ml-faq-icon>.ml-premium-icon i{font-size:20px!important;color:var(--ml-outline-orange)!important}
.ml-faq-toggle{
  width:38px!important;height:38px!important;border-radius:50%!important;
  display:grid!important;place-items:center!important;
  color:#765de8!important;background:#fff!important;
  border:1px solid rgba(117,96,182,.16)!important;
  box-shadow:0 6px 14px rgba(16,24,40,.05)!important;
  font-size:22px!important;font-weight:500!important;line-height:1!important;
  transform:none!important;transition:background .18s ease,border-color .18s ease,color .18s ease!important;
}
.ml-faq-open .ml-faq-toggle,.faq-item.active .ml-faq-toggle,details[open] .ml-faq-toggle{
  transform:none!important;background:#fff8f2!important;border-color:rgba(232,137,50,.35)!important;color:var(--ml-outline-orange)!important;
}
/* Kill every legacy +/- pseudo-control after the JS adds the real toggle. */
.ml-faq-section-upgraded summary::after,
.ml-faq-section-upgraded .faq-question::after,
.ml-faq-section-upgraded summary::before,
.ml-faq-section-upgraded .faq-question::before,
details.ml-faq-detail-item>summary::after,
details.ml-faq-detail-item>summary::before{
  display:none!important;content:none!important;width:0!important;height:0!important;border:0!important;box-shadow:none!important;
}

/* Consultation panels must always stack intro -> fields -> privacy, never side-by-side. */
#contact .smm-panel.ml-form-shell,
#contact .sem-panel.ml-form-shell,
#contact .dev-panel.ml-form-shell,
#contact .elg-panel.ml-form-shell,
.ml-consult-card.ml-form-shell,
.ml-form-shell:has(> form[data-ml-form="consultation"]){
  display:block!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
}
#contact .smm-panel.ml-form-shell form[data-ml-form="consultation"],
#contact .sem-panel.ml-form-shell form[data-ml-form="consultation"],
#contact .dev-panel.ml-form-shell form[data-ml-form="consultation"],
#contact .elg-panel.ml-form-shell form[data-ml-form="consultation"]{
  width:100%!important;min-width:0!important;max-width:100%!important;align-content:start!important;
}
.ml-panel-form-intro{display:block!important;width:100%!important;max-width:100%!important;margin:0 0 20px!important}
.ml-panel-form-intro h3,.ml-panel-form-intro p{max-width:100%!important}
form.ml-consultation-form,form[data-ml-form="consultation"],form[action*="send-mail"]{
  min-width:0!important;max-width:100%!important;overflow:visible!important;
}
form.ml-consultation-form input:not([type="hidden"]),form.ml-consultation-form select,form.ml-consultation-form textarea,
form[data-ml-form="consultation"] input:not([type="hidden"]),form[data-ml-form="consultation"] select,form[data-ml-form="consultation"] textarea,
form[action*="send-mail"] input:not([type="hidden"]),form[action*="send-mail"] select,form[action*="send-mail"] textarea{
  min-width:0!important;max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;
}
.ml-form-privacy{display:block!important;width:100%!important;max-width:100%!important;margin:10px 0 0!important;text-align:center!important}

/* Keep matched desktop sections visually balanced without reintroducing horizontal form layouts. */
@media(min-width:981px){
  #contact .smm-split,#contact .sem-split,#contact .dev-split,#contact .elg-split{align-items:stretch!important}
  #contact .smm-panel.ml-form-shell,#contact .sem-panel.ml-form-shell,#contact .dev-panel.ml-form-shell,#contact .elg-panel.ml-form-shell{align-self:stretch!important}
}
@media(max-width:680px){
  .ml-premium-icon{--ml-icon-size:50px!important}.ml-premium-icon i{font-size:20px!important}
  .ml-faq-icon>.ml-premium-icon{--ml-icon-size:42px!important}.ml-faq-icon>.ml-premium-icon i{font-size:18px!important}
  .mega-col a i{width:25px!important;height:25px!important;min-width:25px!important;font-size:11px!important}
}

/* Homepage priority-path icons were legacy standalone blocks; bring them into the same outline family. */
.priority-path-icon{
  width:54px!important;height:54px!important;min-width:54px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;background:#fff!important;
  border:1.5px solid rgba(232,137,50,.58)!important;
  box-shadow:0 9px 22px rgba(16,24,40,.06),0 0 0 5px rgba(232,137,50,.03)!important;
  color:var(--ml-outline-orange)!important;
}
.priority-path-icon i{color:var(--ml-outline-orange)!important;font-size:21px!important;text-shadow:none!important;filter:none!important}

/* Preserve the intentionally balanced homepage hero while hub/service panels stay stacked. */
@media(min-width:981px){
  .hero .hero-grid>aside#contact.ml-form-shell{
    display:flex!important;flex-direction:column!important;align-self:stretch!important;height:100%!important;
  }
  .hero .hero-grid>aside#contact.ml-form-shell form[data-ml-form="consultation"]{flex:1 1 auto!important}
  .hero .hero-grid>aside#contact.ml-form-shell .ml-form-privacy{margin-top:auto!important;padding-top:10px!important}
}
