/* ===== Alodev brand overrides on Ashley template ===== */

/* Brand logo — monogram "ad" (∞), single path, currentColor (lấy từ alodev.vn hiện tại).
   currentColor tự đổi màu theo cơ chế invert per-section của template, không cần hack. */
.mil-logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 25px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}
.mil-logo-mark {
  height: 30px;
  width: auto;
  display: block;
  flex-shrink: 0;
  overflow: visible;
}
.mil-logo-word {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  letter-spacing: .2px;
}
.mil-logo-rd { margin-left: .3em; font-weight: 700; }

/* One-time "vẽ nét" intro — echo animation vẽ tay của logo thật (LogoIntro/ink-draw),
   làm nhẹ bằng stroke-dash: trace nét ∞ rồi đổ mực. */
.mil-logo-mark path {
  fill: currentColor;
  fill-opacity: 0;
  stroke: currentColor;
  stroke-width: 30;
  stroke-linejoin: round;
  stroke-linecap: round;
  stroke-dasharray: 12200;
  stroke-dashoffset: 12200;
  animation: adDraw 1.7s cubic-bezier(.66, 0, .34, 1) .15s forwards,
             adFill .7s ease 1.35s forwards;
}
@keyframes adDraw { to { stroke-dashoffset: 0; } }
@keyframes adFill { from { fill-opacity: 0; } to { fill-opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
  .mil-logo-mark path {
    animation: none;
    fill-opacity: 1;
    stroke-dashoffset: 0;
  }
}

/* Footer logo variant */
.mil-logo.mil-logo-footer { font-size: 30px; }
.mil-logo.mil-logo-footer .mil-logo-mark { height: 36px; }

@media screen and (max-width: 992px) {
  .mil-logo { font-size: 20px; gap: 9px; }
  .mil-logo-mark { height: 26px; }
}

/* Tech-stack "partners" strip: dùng chữ thay vì logo ảnh */
.mil-partner-frame { width: auto !important; padding: 0 34px; }
.mil-partner-frame h4 { white-space: nowrap; opacity: .55; transition: opacity .3s; margin: 0; }
.mil-partner-frame:hover h4 { opacity: 1; }

/* ===== Homepage intro (ink-cone logo draw) — port từ alodev.vn (LogoIntro/home-apple.css) ===== */
@keyframes ah-logo-word-in {
  from { opacity: 0; transform: translateY(8px); letter-spacing: .12em; }
  to   { opacity: 1; transform: translateY(0);   letter-spacing: normal; }
}
.logo-intro {
  position: fixed; inset: 0; z-index: 100000;
  display: flex; align-items: center; justify-content: center;
  background-color: #fff; color: #1d1d1f;
  transition: background-color 560ms ease;
}
.logo-intro.is-morphing { background-color: transparent; }
.logo-intro-lockup {
  display: flex; flex-direction: column; align-items: center;
  gap: clamp(20px, 3.4vmin, 40px);
}
.logo-intro-mark {
  width: min(40vmin, 280px);
  aspect-ratio: 2320 / 1370;
  transform: translate(0, 0) scale(1);
  transform-origin: 50% 50%;
  transition: transform 720ms cubic-bezier(.62, 0, .2, 1);
  will-change: transform;
}
.logo-intro.is-morphing .logo-intro-mark {
  transform: translate(var(--intro-dx, 0), var(--intro-dy, 0)) scale(var(--intro-scale, 1));
}
.logo-intro-mark-canvas { width: min(46vmin, 320px); aspect-ratio: 2440 / 1520; }
.logo-intro-canvas { width: 100%; height: 100%; display: block; }
.logo-intro-word {
  font-size: clamp(20px, 3.2vmin, 34px);
  font-weight: 600; letter-spacing: -0.01em; color: currentColor;
  opacity: 0;
  animation: ah-logo-word-in .7s cubic-bezier(.22, 1, .3, 1) 1.75s forwards;
}
.logo-intro-word > span { color: #0068FF; }
.logo-intro.is-morphing .logo-intro-word { animation: none; opacity: 0; transition: opacity 300ms ease; }
@media (prefers-reduced-motion: reduce) { .logo-intro { display: none; } }

/* ===== Font thương hiệu: SVN-Gilroy (thay "Outfit" mặc định của template) ===== */
@font-face{font-family:"SVN-Gilroy";src:url("../fonts/svn-gilroy/regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"SVN-Gilroy";src:url("../fonts/svn-gilroy/medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"SVN-Gilroy";src:url("../fonts/svn-gilroy/semibold.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"SVN-Gilroy";src:url("../fonts/svn-gilroy/bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"SVN-Gilroy";src:url("../fonts/svn-gilroy/heavy.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"SVN-Gilroy";src:url("../fonts/svn-gilroy/black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"SVN-Gilroy";src:url("../fonts/svn-gilroy/bold_italic.woff2") format("woff2");font-weight:700;font-style:italic;font-display:swap}

:root{ --mil-font: "SVN-Gilroy", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, system-ui, sans-serif; }
body, .mil-wrapper { font-family: var(--mil-font) !important; }
h1,h2,h3,h4,h5,h6, p, a, li, span:not([class*="fa"]), blockquote, label,
input, textarea, button, select,
.mil-logo, .mil-logo-word, .mil-h1, .mil-h2, .mil-h3, .mil-quote, .mil-suptitle,
.mil-review-frame, .mil-btn, .mil-button, .mil-link, .mil-menu-list, .mil-main-menu {
  font-family: var(--mil-font) !important;
}
/* Font Awesome icons giữ nguyên font của chúng */
i[class*="fa"], .fa, .fas, .fab, .far { font-family: revert !important; }

/* ===== FAQ accordion (trang chi-phi, cau-hoi-thuong-gap) ===== */
.mil-accordion-item{ border-bottom:1px solid rgba(0,0,0,.12); }
.mil-accordion-item details{ width:100%; }
.mil-accordion-item summary{ list-style:none; cursor:pointer; padding:24px 40px 24px 0; position:relative;
  font-size:clamp(17px,2vw,21px); font-weight:600; color:#0a0a0a; transition:color .2s; }
.mil-accordion-item summary::-webkit-details-marker{ display:none; }
.mil-accordion-item summary::after{ content:""; position:absolute; right:6px; top:50%; width:14px; height:14px;
  margin-top:-7px; background:
   linear-gradient(#0068FF,#0068FF) center/14px 2px no-repeat,
   linear-gradient(#0068FF,#0068FF) center/2px 14px no-repeat; transition:transform .25s; }
.mil-accordion-item details[open] summary::after{ transform:rotate(90deg); opacity:.6; }
.mil-accordion-item summary:hover{ color:#0068FF; }
.mil-accordion-a{ padding:0 40px 26px 0; color:rgba(10,10,10,.66); line-height:1.75; font-size:16px; }

/* Step number (quy-trinh) canh nét hơn */
.mil-content .mil-h1.mil-accent{ line-height:.9; }
/* card meta muted line trong service-card-sm */
.mil-service-card-sm .mil-text-sm{ opacity:.7; }
