/* Techeed Origin. Everything here is scoped to the opening section and header. */
/* Empty legacy lighting layers must never occupy document flow (702px on mobile). */
body > .ambient-glow { position: fixed; pointer-events: none; }
header[data-hero-header] {
  height: 78px; background: rgba(6, 6, 8, .82); backdrop-filter: blur(22px);
  border-bottom-color: rgba(255,255,255,.08);
}
header[data-hero-header]::after {
  content: ''; position: absolute; inset: auto 0 -1px; height: 1px; pointer-events: none;
  background: linear-gradient(90deg,transparent 6%,var(--primary) 36%,#9be7f1 53%,transparent 90%); opacity: .65;
}
header[data-hero-header] .logo { font-size: 25px; letter-spacing: -1.5px; }
header[data-hero-header] .logo small { font-size: 7px; letter-spacing: 1.8px; }
header[data-hero-header] .hdr-btn { border-radius: 12px; background: rgba(255,255,255,.035); }
header[data-hero-header] .nav-links a { letter-spacing: 1px; font-size: 11px; }
.hero.hero-v2 {
  --hero-white: #f4f7fc; --hero-muted: #b0b8c9; --hero-cyan: #8be8f0;
  position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: 1.06fr 1fr; grid-template-rows: repeat(5,auto);
  column-gap: 1%; row-gap: 22px; align-content: center; justify-content: initial;
  min-height: min(900px, 100svh); padding: 136px clamp(24px,7vw,100px) 90px !important;
  background: radial-gradient(ellipse at 74% 46%,rgba(29,47,64,.27),transparent 50%), #060608;
}
.hero.hero-v2::after { display: none; }
.hero-v2__grid {
  position: absolute; inset: 0; z-index: -1; opacity: .24; pointer-events: none;
  background-image: linear-gradient(rgba(130,165,190,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(130,165,190,.14) 1px,transparent 1px);
  background-size: 64px 64px; mask-image: radial-gradient(ellipse at 70% 45%,#000 0%,transparent 70%);
}
.hero-v2__author { grid-area: 1 / 1; display: flex; gap: 14px; align-items: center; align-self: end; z-index: 2; }
.hero-v2__author-line { display: block; width: 3px; height: 37px; background: var(--primary); box-shadow: 0 0 18px var(--primary-glow); }
.hero-v2__author strong { display: block; font-family: var(--font-heading); font-size: 17px; font-weight: 600; color: var(--hero-white); }
.hero-v2__author div > span { display: block; font-size: 11px; color: var(--hero-muted); margin-top: 4px; }
.hero-v2 h1.hero-v2__title {
  grid-area: 2 / 1; font-size: clamp(44px,5.3vw,78px) !important; line-height: 1.08 !important;
  margin: 0; padding: 0; letter-spacing: -.055em; font-weight: 700; color: var(--hero-white); z-index: 2;
}
.hero-v2__title > span { display: block; }
.hero-v2 p.hero-v2__lead {
  grid-area: 3 / 1; margin: 0; max-width: 470px; color: var(--hero-muted);
  font-size: 16px; line-height: 1.85; z-index: 2;
}
.hero-v2__actions { grid-area: 4 / 1; display: flex; align-items: center; gap: 22px; flex-wrap: wrap; z-index: 2; margin-top: 4px; }
.hero-v2__primary, .hero-v2__secondary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 50px; font-size: 13px; font-weight: 700; text-decoration: none; }
.hero-v2__primary {
  position: relative; overflow: hidden; padding: 0 22px; border: 1px solid var(--primary); border-radius: 8px;
  color: #090b10; background: var(--primary); box-shadow: 0 6px 36px -12px var(--primary);
  transition: box-shadow .2s, transform .2s;
}
.hero-v2__primary::before {
  content: ''; position: absolute; top: -80%; bottom: -80%; width: 35%; left: -60%; pointer-events: none;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent); transform: skewX(-25deg);
  animation: hero-button-light 7s ease-in-out infinite;
}
.hero-v2__primary:hover { color: #090b10; box-shadow: 0 8px 42px -10px var(--primary); transform: translateY(-2px); }
.hero-v2__secondary { color: var(--hero-white); padding: 0 2px; border-bottom: 1px solid rgba(255,255,255,.18); }
.hero-v2__secondary:hover { color: var(--hero-cyan); }
.hero-v2__availability { grid-area: 5 / 1; display: flex; align-items: center; gap: 9px; color: var(--hero-muted); font-size: 11px; z-index: 2; }
.hero-v2__availability > span:first-child { width: 5px; height: 5px; flex-shrink: 0; border-radius: 50%; background: #68d6ad; box-shadow: 0 0 10px #68d6ad66; }
.hero-v2__scene {
  grid-area: 1 / 2 / 6 / 3; position: relative; align-self: center; min-width: 0;
  height: clamp(440px,44vw,600px); direction: ltr; touch-action: pan-y; perspective: 800px;
}
.hero-v2__scene::before {
  content: ''; position: absolute; inset: 4% -8%; border: 1px solid rgba(130,165,190,.06);
  border-radius: 50%; transform: rotate(-25deg) scaleY(.76); pointer-events: none;
}
.hero-v2__aura {
  position: absolute; inset: 15% -5%; border-radius: 50%; opacity: .65; pointer-events: none;
  background: radial-gradient(ellipse,var(--primary-glow),transparent 68%); filter: blur(36px);
}
.hero-v2 #hero-field { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: none; max-height: none; opacity: 1; cursor: crosshair; }
.hero-v2__fallback { position: absolute; inset: 0; display: grid; place-items: center; font: 900 240px/1 var(--font-heading); color: var(--primary); text-shadow: 0 0 60px var(--primary-glow); }
.hero-v2__scene.is-rendered .hero-v2__fallback { display: none; }
.hero-v2__scene-top, .hero-v2__scene-bottom { position: absolute; inset-inline: 14px; display: flex; justify-content: space-between; align-items: center; font-family: var(--font-mono); font-size: 9px; color: #a4afc2; letter-spacing: .08em; }
.hero-v2__scene-top { top: 14px; }
.hero-v2__scene-bottom { bottom: 10px; letter-spacing: 0; gap: 10px; font-size: 10px; }
.hero-v2__live { display: flex; align-items: center; gap: 6px; }
.hero-v2__live i { display: block; width: 4px; height: 4px; background: var(--hero-cyan); border-radius: 50%; }
.hero-v2__scene-bottom button {
  display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0;
  background: rgba(20,26,36,.7); color: #c0cadd; border: 1px solid rgba(170,192,220,.18); border-radius: 50%; cursor: pointer;
}
.hero-v2__play-icon { display: none; }
.hero-effects-paused .hero-v2__play-icon { display: block; }
.hero-effects-paused .hero-v2__pause-icon { display: none; }
.hero-v2__skill { position: absolute; display: flex; gap: 8px; align-items: center; font-size: 10px; font-family: var(--font-mono); color: #c4cedb; padding: 8px 10px; border: 1px solid rgba(151,188,210,.18); border-radius: 4px; background: rgba(8,12,20,.8); backdrop-filter: blur(12px); pointer-events: none; }
.hero-v2__skill--ai { top: 26%; right: -1%; }
.hero-v2__skill--web { top: 62%; left: -4%; }
.hero-v2__skill--auto { bottom: 18%; right: 2%; }
.hero-v2__skill-dot { width: 4px; height: 4px; background: var(--primary); border-radius: 50%; box-shadow: 0 0 8px var(--primary); }
.hero-v2__reticle { position: absolute; inset: 0; pointer-events: none; }
.hero-v2__reticle span { position: absolute; width: 14px; height: 14px; border: solid rgba(178,208,225,.35); }
.hero-v2__reticle span:nth-child(1) { top: 0; left: 0; border-width: 1px 0 0 1px; }
.hero-v2__reticle span:nth-child(2) { top: 0; right: 0; border-width: 1px 1px 0 0; }
.hero-v2__reticle span:nth-child(3) { bottom: 0; right: 0; border-width: 0 1px 1px 0; }
.hero-v2__reticle span:nth-child(4) { bottom: 0; left: 0; border-width: 0 0 1px 1px; }
.hero-v2__scroll { position: absolute; bottom: 24px; inset-inline: 0; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; font-size: 10px; color: #a4afc2; text-decoration: none; z-index: 2; }
.hero-v2__scroll svg { animation: hero-scroll-nudge 3s ease-in-out infinite; }
.hero-effects-paused *, .hero-effects-paused *::before { animation-play-state: paused !important; }
body.rtl-mode .hero-v2__author strong, body.rtl-mode .hero-v2 h1.hero-v2__title { font-family: var(--font-persian); }
body.rtl-mode .hero-v2 h1.hero-v2__title { font-size: clamp(48px,5.6vw,80px) !important; line-height: 1.22 !important; }
body.rtl-mode .hero-v2__scene-bottom > span { direction: rtl; font-family: var(--font-persian); font-size: 11px; }
body.rtl-mode .hero-v2__skill { font-family: var(--font-persian); font-size: 11px; }
[data-theme="light"] header[data-hero-header] { background: rgba(6,6,8,.94); color: #f4f7fc; }
[data-theme="light"] header[data-hero-header] .logo, [data-theme="light"] header[data-hero-header] .hdr-btn { color: #f4f7fc; }
[data-theme="light"] .hero-v2 .hero-v2__title { color: var(--hero-white); }
@keyframes hero-button-light { 0%,75% { left: -60%; } 92%,100% { left: 140%; } }
@keyframes hero-scroll-nudge { 0%,65%,100% { transform: translateY(0); } 80% { transform: translateY(4px); } }
@media (max-width: 1100px) and (min-width: 951px) {
  .hero.hero-v2 { padding-inline: 5% !important; column-gap: 3%; }
  .hero-v2__actions { gap: 14px; }
  .hero-v2__primary, .hero-v2__secondary { font-size: 12px; }
}
@media (max-width: 950px) {
  header[data-hero-header] { height: 70px; padding-inline: 5%; }
  header[data-hero-header] .logo { font-size: 23px; }
  header[data-hero-header] .navigation-panel { inset-block-start: calc(100% + 8px); }
  .hero.hero-v2 {
    display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: auto;
    min-height: 0 !important; padding: 96px 6% 26px !important; row-gap: 16px;
    align-content: start; background: radial-gradient(ellipse at 60% 43%,rgba(28,42,58,.32),transparent 65%),#060608;
  }
  .hero-v2__author { grid-area: auto; gap: 10px; }
  .hero-v2__author-line { height: 29px; width: 2px; }
  .hero-v2__author strong { font-size: 14px; }
  .hero-v2__author div > span { font-size: 10px; margin-top: 2px; }
  .hero-v2 h1.hero-v2__title { grid-area: auto; font-size: clamp(36px,8.7vw,60px) !important; line-height: 1.08 !important; margin: 2px 0 0; }
  body.rtl-mode .hero-v2 h1.hero-v2__title { font-size: clamp(38px,9.5vw,62px) !important; line-height: 1.18 !important; }
  .hero-v2__scene { grid-area: auto; height: clamp(220px,49vw,320px); margin: 0 -2%; }
  .hero-v2__scene-top { font-size: 8px; top: 8px; inset-inline: 10px; }
  .hero-v2__scene-bottom { bottom: 2px; inset-inline: 10px; font-size: 10px; }
  .hero-v2__scene-bottom button { width: 44px; height: 44px; min-height: 44px; }
  .hero-v2__skill { padding: 5px 7px; font-size: 8px; gap: 5px; }
  body.rtl-mode .hero-v2__skill { font-size: 9px; }
  .hero-v2__skill--ai { top: 25%; right: 0; }
  .hero-v2__skill--web { top: 59%; left: 0; }
  .hero-v2__skill--auto { bottom: 19%; right: 0; }
  .hero-v2 p.hero-v2__lead { grid-area: auto; font-size: 14px; line-height: 1.8; max-width: 580px; }
  body.rtl-mode .hero-v2 p.hero-v2__lead { line-height: 1.85; }
  .hero-v2__actions { grid-area: auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: 16px; margin-top: 2px; }
  .hero-v2__primary, .hero-v2__secondary { font-size: 11px; gap: 8px; min-height: 48px; white-space: nowrap; }
  .hero-v2__primary { padding-inline: 12px; }
  .hero-v2__availability { grid-area: auto; font-size: 10px; }
  .hero-v2__scroll { position: static; grid-area: auto; justify-content: flex-start; min-height: 30px; margin-top: 0; font-size: 9px; }
  .hero-v2__fallback { font-size: 160px; }
}
@media (min-width: 601px) and (max-width: 950px) {
  .hero.hero-v2 { grid-template-columns: 1.1fr 1fr; column-gap: 4%; padding-block: 118px 44px !important; }
  .hero-v2__author { grid-area: 1/1; }
  .hero-v2 h1.hero-v2__title { grid-area: 2/1; font-size: 40px !important; }
  body.rtl-mode .hero-v2 h1.hero-v2__title { font-size: 44px !important; }
  .hero-v2__scene { grid-area: 1/2/5/3; height: 340px; }
  .hero-v2 p.hero-v2__lead { grid-area: 3/1; }
  .hero-v2__actions { grid-area: 4/1; grid-template-columns: 1fr; gap: 6px; }
  .hero-v2__availability { grid-area: 5/1/6/3; }
  .hero-v2__scroll { grid-area: 6/1; }
}
@media (max-width: 359px) {
  .hero.hero-v2 { padding-inline: 5% !important; row-gap: 13px; }
  .hero-v2 h1.hero-v2__title { font-size: 33px !important; }
  body.rtl-mode .hero-v2 h1.hero-v2__title { font-size: 37px !important; }
  .hero-v2__scene { height: 205px; }
  .hero-v2__actions { gap: 10px; }
  .hero-v2__primary, .hero-v2__secondary { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-v2 *, .hero-v2 *::before { animation: none !important; transition: none !important; }
}
