/* Vahid Hero 1.0.1 — single source for the component; shared tokens from Vahid child theme. */
.vgh-hero{--vgh-green:var(--vg-green,#14543d);--vgh-deep:var(--vg-green-deep,#0a2b20);--vgh-orange:var(--vg-orange,#f58220);position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(135deg,#fafcfb,#f1f7f4 60%,#edf4f0);color:var(--vgh-deep);font-family:"Vahid-Yekan","Vahid Yekan",Tahoma,sans-serif;font-size:17px;line-height:1.9;width:100%}
.vgh-hero *{box-sizing:border-box}.vgh-hero--fa{direction:rtl;text-align:right}.vgh-hero.vgh-hero--en{direction:ltr;text-align:left;font-family:Manrope,Arial,sans-serif}.vgh-hero a{font-family:inherit}
.vgh-grid{position:absolute;inset:0;z-index:-3;opacity:.45;background-image:linear-gradient(#14543d09 1px,transparent 1px),linear-gradient(90deg,#14543d09 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(90deg,transparent,#000 18%,#000 80%,transparent)}
.vgh-inner{width:min(calc(100% - 40px),var(--vg-container,1240px));margin-inline:auto;min-height:clamp(600px,76svh,780px);display:grid;grid-template-columns:1.03fr .97fr;grid-template-areas:"copy image";align-items:center;gap:34px;padding:52px 0 90px}
.vgh-overlay .vgh-inner{padding-top:124px;min-height:clamp(650px,80svh,830px)}
.vgh-copy{grid-area:copy;padding-inline-start:10px;z-index:2;min-width:0}.vgh-kicker{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--vgh-green);background:#ffffffb3;border:1px solid #14543d21;border-radius:8px;padding:7px 11px;line-height:1.8}.vgh-kicker i{flex:0 0 9px;height:9px;background:var(--vgh-orange);border-radius:50%;box-shadow:0 0 0 5px #f582201f}
.vgh-hero .vgh-title{font-family:inherit;font-size:clamp(48px,5.8vw,74px);line-height:1.3;letter-spacing:0;font-weight:800;color:var(--vgh-deep);margin:20px 0 16px;overflow-wrap:break-word}.vgh-title span{display:block;color:var(--vgh-green)}
.vgh-hero .vgh-description{font-size:18px;line-height:1.95;color:#53675e;max-width:620px;margin:0 0 28px;overflow-wrap:anywhere}.vgh-description strong{color:var(--vgh-deep)}
.vgh-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.vgh-hero .vgh-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 18px;border:1px solid transparent;border-radius:var(--vg-radius-sm,10px);font-size:14.5px;font-weight:700;line-height:1.8;text-decoration:none;max-width:100%;transition:background-color 180ms ease,color 180ms ease;overflow-wrap:anywhere}.vgh-button svg{flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8}.vgh-hero--fa .vgh-button svg{transform:rotate(180deg)}
.vgh-hero .vgh-button--primary{background:var(--vgh-green);color:#fff}.vgh-hero .vgh-button--primary:hover{background:var(--vgh-deep);color:#fff}.vgh-hero .vgh-button--secondary{background:#fff;border-color:#14543d29;color:var(--vgh-green)}.vgh-hero .vgh-button--secondary:hover{background:#e7f0ea;color:var(--vgh-deep)}.vgh-button:focus-visible{outline:3px solid var(--vgh-orange);outline-offset:4px}
.vgh-hero .vgh-points{list-style:none;display:flex;gap:12px 17px;flex-wrap:wrap;padding:0;margin:28px 0 0;color:#53675e;font-size:13px;font-weight:700}.vgh-points li{display:flex;align-items:center;gap:7px;line-height:1.8}.vgh-points li:before{content:"";flex:0 0 5px;height:5px;background:var(--vgh-orange);border-radius:50%}
.vgh-visual{grid-area:image;position:relative;height:min(590px,62svh);min-height:485px;min-width:0}.vgh-image{position:absolute;inset:12px 0 0 4%;border-radius:28px 28px 86px 28px;overflow:hidden;border:1px solid #14543d1f;box-shadow:0 30px 72px #082b1f1f;background:#e6eee8}.vgh-image img{display:block;width:100%;height:100%;max-width:100%;object-fit:cover;object-position:center}.vgh-focus--top .vgh-image img{object-position:50% 0}.vgh-focus--left .vgh-image img{object-position:0 50%}.vgh-focus--right .vgh-image img{object-position:100% 50%}
.vgh-image:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f8fbf9c2 0%,#f8fbf914 27%,transparent 47%),linear-gradient(180deg,transparent 65%,#0a2b2026)}
.vgh-tech{position:absolute;inset:28px 18px 18px 9%;z-index:1;border:1px solid #ffffffb3;border-radius:20px 20px 75px 20px;pointer-events:none}.vgh-orbit{position:absolute;left:12%;top:7%;z-index:2;width:128px;height:128px;border:1px solid #f582204d;border-radius:50%;pointer-events:none}.vgh-orbit:before{content:"";position:absolute;left:8px;top:21px;width:13px;height:13px;border-radius:50%;background:var(--vgh-orange);box-shadow:0 0 0 7px #f582201f}
.vgh-badge{position:absolute;z-index:3;left:-10px;bottom:42px;width:min(260px,90%);padding:16px 17px;border-radius:14px;background:#fffffff2;border:1px solid #14543d26;box-shadow:0 0 0 1px #14543d33,0 0 25px #14543d1c,0 16px 36px #082b1f1a}.vgh-meta{display:block;font-family:Manrope,"Vahid-Yekan","Vahid Yekan",sans-serif;font-size:10px;line-height:1.7;color:#914000;letter-spacing:.06em;font-weight:700;overflow-wrap:anywhere}.vgh-badge strong{display:block;font-size:16px;line-height:1.7;color:var(--vgh-deep);margin-top:4px}
.vgh-hero--en .vgh-title{letter-spacing:-.045em;line-height:1.08;font-weight:700}.vgh-hero--en .vgh-description{font-size:17px;line-height:1.75}.vgh-hero--en .vgh-button{font-size:14px}
.vgh-journey{position:absolute;inset:0;z-index:-2;overflow:hidden;pointer-events:none;mask-image:linear-gradient(90deg,#000 0%,#000 47%,#00000047 68%,transparent 100%)}.vgh-journey svg{position:absolute;inset:0;width:100%;height:100%;opacity:.68}.vgh-journey .vgh-path{fill:none;stroke:#14543d2e;stroke-width:2.45;vector-effect:non-scaling-stroke;stroke-linecap:round;stroke-linejoin:round}.vgh-journey .vgh-head{fill:none;stroke:var(--vgh-orange);stroke-width:3;stroke-linecap:round;stroke-dasharray:.038 .962;opacity:0;vector-effect:non-scaling-stroke}.vgh-journey .vgh-mobile{display:none}
.vgh-motion .vgh-path{animation:vgh-draw 4.8s cubic-bezier(.5,0,.22,1) both}.vgh-motion .vgh-head{animation:vgh-travel 4.8s cubic-bezier(.5,0,.22,1) both}.vgh-motion .vgh-orbit{animation:vgh-orbit 18s linear infinite}
@keyframes vgh-draw{from{stroke-dasharray:1;stroke-dashoffset:1}to{stroke-dasharray:1;stroke-dashoffset:0}}@keyframes vgh-travel{0%{stroke-dashoffset:0;opacity:0}4%,90%{opacity:.6}100%{stroke-dashoffset:-.962;opacity:0}}@keyframes vgh-orbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.vgh-setup{display:block;font-size:13px;color:#773c05;border:1px dashed currentColor;padding:8px}
@media(max-width:1100px){.vgh-hero .vgh-title{font-size:56px}}
@media(max-width:1024px){.vgh-inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"image" "copy";gap:32px;padding:32px 0 90px;min-height:0}.vgh-overlay .vgh-inner{padding-top:112px;min-height:0}.vgh-visual{height:470px;min-height:0}.vgh-copy{padding:0}.vgh-hero .vgh-description{font-size:17px}}
@media(max-width:767px){.vgh-inner{width:calc(100% - 32px);gap:24px;padding-top:24px}.vgh-overlay .vgh-inner{padding-top:102px}.vgh-visual{height:390px}.vgh-image{inset:0}.vgh-tech{inset:16px}.vgh-hero .vgh-title{font-size:43px}.vgh-button{width:100%}.vgh-badge{left:0;bottom:18px;width:220px;padding:12px 14px}.vgh-orbit{width:100px;height:100px;left:4%}.vgh-journey .vgh-desktop{display:none}.vgh-journey .vgh-mobile{display:block}.vgh-journey{mask-image:linear-gradient(180deg,#000,#0000008c 46%,transparent)}.vgh-meta{font-size:10px}}
@media(max-width:460px){.vgh-hero .vgh-title{font-size:37px}.vgh-orbit{display:none}.vgh-visual{height:360px}.vgh-kicker{font-size:12px}.vgh-hero .vgh-points{font-size:13px}}
@media(prefers-reduced-motion:reduce){.vgh-hero *, .vgh-hero *:before{animation:none!important;transition:none!important}.vgh-head{opacity:0!important}}

/* Keep the moving dot exactly on the circular path at every orbit size. */
.vgh-orbit:before{left:50%;top:0;transform:translate(-50%,-50%)}

/* Header owns overlap measurement; standalone fallback remains supported. */
.vgh-hero.vgh-header-linked .vgh-inner{padding-top:calc(var(--vgh-header-space,0px) + clamp(28px,4vw,52px))}
.vgh-hero[dir=ltr]{font-family:Manrope,Arial,sans-serif}
.vgh-hero[dir=rtl]{font-family:"Vahid Yekan",Tahoma,sans-serif}
.vgh-hero .vgh-button{border-radius:var(--vg-button-radius,9px)}

/* Inline emphasis inside a badge must not become another block or inherit
   the outer badge text's top margin and fixed type size. */
.vgh-badge > strong strong{display:inline;font-size:inherit;line-height:inherit;margin:0}
.vgh-kicker > span i{display:inline;flex:initial;height:auto;background:none;border-radius:0;box-shadow:none}

/* Optional image layout controls (1.18.4). With no new settings, every
   fallback matches the existing layout, including its responsive sizes. */
.vgh-hero .vgh-visual{
  --vgh-legacy-height:min(590px,62svh);
  --vgh-legacy-min:485px;
  --vgh-legacy-inset:12px 0 0 4%;
  --vgh-legacy-badge-bottom:42px;
  --vgh-legacy-badge-left:-10px;
  height:var(--vgh-visual-height,var(--vgh-legacy-height));
  min-height:var(--vgh-visual-min,var(--vgh-legacy-min));
}
.vgh-hero .vgh-image{
  position:var(--vgh-frame-position,absolute);
  inset:var(--vgh-frame-inset,var(--vgh-legacy-inset));
  width:var(--vgh-frame-width,auto);
  height:var(--vgh-active-height,auto);
  aspect-ratio:var(--vgh-active-ratio,auto);
  border-radius:var(--vgh-frame-radius,var(--vgh-mode-radius,28px 28px 86px 28px));
}
.vgh-hero .vgh-image img{
  position:var(--vgh-img-position,static);
  inset:var(--vgh-img-inset,auto);
  height:var(--vgh-img-height,100%);
  object-fit:var(--vgh-fit,cover);
}
@media(min-width:1025px){
  .vgh-hero .vgh-inner{grid-template-columns:var(--vgh-grid-columns,1.03fr .97fr)}
}
@media(max-width:1024px){
  .vgh-hero .vgh-visual{--vgh-legacy-height:470px;--vgh-legacy-min:0px}
}
@media(max-width:767px){
  .vgh-hero .vgh-visual{--vgh-legacy-height:390px;--vgh-legacy-inset:0;--vgh-legacy-badge-bottom:18px;--vgh-legacy-badge-left:0px}
}
@media(max-width:460px){
  .vgh-hero .vgh-visual{--vgh-legacy-height:360px}
}
