/* DIMART V51 — mobile navigation, unified footer, bilingual media and contrast refinement */
:root{--v51-cyan:#6ce3ff;--v51-blue:#06347d;--v51-navy:#021638}

/* Header identity must stay visible before and after all legacy rebuilds. */
.site-header .brand{font-size:0!important;color:transparent!important;isolation:isolate!important}
.site-header .brand img{display:block!important;opacity:1!important;visibility:visible!important;object-fit:contain!important;filter:none!important}
.site-header .nav-links{isolation:isolate!important}
.site-header .menu-toggle{isolation:isolate!important;overflow:hidden!important;clip-path:circle(50%)!important}
.site-header .menu-toggle:after{content:"";position:absolute;inset:3px;border-radius:50%;border:1px solid rgba(129,226,255,.16);transform:scale(.82);opacity:0;transition:.35s ease}
.site-header .menu-toggle.open:after{opacity:1;transform:scale(1) rotate(90deg);box-shadow:inset 0 0 18px rgba(66,207,255,.2)}
.site-header .menu-toggle .v50-menu-icon{transition:transform .42s cubic-bezier(.2,.85,.2,1)}
.site-header .menu-toggle.open .v50-menu-icon{transform:rotate(90deg)!important}
.site-header .menu-toggle.open .v50-menu-icon i:nth-child(1){width:21px!important;transform:translateY(7px) rotate(45deg)!important}
.site-header .menu-toggle.open .v50-menu-icon i:nth-child(2){opacity:0!important;transform:scaleX(0)!important}
.site-header .menu-toggle.open .v50-menu-icon i:nth-child(3){width:21px!important;transform:translateY(-7px) rotate(-45deg)!important}

/* The home growth output aligns exactly with the white card that follows it. */
@media(max-width:620px){
  body.v50-home .open-output{
    width:100%!important;max-width:none!important;box-sizing:border-box!important;
    left:50%!important;right:auto!important;padding:14px 16px 14px 60px!important;border-radius:24px!important;
  }
  body.v50-home .open-output:before{left:11px!important;width:40px!important;height:40px!important;border-radius:50%!important}
  body.v50-home .open-output:after{left:24px!important}
}

/* A custom vector arrow replaces the emoji-like featured-card glyph. */
.services-outcome .card.featured .card-icon.v51-card-arrow{
  width:68px!important;height:68px!important;display:grid!important;place-items:center!important;border-radius:24px!important;
  background:radial-gradient(circle at 34% 28%,rgba(127,231,255,.38),rgba(4,41,113,.9) 55%,#020f35)!important;
  color:#dffbff!important;border:1px solid rgba(142,227,255,.26)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 18px 34px rgba(0,17,55,.24)!important;overflow:hidden!important;
}
.services-outcome .card.featured .card-icon.v51-card-arrow:before{content:"";position:absolute;inset:8px;border-radius:18px;border:1px solid rgba(255,255,255,.11);transform:rotate(-7deg)}
.services-outcome .card.featured .card-icon.v51-card-arrow svg{position:relative;z-index:2;width:27px;height:27px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 8px rgba(104,225,255,.45));transition:.3s}
.services-outcome .card.featured:hover .card-icon.v51-card-arrow svg{transform:translate(-3px,-3px)}

/* Protect prominent headings on navy/dark sections across the site. */
section.dark :is(.section-head,.bx-head,.bd-head,.dp-head,.pf-head,.head)>div>h1,
section.dark :is(.section-head,.bx-head,.bd-head,.dp-head,.pf-head,.head)>div>h2,
section.dark :is(.section-head,.bx-head,.bd-head,.dp-head,.pf-head,.head)>h1,
section.dark :is(.section-head,.bx-head,.bd-head,.dp-head,.pf-head,.head)>h2,
section.da-dark :is(.da-head,.section-head,.head) h2,
.v51-contrast-heading{color:#f8fcff!important;text-shadow:0 2px 22px rgba(0,12,43,.32)!important}
.bx-section:not(.soft) .bx-head .bx-title{color:#f8fcff!important;text-shadow:0 2px 22px rgba(0,12,43,.32)!important}
.bx-section:not(.soft) .bx-head .bx-lead{color:#b8cde0!important}
section.dark :is(.eyebrow,.bx-eyebrow,.bd-eyebrow,.dp-eyebrow,.pf-eyebrow),
section.da-dark :is(.eyebrow,.da-eyebrow){color:#78e3ff!important}

/* Search action now points left, matching the site action language. */
.hbs-action .v50-arrow--down svg,.hero-search-go .v50-arrow--down svg{transform:none!important}
.hbs-action:hover>.v50-arrow--down,.hero-search-go:hover>.v50-arrow--down{transform:translateX(-3px)!important}

/* Audio UI is intentionally dormant; media support remains available for a later release. */
.sound-control,.v31-music-control,[data-sound-control],.audio-toggle,.music-toggle{display:none!important;visibility:hidden!important;pointer-events:none!important}

/* Footer V51: the exact same icon and contact geometry on every page. */
html body .site-footer[data-v31-footer][data-v51-footer] .footer-utility{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"contact social"!important;
  gap:10px!important;align-items:center!important;direction:ltr!important;
}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact{
  grid-area:contact!important;display:grid!important;grid-template-columns:minmax(0,1.25fr) minmax(120px,.75fr) minmax(180px,1fr)!important;
  grid-template-areas:"location phone email"!important;gap:8px!important;width:100%!important;direction:rtl!important;
}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact .location{grid-area:location!important}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact .phone{grid-area:phone!important}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact .email{grid-area:email!important}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact>*{
  position:relative!important;display:grid!important;grid-template-columns:36px minmax(0,1fr)!important;
  align-items:center!important;justify-content:stretch!important;gap:9px!important;min-height:48px!important;
  padding:6px 10px!important;direction:rtl!important;text-align:right!important;overflow:hidden!important;
  border-radius:15px!important;background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(86,207,255,.025))!important;
  border:1px solid rgba(126,221,255,.13)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact .contact-copy{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#d8edf8!important;font-size:9px!important;line-height:1.3!important}
.site-footer[data-v51-footer] .footer-contact .phone .contact-copy,
.site-footer[data-v51-footer] .footer-contact .email .contact-copy{direction:ltr!important;text-align:left!important}
html body .site-footer[data-v31-footer][data-v51-footer] .contact-icon,
html body .site-footer[data-v31-footer][data-v51-footer] .footer-social .social-icon{
  position:relative!important;width:34px!important;height:34px!important;min-width:34px!important;display:grid!important;place-items:center!important;
  border-radius:50%!important;color:#bff4ff!important;background:linear-gradient(145deg,rgba(94,220,255,.16),rgba(4,42,105,.2))!important;
  border:1px solid rgba(137,229,255,.24)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.17),0 8px 20px rgba(0,15,51,.14)!important;
  transform:none!important;overflow:visible!important;transition:.28s cubic-bezier(.2,.8,.2,1)!important;
}
.site-footer[data-v51-footer] .contact-icon:before,
.site-footer[data-v51-footer] .footer-social .social-icon:before{content:""!important;position:absolute!important;inset:5px!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.08)!important;transform:none!important}
.site-footer[data-v51-footer] .contact-icon:after,
.site-footer[data-v51-footer] .footer-social .social-icon:after{content:""!important;position:absolute!important;width:5px!important;height:5px!important;right:-1px!important;top:-1px!important;border-radius:50%!important;background:#69e5ff!important;box-shadow:0 0 0 3px rgba(105,229,255,.1),0 0 10px rgba(105,229,255,.62)!important}
html body .site-footer[data-v31-footer][data-v51-footer] .contact-icon svg,
html body .site-footer[data-v31-footer][data-v51-footer] .footer-social .social-icon svg{position:relative!important;z-index:2!important;width:17px!important;height:17px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.site-footer[data-v51-footer] .footer-contact-link:hover .contact-icon,
.site-footer[data-v51-footer] .footer-social a:hover .social-icon{transform:translateY(-3px) scale(1.04)!important;color:#05306c!important;background:linear-gradient(145deg,#f3feff,#85e7ff)!important}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-social{
  grid-area:social!important;display:grid!important;grid-template-columns:repeat(3,44px)!important;gap:8px!important;justify-self:end!important;align-items:center!important;
}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-social a{position:relative!important;overflow:visible!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;border-radius:15px!important;display:grid!important;place-items:center!important}
html body .site-footer[data-v31-footer][data-v51-footer] .footer-social a:before{content:none!important;display:none!important;background:none!important}

@media(max-width:1100px){
  /* Compact header with an intact logo and full two-state language control. */
  html body .site-header .nav,html body .site-header.scrolled .nav{
    width:calc(100% - 20px)!important;max-width:760px!important;height:58px!important;min-height:58px!important;
    padding:6px 8px!important;grid-template-columns:42px minmax(110px,1fr) 68px 84px!important;
    grid-template-areas:"menu actions lang brand"!important;gap:4px!important;overflow:visible!important;
  }
  html body .site-header .brand{grid-area:brand!important;width:84px!important;height:40px!important;display:grid!important;place-items:center!important;margin:0!important;overflow:visible!important;pointer-events:auto!important}
  html body .site-header .brand img{width:82px!important;max-width:82px!important;height:34px!important;object-position:center!important}
  html body .site-header .nav-links{display:none!important}
  html body .site-header .v29-header-actions{grid-area:actions!important;position:relative!important;z-index:3!important;pointer-events:auto!important}
  html body .site-header .lang-switch,html body .site-header .dimart-v7-lang{
    grid-area:lang!important;position:relative!important;z-index:3!important;width:68px!important;min-width:68px!important;height:36px!important;
    display:grid!important;grid-template-columns:1fr 1fr!important;padding:3px!important;overflow:hidden!important;pointer-events:auto!important;
  }
  html body .site-header .lang-switch:before,html body .site-header .dimart-v7-lang:before{width:29px!important;left:3px!important;top:3px!important;bottom:3px!important;height:auto!important}
  html[lang="fa"] body .site-header .lang-switch:before,html[lang="fa"] body .site-header .dimart-v7-lang:before,
  body.lang-fa-active .site-header .lang-switch:before,body.lang-fa-active .site-header .dimart-v7-lang:before{transform:translateX(33px)!important}
  html[lang="en"] body .site-header .lang-switch:before,html[lang="en"] body .site-header .dimart-v7-lang:before,
  body.lang-en-active .site-header .lang-switch:before,body.lang-en-active .site-header .dimart-v7-lang:before{transform:translateX(0)!important}
  html body .site-header .lang-switch button,html body .site-header .dimart-v7-lang button{display:grid!important;place-items:center!important;width:100%!important;height:100%!important;padding:0!important;font-size:8px!important;line-height:1!important}

  /* The drawer grows out of the hamburger, then reveals rows in sequence. */
  .v29-mobile-menu{
    top:76px!important;left:10px!important;right:10px!important;bottom:10px!important;border-radius:30px!important;
    background:radial-gradient(circle at 8% 0,rgba(92,219,255,.22),transparent 31%),radial-gradient(circle at 92% 100%,rgba(30,120,211,.18),transparent 38%),linear-gradient(155deg,rgba(1,12,38,.997),rgba(3,54,110,.99))!important;
    border:1px solid rgba(136,226,255,.25)!important;box-shadow:0 38px 110px rgba(0,8,31,.62),inset 0 1px 0 rgba(255,255,255,.1)!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-18px) scale(.965)!important;
    transform-origin:26px 0!important;clip-path:circle(0 at 26px 0)!important;filter:blur(7px)!important;
    transition:clip-path .58s cubic-bezier(.16,.86,.2,1),transform .46s cubic-bezier(.16,.86,.2,1),opacity .25s ease,filter .35s ease,visibility 0s linear .58s!important;
  }
  .v29-mobile-menu.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;clip-path:circle(155% at 26px 0)!important;filter:none!important;transition-delay:0s!important}
  .v29-mobile-menu:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(120deg,transparent 10%,rgba(110,226,255,.055) 42%,transparent 66%);transform:translateX(100%);animation:v51MenuScan 7s ease-in-out infinite}
  @keyframes v51MenuScan{0%,55%{transform:translateX(100%)}80%,100%{transform:translateX(-100%)}}
  .v29-mobile-menu>*{opacity:0;transform:translateY(-9px) scale(.985);transition:opacity .28s ease,transform .4s cubic-bezier(.2,.8,.2,1)}
  .v29-mobile-menu.open>*{opacity:1;transform:none}
  .v29-mobile-menu.open>*:nth-child(1){transition-delay:.13s}.v29-mobile-menu.open>*:nth-child(2){transition-delay:.17s}.v29-mobile-menu.open>*:nth-child(3){transition-delay:.21s}.v29-mobile-menu.open>*:nth-child(4){transition-delay:.25s}.v29-mobile-menu.open>*:nth-child(5){transition-delay:.29s}.v29-mobile-menu.open>*:nth-child(n+6){transition-delay:.33s}
  .v32-menu-brand{grid-template-columns:46px minmax(0,1fr) 42px!important;direction:ltr!important}
  .v32-menu-logo{width:46px!important;height:42px!important}.v32-menu-logo img{width:43px!important;height:38px!important}
  .v32-menu-brand-copy{direction:rtl!important;text-align:right!important}.v32-menu-brand-copy small{direction:ltr!important;text-align:left!important}
  .v32-menu-close{position:relative!important;width:40px!important;height:40px!important;font-size:0!important;border-radius:50%!important;background:radial-gradient(circle at 35% 28%,rgba(135,231,255,.2),rgba(255,255,255,.055))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 9px 24px rgba(0,10,40,.2)!important;overflow:hidden!important}
  .v32-menu-close:before{content:"";position:absolute;inset:5px;border:1px dashed rgba(129,225,255,.25);border-radius:50%;animation:v51CloseOrbit 8s linear infinite}
  @keyframes v51CloseOrbit{to{transform:rotate(360deg)}}
  .v51-close-icon{position:relative;z-index:2;width:18px;height:18px;display:block;transform:rotate(45deg);transition:.3s}
  .v51-close-icon i{position:absolute!important;left:50%!important;top:50%!important;display:block!important;opacity:1!important;border-radius:99px!important;background:#dffaff!important;box-shadow:0 0 9px rgba(105,226,255,.38)!important;transform:translate(-50%,-50%)!important}
  .v51-close-icon i:first-child{width:18px;height:2px}.v51-close-icon i:last-child{width:2px;height:18px}
  .v32-menu-close:hover .v51-close-icon{transform:rotate(135deg)}
  .v29-acc-btn{min-height:52px!important;padding:0 12px 0 10px!important}
  .v51-acc-arrow{width:34px;height:34px;min-width:34px;display:grid;place-items:center;border-radius:50%;color:#7fe4ff;background:linear-gradient(145deg,rgba(112,226,255,.14),rgba(255,255,255,.045));border:1px solid rgba(129,226,255,.2);box-shadow:inset 0 1px 0 rgba(255,255,255,.13);transition:.32s cubic-bezier(.2,.8,.2,1)}
  .v51-acc-arrow svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:.32s}
  .v29-acc.open .v51-acc-arrow{background:#ecfbff;color:#063574;transform:rotate(180deg);box-shadow:0 8px 22px rgba(0,16,52,.24)}
  .v29-mobile-menu>.v29-menu-link .v50-menu-link-arrow{display:none!important}
  .v29-mobile-menu>.v29-menu-link{padding-inline:15px!important;justify-content:flex-start!important}
  .v29-sub-link.v51-view-all{min-height:46px!important;background:linear-gradient(135deg,rgba(90,217,255,.16),rgba(255,255,255,.045))!important;border-color:rgba(123,224,255,.2)!important;padding:10px 13px!important}
  .v29-sub-link.v51-view-all b{display:block!important;color:#fff!important;font-size:11px!important;line-height:1.5!important}
  .v29-sub-link.v51-view-all small{display:block!important;color:#79dfff!important;font:700 7px/1.4 Arial,sans-serif!important;letter-spacing:.12em!important;direction:ltr!important}

  html body .site-footer[data-v31-footer][data-v51-footer] .footer-utility{grid-template-columns:1fr!important;grid-template-areas:"contact" "social"!important;gap:9px!important;align-items:stretch!important}
  html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact{display:grid!important;grid-template-columns:1fr 1fr!important;grid-template-areas:"location location" "phone email"!important;gap:7px!important;width:100%!important}
  html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact .location{grid-column:1/-1!important;grid-area:location!important}
  html body .site-footer[data-v31-footer][data-v51-footer] .footer-contact>*{height:44px!important;min-height:44px!important;grid-template-columns:32px minmax(0,1fr)!important;gap:7px!important;padding:5px 8px!important;justify-content:stretch!important;text-align:start!important}
  .site-footer[data-v51-footer] .contact-icon{width:30px!important;height:30px!important;min-width:30px!important}
  .site-footer[data-v51-footer] .footer-contact .contact-copy{font-size:7.7px!important}
  html body .site-footer[data-v31-footer][data-v51-footer] .footer-social{display:grid!important;grid-template-columns:repeat(3,44px)!important;justify-content:center!important;justify-self:center!important;gap:10px!important}
}

@media(max-width:360px){
  html body .site-header .nav,html body .site-header.scrolled .nav{width:calc(100% - 14px)!important;padding:5px 6px!important;grid-template-columns:38px minmax(94px,1fr) 64px 70px!important;gap:3px!important}
  html body .site-header .brand{width:70px!important}.site-header .brand img{width:68px!important;max-width:68px!important}
  html body .site-header .lang-switch,html body .site-header .dimart-v7-lang{width:64px!important;min-width:64px!important}
  html body .site-header .lang-switch:before,html body .site-header .dimart-v7-lang:before{width:27px!important}
  html[lang="fa"] body .site-header .lang-switch:before,html[lang="fa"] body .site-header .dimart-v7-lang:before,body.lang-fa-active .site-header .lang-switch:before,body.lang-fa-active .site-header .dimart-v7-lang:before{transform:translateX(31px)!important}
}

@media(prefers-reduced-motion:reduce){.v29-mobile-menu,.v29-mobile-menu>*,.v29-mobile-menu:after,.v32-menu-close:before,.v51-close-icon,.v51-acc-arrow{animation:none!important;transition:none!important}}
