:root {
  --hg-ink: #110b1d;
  --hg-purple: #472586;
  --hg-purple-deep: #2a174c;
  --hg-gold: #d9aa45;
  --hg-gold-light: #f4d890;
  --hg-paper: #f8f6fb;
  --hg-muted: #6b6475;
}

.home-cinematic-page { overflow-x: hidden; }
.hg-home { background: var(--hg-paper); color: var(--hg-ink); overflow: hidden; }
.hg-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }

.hg-hero {
  min-height: 92vh;
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  overflow: hidden;
  background:
    radial-gradient(circle at 75% 25%, rgba(147, 94, 216, .26), transparent 30%),
    radial-gradient(circle at 18% 75%, rgba(217, 170, 69, .12), transparent 30%),
    linear-gradient(135deg, #10091b 0%, #211139 52%, #0e0917 100%);
  color: #fff;
}

.hg-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .1;
  background-image: linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
  background-size: 58px 58px;
  mask-image: linear-gradient(to right, #000, transparent 75%);
}

.hg-orb { position: absolute; border-radius: 50%; filter: blur(1px); pointer-events: none; z-index: -1; }
.hg-orb--one { width: 420px; height: 420px; right: -130px; top: -170px; border: 1px solid rgba(244,216,144,.25); box-shadow: inset 0 0 100px rgba(217,170,69,.08); animation: hgFloat 9s ease-in-out infinite; }
.hg-orb--two { width: 220px; height: 220px; left: 42%; bottom: -120px; background: rgba(71,37,134,.22); filter: blur(65px); }

.hg-hero__inner { min-height: 92vh; padding: 130px 0 90px; display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(40px, 7vw, 100px); align-items: center; }
.hg-hero__copy { max-width: 710px; }
.hg-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 20px; color: var(--hg-gold-light); font-size: 12px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.hg-kicker span { width: 34px; height: 1px; background: currentColor; }
.hg-kicker--dark { color: var(--hg-purple); }
.hg-hero h1 { margin: 0; font-size: clamp(45px, 6.2vw, 84px); line-height: .99; letter-spacing: -.055em; font-weight: 800; }
.hg-hero h1 em, .hg-section-head h2 em { color: var(--hg-gold-light); font-style: normal; }
.hg-hero__lead { max-width: 650px; margin: 30px 0 0; color: #d8d0e2; font-size: clamp(17px, 1.65vw, 21px); line-height: 1.7; }
.hg-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }

.hg-button { border: 0; display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 23px; border-radius: 8px; font: inherit; font-size: 14px; font-weight: 800; cursor: pointer; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.hg-button:hover { transform: translateY(-2px); }
.hg-button--gold { background: linear-gradient(135deg, var(--hg-gold-light), var(--hg-gold)); color: #221406; box-shadow: 0 12px 34px rgba(217,170,69,.2); }
.hg-button--glass { color: #fff; border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.07); }
.hg-button--primary { background: var(--hg-purple); color: #fff; box-shadow: 0 12px 30px rgba(71,37,134,.18); }
.hg-button--dark { background: var(--hg-ink); color: #fff; }
.hg-trust-row { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 38px; color: #bdb4ca; font-size: 12px; }
.hg-trust-row i { color: var(--hg-gold-light); margin-right: 5px; }

.hg-command-card { position: relative; padding: 28px; border: 1px solid rgba(255,255,255,.15); border-radius: 22px; background: linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.035)); backdrop-filter: blur(18px); box-shadow: 0 35px 100px rgba(0,0,0,.38); transform: perspective(1000px) rotateY(-5deg) rotateX(2deg); }
.hg-command-card::before { content: ""; position: absolute; inset: 12px; border: 1px solid rgba(217,170,69,.12); border-radius: 14px; pointer-events: none; }
.hg-command-card__top, .hg-command-card__footer { display: flex; justify-content: space-between; align-items: center; color: #bdb4ca; font-size: 10px; letter-spacing: .13em; }
.hg-command-card__mark { margin: 40px 0 6px; color: var(--hg-gold-light); font-size: clamp(58px, 7vw, 92px); font-weight: 900; line-height: 1; letter-spacing: -.06em; }
.hg-command-card h2 { font-size: clamp(20px, 2.2vw, 30px); line-height: 1.25; margin: 0 0 28px; }
.hg-command-card__services { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-bottom: 30px; }
.hg-command-card__services span { min-height: 54px; padding: 11px; display: flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; color: #e8e3ed; background: rgba(255,255,255,.04); font-size: 11px; }
.hg-command-card__services i { color: var(--hg-gold-light); }
.hg-live-dot::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #61d68b; box-shadow: 0 0 0 5px rgba(97,214,139,.1); }
.hg-scroll-cue { position: absolute; left: 50%; bottom: 24px; color: #a99fb7; font-size: 10px; letter-spacing: .17em; text-transform: uppercase; text-decoration: none; transform: translateX(-50%); }
.hg-scroll-cue span { display: block; width: 1px; height: 28px; margin: 0 auto 8px; background: linear-gradient(var(--hg-gold-light), transparent); animation: hgCue 1.8s ease infinite; }

.hg-services { padding: 110px 0; background: #fff; }

/* Portfolio stats */
.hg-stats { padding: 72px 0; background: var(--hg-paper); }
.hg-stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.hg-stat-card {
  padding: 28px 20px;
  text-align: center;
  border: 1px solid #e7e2ec;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 12px rgba(17, 11, 29, 0.04);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.hg-stat-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(71, 37, 134, 0.1); }
.hg-stat-card__value { display: block; font-size: clamp(28px, 3.2vw, 38px); font-weight: 800; color: var(--hg-purple); line-height: 1.1; letter-spacing: -0.02em; }
.hg-stat-card__label { display: block; margin-top: 8px; color: var(--hg-muted); font-size: 14px; font-weight: 500; }

/* Brand overview */
.hg-brand { padding: 100px 0; background: #fff; border-top: 1px solid #ece8f0; }
.hg-brand__grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(40px, 6vw, 80px); align-items: center; }
.hg-brand__copy h2 { margin: 0 0 20px; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.06; letter-spacing: -0.045em; }
.hg-brand__copy h2 em { color: var(--hg-purple); font-style: normal; }
.hg-brand__lead { margin: 0 0 28px; color: var(--hg-muted); font-size: 17px; line-height: 1.75; max-width: 560px; }
.hg-brand__points { display: flex; flex-direction: column; gap: 14px; }
.hg-brand-point {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 16px;
  align-items: flex-start;
  padding: 18px 20px;
  border: 1px solid #e7e2ec;
  border-radius: 14px;
  background: var(--hg-paper);
  transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease;
  animation: hgPointFloat 4.5s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * -1.2s);
}
.hg-brand-point:hover {
  transform: translateY(-4px);
  border-color: rgba(71, 37, 134, 0.22);
  box-shadow: 0 14px 32px rgba(71, 37, 134, 0.1);
}
.hg-brand-point__icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, var(--hg-purple), #6b4a9e);
  font-size: 18px;
}
.hg-brand-point h3 { margin: 0 0 6px; font-size: 16px; font-weight: 800; color: var(--hg-ink); }
.hg-brand-point p { margin: 0; color: var(--hg-muted); font-size: 14px; line-height: 1.6; }
.hg-brand__frame {
  position: relative;
  padding: 12px;
  border-radius: 20px;
  background: var(--hg-paper);
  border: 1px solid #e7e2ec;
  box-shadow: 0 24px 60px rgba(33, 17, 57, 0.12);
}
.hg-brand__frame img { width: 100%; height: min(520px, 58vh); object-fit: cover; border-radius: 12px; display: block; }
.hg-brand__frame-note {
  position: absolute;
  right: 24px;
  bottom: 24px;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(17, 11, 29, 0.72);
  color: #fff;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

@keyframes hgPointFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

.hg-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 48px; }
.hg-section-head h2 { max-width: 700px; margin: 0; font-size: clamp(34px, 4.4vw, 59px); line-height: 1.06; letter-spacing: -.045em; }
.hg-section-head h2 em { color: var(--hg-purple); }
.hg-carousel-controls { display: flex; align-items: center; gap: 15px; color: var(--hg-muted); font-size: 12px; letter-spacing: .1em; }
.hg-carousel-controls button { width: 48px; height: 48px; border: 1px solid #ddd7e5; border-radius: 50%; color: var(--hg-purple); background: #fff; cursor: pointer; transition: .25s ease; }
.hg-carousel-controls button:hover { color: #fff; background: var(--hg-purple); border-color: var(--hg-purple); transform: scale(1.06); }
.hg-carousel-controls b { color: var(--hg-ink); font-size: 18px; }
.hg-service-stage { overflow: hidden; }
.hg-service-track { position: relative; min-height: 570px; }
.hg-service-slide { position: absolute; inset: 0; display: grid; grid-template-columns: 1.08fr .92fr; border: 1px solid #e7e2ec; border-radius: 24px; overflow: hidden; background: var(--hg-paper); opacity: 0; visibility: hidden; transform: translateX(60px) scale(.98); transition: opacity .55s ease, transform .55s ease, visibility .55s; }
.hg-service-slide.is-active { opacity: 1; visibility: visible; transform: none; z-index: 2; }
.hg-service-slide:not(.is-active) * { animation-play-state: paused !important; }
.hg-service-slide__image { position: relative; min-height: 570px; overflow: hidden; }
.hg-service-slide__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 65%, rgba(17,11,29,.12)); }
.hg-service-slide__image > img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.hg-service-slide.is-active .hg-service-slide__image > img { transform: scale(1.035); }
.hg-service-slide__number { position: absolute; z-index: 2; left: 24px; top: 22px; min-width: 62px; padding: 10px; color: #fff; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; background: rgba(17,11,29,.45); backdrop-filter: blur(10px); text-align: center; font-size: 12px; letter-spacing: .15em; }
.hg-service-slide__visual { display: grid; place-items: center; isolation: isolate; background: radial-gradient(circle at 50% 45%, #fbf9ff 0%, #eee8f7 48%, #ddd3ec 100%); }
.hg-service-slide__visual::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .18; background-image: radial-gradient(circle, #472586 1px, transparent 1.5px); background-size: 24px 24px; mask-image: radial-gradient(circle, #000 15%, transparent 72%); }
.hg-service-slide__visual::after { display: none; }

/* Animated orbit illustrations: HR Outsourcing and Smart Recruitment */
.hg-orbit-visual { position: relative; width: min(92%, 520px); aspect-ratio: 1; display: grid; place-items: center; }
.hg-orbit-visual::before { content: ""; position: absolute; width: 65%; height: 65%; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.9), rgba(255,255,255,.2) 60%, transparent 70%); filter: blur(2px); }
.hg-orbit-ring { position: absolute; border-radius: 50%; border: 1px solid rgba(71,37,134,.22); }
.hg-orbit-ring::after { content: ""; position: absolute; width: 9px; height: 9px; left: 50%; top: -5px; border-radius: 50%; background: var(--hg-gold); box-shadow: 0 0 18px rgba(217,170,69,.75); }
.hg-orbit-ring--outer { width: 82%; height: 82%; animation: hgOrbitSpin 22s linear infinite; }
.hg-orbit-ring--inner { width: 55%; height: 55%; border-style: dashed; animation: hgOrbitSpinReverse 16s linear infinite; }
.hg-orbit-core { position: relative; z-index: 3; width: 190px; height: 190px; display: flex; align-items: center; justify-content: center; flex-direction: column; border: 1px solid rgba(71,37,134,.22); border-radius: 50%; color: #fff; background: linear-gradient(145deg, #5f36a4, #2a174c); box-shadow: 0 24px 60px rgba(42,23,76,.28), inset 0 0 35px rgba(255,255,255,.09); animation: hgCorePulse 4s ease-in-out infinite; }
.hg-orbit-visual--recruitment .hg-orbit-core { background: linear-gradient(145deg, #167fae, #2a174c); }
.hg-orbit-core img { width: 58px; height: 58px; object-fit: contain; margin-bottom: 10px; filter: brightness(0) invert(1); }
.hg-orbit-core strong { font-size: 12px; letter-spacing: .1em; }
.hg-orbit-core small { margin-top: 5px; color: #d7cee2; font-size: 9px; }
.hg-orbit-node { position: absolute; z-index: 4; width: 100px; min-height: 72px; padding: 10px 8px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 1px solid rgba(71,37,134,.16); border-radius: 14px; color: var(--hg-purple-deep); background: rgba(255,255,255,.9); box-shadow: 0 12px 28px rgba(42,23,76,.13); backdrop-filter: blur(10px); animation: hgNodeFloat 3.6s ease-in-out infinite; animation-delay: calc(var(--node) * -.55s); }
.hg-orbit-node i { color: var(--hg-purple); font-size: 18px; }
.hg-orbit-visual--recruitment .hg-orbit-node i { color: #167fae; }
.hg-orbit-node b { font-size: 9px; letter-spacing: .03em; }
.hg-orbit-node[style*="--node:0"] { left: 50%; top: 1%; transform: translateX(-50%); }
.hg-orbit-node[style*="--node:1"] { right: 2%; top: 24%; }
.hg-orbit-node[style*="--node:2"] { right: 12%; bottom: 6%; }
.hg-orbit-node[style*="--node:3"] { left: 12%; bottom: 6%; }
.hg-orbit-node[style*="--node:4"] { left: 2%; top: 24%; }

/* Animated CV document stack */
.hg-cv-visual { position: relative; width: min(82%, 430px); height: 470px; display: grid; place-items: center; perspective: 1000px; }
.hg-cv-page { position: absolute; width: 285px; height: 390px; border-radius: 12px; background: #fff; box-shadow: 0 25px 65px rgba(42,23,76,.18); }
.hg-cv-page--back { transform: translate(38px, -18px) rotate(7deg); background: #ded4ed; }
.hg-cv-page--middle { transform: translate(-30px, 2px) rotate(-5deg); background: #eee8f6; }
.hg-cv-page--front { z-index: 2; padding: 24px; border: 1px solid rgba(71,37,134,.12); animation: hgCvHover 4.5s ease-in-out infinite; }
.hg-cv-profile { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid #eeeaf2; }
.hg-cv-profile > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--hg-purple); }
.hg-cv-profile div { flex: 1; }
.hg-cv-profile b, .hg-cv-profile small { display: block; height: 7px; border-radius: 9px; background: #30223d; }
.hg-cv-profile small { width: 60%; height: 5px; margin-top: 7px; background: #c4b9ce; }
.hg-cv-score { margin: 18px 0; padding: 10px; display: flex; align-items: center; gap: 7px; border-radius: 8px; color: #18794e; background: #eaf8f0; font-size: 9px; font-weight: 800; }
.hg-cv-score strong { margin-left: auto; font-size: 16px; }
.hg-cv-heading { width: 38%; height: 7px; margin: 14px 0 10px; border-radius: 8px; background: var(--hg-purple); }
.hg-cv-heading--second { margin-top: 20px; }
.hg-cv-line { height: 5px; margin: 8px 0; border-radius: 8px; background: #d9d2df; }
.hg-cv-line--short { width: 68%; }
.hg-cv-keywords { display: flex; gap: 5px; margin-top: 20px; }
.hg-cv-keywords span { padding: 5px 7px; border-radius: 99px; color: var(--hg-purple); background: #f0eafa; font-size: 7px; font-weight: 800; }
.hg-cv-scan { position: absolute; z-index: 4; width: 310px; height: 2px; top: 60px; background: linear-gradient(90deg, transparent, #44d28b, transparent); box-shadow: 0 0 15px #44d28b; animation: hgCvScan 3.4s ease-in-out infinite; }
.hg-cv-chip { position: absolute; z-index: 5; padding: 10px 12px; border-radius: 9px; color: #fff; background: var(--hg-purple-deep); box-shadow: 0 12px 28px rgba(42,23,76,.22); font-size: 9px; font-weight: 800; animation: hgNodeFloat 3.5s ease-in-out infinite; }
.hg-cv-chip i { color: var(--hg-gold-light); margin-right: 4px; }
.hg-cv-chip--one { right: -4px; top: 100px; }
.hg-cv-chip--two { left: -8px; bottom: 78px; animation-delay: -1.2s; }

/* Animated career compass and progression route */
.hg-career-visual { position: relative; width: min(88%, 500px); height: 470px; }
.hg-career-compass { position: absolute; left: 50%; top: 44%; width: 190px; height: 190px; display: grid; place-items: center; border: 1px solid rgba(71,37,134,.2); border-radius: 50%; color: var(--hg-purple); background: rgba(255,255,255,.8); box-shadow: 0 25px 65px rgba(42,23,76,.15); transform: translate(-50%, -50%); }
.hg-career-compass > i { font-size: 84px; animation: hgCompassPulse 3s ease-in-out infinite; }
.hg-career-compass__ring { position: absolute; inset: -24px; border: 1px dashed rgba(71,37,134,.3); border-radius: 50%; animation: hgOrbitSpin 18s linear infinite; }
.hg-career-compass__needle { position: absolute; z-index: 2; width: 4px; height: 72px; top: 22px; border-radius: 4px; background: linear-gradient(var(--hg-gold), transparent); transform-origin: 50% 73px; animation: hgNeedle 5s ease-in-out infinite; }
.hg-career-path { position: absolute; inset: 0; }
.hg-career-path__line { position: absolute; left: 11%; right: 11%; bottom: 70px; height: 3px; border-radius: 9px; background: linear-gradient(90deg, var(--hg-purple), var(--hg-gold)); transform-origin: left; animation: hgPathGrow 4s ease-in-out infinite; }
.hg-career-stop { position: absolute; bottom: 45px; width: 88px; display: flex; align-items: center; flex-direction: column; gap: 6px; color: var(--hg-purple-deep); font-size: 9px; animation: hgNodeFloat 3.5s ease-in-out infinite; }
.hg-career-stop i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--hg-purple); box-shadow: 0 10px 24px rgba(71,37,134,.22); font-size: 15px; }
.hg-career-stop--one { left: 3%; }
.hg-career-stop--two { left: 50%; transform: translateX(-50%); animation-delay: -.8s; }
.hg-career-stop--three { right: 3%; animation-delay: -1.6s; }
.hg-career-stop--three i { color: #291805; background: var(--hg-gold); }
.hg-career-goal { position: absolute; left: 50%; top: 35px; min-width: 220px; padding: 14px 18px; display: grid; grid-template-columns: 32px 1fr; border: 1px solid rgba(71,37,134,.15); border-radius: 12px; color: var(--hg-purple-deep); background: rgba(255,255,255,.86); box-shadow: 0 14px 35px rgba(42,23,76,.12); transform: translateX(-50%); }
.hg-career-goal i { grid-row: 1 / 3; align-self: center; color: var(--hg-gold); font-size: 20px; }
.hg-career-goal strong { font-size: 11px; }
.hg-career-goal span { color: var(--hg-muted); font-size: 8px; }

.hg-service-slide__content { padding: clamp(35px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; }
.hg-service-slide__audience { color: var(--hg-purple) !important; font-size: 12px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hg-service-slide__content h3 { margin: 15px 0 15px; font-size: clamp(37px, 4vw, 56px); line-height: 1; letter-spacing: -.045em; }
.hg-service-slide__content h4 { margin: 0 0 20px; color: #393142; font-size: 20px; line-height: 1.4; }
.hg-service-slide__content > p { color: var(--hg-muted); font-size: 16px; line-height: 1.7; }
.hg-service-slide__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 30px; }
.hg-text-link { color: var(--hg-ink); font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 5px; }
.hg-service-dots { display: flex; justify-content: center; gap: 8px; margin-top: 27px; }
.hg-service-dots button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 99px; background: #d5cfdd; cursor: pointer; transition: .25s; }
.hg-service-dots button.is-active { width: 34px; background: var(--hg-purple); }

.hg-award { padding: 110px 0; background: linear-gradient(135deg, #f4f0f8, #faf9fc); }
.hg-award__grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(50px, 8vw, 110px); align-items: center; }
.hg-award__copy h2 { margin: 0 0 25px; font-size: clamp(36px, 4.4vw, 61px); line-height: 1.04; letter-spacing: -.05em; }
.hg-award__copy > p { color: var(--hg-muted); font-size: 17px; line-height: 1.75; }
.hg-award__points { margin: 32px 0; border-top: 1px solid #dad3e1; }
.hg-award__points div { display: grid; grid-template-columns: 50px 1fr; gap: 15px; padding: 17px 0; border-bottom: 1px solid #dad3e1; }
.hg-award__points strong { color: var(--hg-gold); }
.hg-award__points span { font-weight: 700; }
.hg-award__frame { position: relative; padding: 14px; border-radius: 22px; background: #fff; box-shadow: 0 30px 80px rgba(33,17,57,.15); transform: rotate(1.4deg); }
.hg-award__frame::before { content: ""; position: absolute; inset: -13px 20px 20px -13px; z-index: -1; border: 1px solid rgba(71,37,134,.22); border-radius: 22px; }
.hg-award__frame img { width: 100%; height: 520px; object-fit: cover; border-radius: 13px; filter: saturate(.78); }
.hg-award__label { position: absolute; right: -20px; bottom: 34px; display: flex; align-items: center; gap: 13px; padding: 15px 18px; border-radius: 10px; color: #fff; background: var(--hg-purple-deep); box-shadow: 0 18px 40px rgba(0,0,0,.25); }
.hg-award__label i { color: var(--hg-gold-light); font-size: 25px; }
.hg-award__label strong, .hg-award__label span { display: block; }
.hg-award__label span { margin-top: 3px; color: #cfc6da; font-size: 10px; }

.hg-home-cta { position: relative; overflow: hidden; padding: 90px 0; color: #fff; background: linear-gradient(135deg, #110b1d, #2a174c 58%, #160d25); }
.hg-home-cta::before { content: ""; position: absolute; inset: 0; opacity: .07; background-image: linear-gradient(rgba(255,255,255,.3) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.3) 1px, transparent 1px); background-size: 50px 50px; }
.hg-home-cta__glow { position: absolute; width: 320px; height: 320px; border-radius: 50%; filter: blur(90px); pointer-events: none; }
.hg-home-cta__glow--left { left: -150px; top: -180px; background: rgba(217,170,69,.2); }
.hg-home-cta__glow--right { right: -110px; bottom: -200px; background: rgba(147,94,216,.3); }
.hg-home-cta__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 60px; }
.hg-home-cta h2 { max-width: 820px; margin: 0; font-size: clamp(36px, 4.4vw, 60px); line-height: 1.04; letter-spacing: -.05em; }
.hg-home-cta p:not(.hg-kicker) { max-width: 700px; margin: 20px 0 0; color: #cfc6da; font-size: 17px; line-height: 1.7; }
.hg-home-cta__actions { min-width: 245px; display: grid; gap: 12px; }

.hg-modal { position: fixed; inset: 0; z-index: 100000; display: grid; place-items: center; padding: 20px; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.hg-modal.is-open { opacity: 1; visibility: visible; }
.hg-modal__backdrop { position: absolute; inset: 0; background: rgba(10,6,17,.82); backdrop-filter: blur(8px); }
.hg-modal__dialog { position: relative; width: min(540px, 100%); max-height: calc(100vh - 30px); overflow-y: auto; padding: 38px; border-radius: 20px; background: #fff; box-shadow: 0 30px 100px rgba(0,0,0,.45); transform: translateY(20px) scale(.98); transition: transform .3s; }
.hg-modal.is-open .hg-modal__dialog { transform: none; }
.hg-modal__close { position: absolute; right: 16px; top: 14px; width: 36px; height: 36px; border: 0; border-radius: 50%; color: #655e6c; background: #f2eef5; font-size: 25px; cursor: pointer; }
.hg-offer-badge { position: absolute; right: 66px; top: 17px; display: flex; align-items: center; gap: 7px; color: #714b0d; font-size: 10px; font-weight: 900; letter-spacing: .07em; }
.hg-offer-badge i { color: var(--hg-gold); font-size: 8px; }
.hg-offer-badge small { display: block; font-size: 7px; letter-spacing: .16em; }
.hg-modal__dialog h2 { margin: 0; font-size: 34px; line-height: 1.08; letter-spacing: -.04em; }
.hg-modal__intro { margin: 10px 0 24px; color: var(--hg-muted); }
.hg-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.hg-form-grid label { display: block; }
.hg-form-grid label > span { display: block; margin-bottom: 7px; color: #413a47; font-size: 12px; font-weight: 800; }
.hg-form-full { grid-column: 1 / -1; }
.hg-form-grid input, .hg-form-grid select { width: 100%; min-height: 48px; padding: 0 13px; border: 1px solid #d9d3df; border-radius: 8px; outline: 0; background: #fff; color: var(--hg-ink); }
.hg-form-grid input:focus, .hg-form-grid select:focus { border-color: var(--hg-purple); box-shadow: 0 0 0 3px rgba(71,37,134,.1); }
.hg-consent { display: flex; align-items: flex-start; gap: 9px; margin: 16px 0; color: var(--hg-muted); font-size: 12px; }
.hg-consent input { margin-top: 2px; accent-color: var(--hg-purple); }
.hg-form-submit { width: 100%; }
.hg-privacy { margin: 12px 0 0; color: #8a8390; text-align: center; font-size: 10px; }
.hg-form-status { min-height: 20px; margin: 0 0 8px; color: #b42318; font-size: 12px; text-align: center; }
.hg-form-status.is-success { color: #18794e; }
.hg-honeypot { position: absolute !important; left: -99999px !important; opacity: 0 !important; }
.hg-whatsapp { position: fixed; z-index: 9999; left: 22px; bottom: 22px; width: 54px; height: 54px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #25d366; box-shadow: 0 12px 35px rgba(0,0,0,.25); font-size: 27px; transition: transform .25s; }
.hg-whatsapp:hover { transform: scale(1.08); }

/* CV concierge — delayed slide-in prompt */
.hc-cv-concierge {
  position: fixed;
  bottom: 5.5rem;
  right: 1rem;
  z-index: 9998;
  width: min(340px, calc(100vw - 2rem));
  transform: translateX(calc(100% + 2rem));
  opacity: 0;
  transition: transform 0.65s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.5s ease;
  pointer-events: none;
}

.hc-cv-concierge.is-visible {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}

.hc-cv-concierge-inner {
  padding: 1.15rem 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(145deg, #fff 0%, #faf5ff 100%);
  border: 1px solid rgba(71, 37, 134, 0.2);
  box-shadow: 0 20px 50px rgba(71, 37, 134, 0.25);
}

.hc-cv-concierge-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.65rem;
}

.hc-cv-concierge-head h4 {
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--hg-purple);
  line-height: 1.3;
}

.hc-cv-concierge-head h4 i {
  margin-right: 0.35rem;
  color: var(--hg-gold);
}

.hc-cv-concierge-close {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 0.5rem;
  background: rgba(71, 37, 134, 0.1);
  color: var(--hg-purple);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}

.hc-cv-concierge p {
  font-size: 0.8rem;
  color: var(--hg-muted);
  line-height: 1.5;
  margin-bottom: 0.85rem;
}

.hc-cv-concierge-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  padding: 0.65rem 1rem;
  border-radius: 0.65rem;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, var(--hg-purple), #6b4a9e);
}

.hc-cv-concierge-mini {
  position: fixed;
  bottom: 5.5rem;
  right: 1rem;
  z-index: 9997;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, var(--hg-purple), #6b4a9e);
  box-shadow: 0 8px 28px rgba(71, 37, 134, 0.35);
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
}

.hc-cv-concierge-mini.is-visible {
  display: flex;
}

@media (min-width: 768px) {
  .hc-cv-concierge,
  .hc-cv-concierge-mini {
    right: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hc-cv-concierge {
    transition: opacity 0.3s ease;
    transform: none;
  }
  .hc-cv-concierge:not(.is-visible) {
    transform: none;
  }
}

[data-home-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .75s ease, transform .75s ease; }
[data-home-reveal].is-visible { opacity: 1; transform: none; }

@keyframes hgFloat { 50% { transform: translate(-18px, 20px); } }
@keyframes hgCue { 50% { transform: scaleY(.6); opacity: .5; } }
@keyframes hgOrbitSpin { to { transform: rotate(360deg); } }
@keyframes hgOrbitSpinReverse { to { transform: rotate(-360deg); } }
@keyframes hgCorePulse { 50% { transform: scale(1.035); box-shadow: 0 30px 72px rgba(42,23,76,.32), inset 0 0 45px rgba(255,255,255,.13); } }
@keyframes hgNodeFloat { 50% { margin-top: -9px; } }
@keyframes hgCvHover { 50% { transform: translateY(-10px) rotateX(1deg); } }
@keyframes hgCvScan { 0%, 100% { transform: translateY(0); opacity: 0; } 15%, 85% { opacity: 1; } 50% { transform: translateY(320px); } }
@keyframes hgCompassPulse { 50% { transform: scale(1.06); color: #6b3bae; } }
@keyframes hgNeedle { 0%, 100% { transform: rotate(-35deg); } 50% { transform: rotate(45deg); } }
@keyframes hgPathGrow { 0%, 15% { transform: scaleX(.08); opacity: .4; } 60%, 100% { transform: scaleX(1); opacity: 1; } }

@media (max-width: 900px) {
  .hg-hero__inner, .hg-award__grid, .hg-brand__grid { grid-template-columns: 1fr; }
  .hg-stats__grid { grid-template-columns: repeat(2, 1fr); }
  .hg-brand__visual { order: -1; }
  .hg-home-cta__inner { grid-template-columns: 1fr; gap: 34px; text-align: center; }
  .hg-home-cta .hg-kicker { justify-content: center; }
  .hg-home-cta p:not(.hg-kicker) { margin-inline: auto; }
  .hg-home-cta__actions { width: min(100%, 360px); margin-inline: auto; }
  .hg-hero__inner { padding-top: 120px; text-align: center; }
  .hg-hero__copy { margin-inline: auto; }
  .hg-kicker, .hg-hero__actions, .hg-trust-row { justify-content: center; }
  .hg-command-card { max-width: 560px; margin-inline: auto; transform: none; text-align: left; }
  .hg-service-track { min-height: 940px; }
  .hg-service-slide { grid-template-columns: 1fr; }
  .hg-service-slide__image,
  .hg-service-slide__content { min-width: 0; }
  .hg-service-slide__image { min-height: 540px; padding: 24px 16px; box-sizing: border-box; }
  .hg-orbit-visual { width: min(92%, 360px); margin-inline: auto; transform: none; }
  .hg-service-slide__content { padding: 36px; }
  .hg-award__frame img { height: 430px; }
}

@media (max-width: 640px) {
  .hg-shell { width: min(100% - 28px, 1180px); }
  .hg-stats { padding: 56px 0; }
  .hg-stats__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .hg-stat-card { padding: 22px 14px; }
  .hg-stat-card__label { font-size: 12px; }
  .hg-brand { padding: 72px 0; }
  .hg-brand__frame img { height: 320px; }
  .hg-hero { min-height: auto; }
  .hg-hero__inner { min-height: auto; padding: 112px 0 80px; }
  .hg-hero h1 { font-size: 43px; }
  .hg-trust-row { display: grid; grid-template-columns: 1fr; gap: 8px; }
  .hg-command-card { padding: 20px; }
  .hg-command-card__services { grid-template-columns: 1fr; }
  .hg-command-card__mark { margin-top: 26px; }
  .hg-scroll-cue { display: none; }
  .hg-services, .hg-award { padding: 76px 0; }
  .hg-home-cta { padding: 72px 0; }
  .hg-section-head { align-items: flex-start; flex-direction: column; }
  .hg-service-track { min-height: 930px; }
  .hg-service-slide__image,
  .hg-service-slide__content { min-width: 0; }
  .hg-service-slide__image { min-height: 420px; padding: 20px 14px; box-sizing: border-box; }
  .hg-orbit-visual {
    width: min(100%, 290px);
    max-width: 100%;
    margin-inline: auto;
    transform: none;
  }
  .hg-orbit-core { width: 128px; height: 128px; }
  .hg-orbit-core img { width: 42px; height: 42px; margin-bottom: 6px; }
  .hg-orbit-core strong { font-size: 10px; }
  .hg-orbit-node { width: 68px; min-height: 54px; padding: 7px 5px; }
  .hg-orbit-node i { font-size: 15px; }
  .hg-orbit-node b { font-size: 8px; }
  .hg-orbit-node[style*="--node:0"] { top: 3%; }
  .hg-orbit-node[style*="--node:1"] { right: 8%; top: 20%; }
  .hg-orbit-node[style*="--node:2"] { right: 14%; bottom: 10%; }
  .hg-orbit-node[style*="--node:3"] { left: 14%; bottom: 10%; }
  .hg-orbit-node[style*="--node:4"] { left: 8%; top: 20%; }
  .hg-cv-visual, .hg-career-visual { transform: scale(.84); }
  .hg-service-slide__content { padding: 28px 22px; justify-content: flex-start; }
  .hg-service-slide__content h3 { font-size: clamp(30px, 8.5vw, 38px); overflow-wrap: anywhere; }
  .hg-service-slide__content h4 { font-size: 17px; }
  .hg-service-slide__actions { align-items: stretch; flex-direction: column; }
  .hg-award__copy h2 { font-size: 39px; }
  .hg-award__frame img { height: 340px; }
  .hg-award__label { right: 5px; bottom: 20px; }
  .hg-modal__dialog { padding: 52px 22px 26px; }
  .hg-offer-badge { left: 22px; right: auto; top: 20px; }
  .hg-form-grid { grid-template-columns: 1fr; }
  .hg-form-full { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .hg-brand-point { animation: none; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
