/* Zaman Group website motion enhancements. Public pages only, no external dependencies. */
:root { --zm-ease: cubic-bezier(.22,1,.36,1); }

/* Mission / Vision / Goal: lightweight, inline icons inside the existing label area. */
.mission-cards .mission-card {
  position:relative; isolation:isolate;
  transition: background-color .35s ease, box-shadow .35s ease, transform .45s var(--zm-ease);
}
.mission-cards .mission-card::before {
  content:""; position:absolute; inset:0 0 auto; height:3px;
  background:#ed464e; transform:scaleX(0); transform-origin:left center;
  transition:transform .45s var(--zm-ease); pointer-events:none;
}
.mission-card-top { display:flex; align-items:center; gap:11px; min-width:0; }
.mission-card-symbol {
  width:39px; height:39px; flex:0 0 39px; display:grid; place-items:center;
  background:rgba(236,70,78,.10); color:#ff9397; border:1px solid rgba(255,147,151,.32);
  border-radius:7px; transition:background-color .3s ease,color .3s ease,border-color .3s ease,transform .42s var(--zm-ease);
}
.mission-card-icon {width:22px;height:22px; fill:none; stroke:currentColor; stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.mission-cards .mission-card-number {font-size:10px;letter-spacing:1px;font-weight:800;color:#ff9b9d;line-height:1.45;}
.mission-cards .mission-card h3 {margin:17px 0 10px;}

/* Observer effects are enabled only when the script initializes; no-JS pages remain visible. */
@media (prefers-reduced-motion: no-preference) {
  .js-ready.motion-enabled .zm-motion {
    opacity:0; transform:translate3d(0,19px,0);
    transition:opacity .72s var(--zm-ease),transform .72s var(--zm-ease),box-shadow .3s ease,border-color .3s ease,background-color .3s ease;
    transition-delay:var(--zm-delay,0ms);
  }
  .js-ready.motion-enabled .zm-motion.zm-visible {opacity:1;transform:translate3d(0,0,0);}
  /* Preserve the existing interactive lift after the entrance animation. */
  .js-ready.motion-enabled .zm-motion.zm-visible:is(.company-card,.services-page-card,.service-category-card,.gallery-item):hover {transform:translate3d(0,-5px,0);}
  .js-ready.motion-enabled .zm-motion.zm-visible.mission-card:hover {transform:translate3d(0,-4px,0);}
  .js-ready.motion-enabled .zm-motion.zm-visible.featured-service:hover {transform:translate3d(0,-4px,0);}
  .js-ready.motion-enabled .zm-motion.zm-visible.testimonial:hover {transform:translate3d(0,-4px,0);}
  @keyframes zm-intro {from{opacity:0;transform:translate3d(0,19px,0)} to{opacity:1;transform:translate3d(0,0,0)}}
  .hero-copy .hero-kicker {animation:zm-intro .7s .04s both var(--zm-ease);}
  .hero-copy h1 {animation:zm-intro .82s .12s both var(--zm-ease);}
  .hero-copy>p {animation:zm-intro .82s .22s both var(--zm-ease);}
  .hero-actions {animation:zm-intro .82s .30s both var(--zm-ease);}
  .hero-foot {animation:zm-intro .82s .38s both var(--zm-ease);}
  .page-banner .eyebrow {animation:zm-intro .66s .05s both var(--zm-ease);}
  .page-banner h1 {animation:zm-intro .76s .12s both var(--zm-ease);}
  .page-banner p,.page-banner .breadcrumbs {animation:zm-intro .76s .19s both var(--zm-ease);}
}

/* Refined hover feedback complements the original design without changing the layout. */
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  .mission-cards .mission-card:hover {background:#103553;box-shadow:0 16px 32px rgba(0,0,0,.17);z-index:1;}
  .mission-cards .mission-card:hover::before {transform:scaleX(1);}
  .mission-cards .mission-card:hover .mission-card-symbol {color:#fff;background:rgba(237,70,78,.38);border-color:#ed666e;transform:translateY(-2px) rotate(-4deg);}
  .mission-cards .mission-card:hover h3 {color:#fff;}
  .button .icon {transition:transform .32s var(--zm-ease);}
  .button:hover .icon {transform:translateX(4px);}
  .button-primary:hover {box-shadow:0 12px 28px rgba(236,70,78,.22);}
  .site-nav>.nav-item:not(.current)::after,
  .site-nav .dropdown-toggle:not(.current)::after {
    content:"";position:absolute;bottom:0;left:13px;right:13px;height:3px;
    background:var(--red);transform:scaleX(0);transform-origin:left;
    transition:transform .32s var(--zm-ease);
  }
  .site-nav>.nav-item:not(.current):hover::after,
  .site-nav .dropdown-toggle:not(.current):hover::after,
  .site-nav .dropdown-toggle[aria-expanded="true"]::after {transform:scaleX(1);}
  .mega-services a .icon {transition:transform .25s ease;}
  .mega-services a:hover .icon {transform:translateX(4px);}
  .credential-logo img {transition:transform .35s var(--zm-ease),filter .35s ease;}
  .credential-logo:hover img {transform:translateY(-3px);filter:drop-shadow(0 5px 8px rgba(8,34,55,.10));}
  .about-picture {overflow:hidden;}
  .about-picture img {transition:transform .8s var(--zm-ease);}
  .about-visual:hover .about-picture img {transform:scale(1.045);}
  .policy-visual img {transition:transform .7s var(--zm-ease),box-shadow .35s ease;}
  .policy-visual:hover img {transform:scale(1.018);box-shadow:0 17px 38px rgba(9,41,68,.15);}
  .company-card {transition-duration:.32s;}
  .company-card:hover {border-color:rgba(234,68,76,.45);}
  .company-card-icon .icon {transition:transform .3s var(--zm-ease);}
  .company-card:hover .company-card-icon .icon {transform:translateX(3px);}
  .service-category-card {transition:box-shadow .3s ease,border-color .3s ease,transform .42s var(--zm-ease);}
  .service-category-card:hover {border-color:rgba(234,68,76,.43);box-shadow:0 14px 30px rgba(11,39,63,.085);}
  .service-cat-arrow {display:inline-block;transition:transform .32s var(--zm-ease);}
  .service-category-card:hover .service-cat-arrow {transform:translate(3px,-3px);}
  .featured-service {transition:box-shadow .3s ease;}
  .featured-service:hover {box-shadow:0 16px 35px rgba(9,33,52,.2);}
  .featured-arrow {transition:transform .35s var(--zm-ease);}
  .featured-service:hover .featured-arrow {transform:translate(3px,-3px);}
  .gallery-item {transition:box-shadow .35s ease;}
  .gallery-item:hover {box-shadow:0 13px 30px rgba(7,29,50,.18);}
  .gallery-icon {transition:background-color .3s ease,transform .32s var(--zm-ease);}
  .gallery-item:hover .gallery-icon {background-color:var(--red);transform:translate(2px,-2px);}
  .testimonial {transition:border-color .3s ease,box-shadow .35s ease,transform .42s var(--zm-ease);}
  .testimonial:hover {border-color:rgba(234,68,76,.32);box-shadow:0 14px 30px rgba(8,37,60,.07);transform:translateY(-4px);}
  .services-page-photo {overflow:hidden;}
  .services-page-photo img {transition:transform .65s var(--zm-ease);}
  .services-page-card:hover .services-page-photo img {transform:scale(1.055);}
  .detail-service-list a {transition:padding-left .28s var(--zm-ease),background-color .28s ease;}
  .detail-service-list a:hover {padding-left:10px;}
  .contact-method-icon {transition:background-color .25s ease,color .25s ease,transform .35s var(--zm-ease);}
  .contact-method:hover .contact-method-icon {transform:translateY(-3px);color:#fff;background:var(--red);}
  .footer-column a {transition:color .24s ease,transform .24s var(--zm-ease);}
  .footer-column a:hover {transform:translateX(3px);}
  .footer-social-link:hover {box-shadow:0 9px 19px rgba(0,0,0,.17);}
  .last-cta .button-white:hover {box-shadow:0 12px 25px rgba(4,26,47,.18);}
}

/* Interactive focus states, visible to keyboard users and usable on touch devices. */
.site-footer a:focus-visible,
.mission-section a:focus-visible,
.gallery-item:focus-visible,
.company-card:focus-visible,
.service-category-card:focus-visible,
.services-page-card:focus-visible,
.tab-button:focus-visible,
.filter-button:focus-visible,
.button:focus-visible {
  outline:3px solid #ff7b80; outline-offset:3px;
}
.form-group input:focus-visible,.form-group textarea:focus-visible,.form-group select:focus-visible {
  outline:2px solid rgba(235,68,75,.35);outline-offset:2px;
  border-color:var(--red);
}

/* Keep section anchors clear of the sticky header. */
#about,#our-companies,#founder {scroll-margin-top:100px;}

@media(max-width:767px) {
  .mission-card-top{gap:10px;}
  .mission-card-symbol{width:35px;height:35px;flex-basis:35px;}
  .mission-card-icon{width:21px;height:21px;}
  #about,#our-companies,#founder {scroll-margin-top:80px;}
}

/* Accessibility: reveal effects never hide content for reduced-motion users. */
@media(prefers-reduced-motion:reduce) {
  .js-ready.motion-enabled .zm-motion {opacity:1!important;transform:none!important;transition:none!important;}
  .hero-copy>*,.page-banner * {animation:none!important;}
  .mission-cards .mission-card,.mission-cards .mission-card::before,.mission-card-symbol {transition:none!important;}
  .mission-cards .mission-card:hover {transform:none;}
}
