/* ============================================================
   LANDING REDESIGN v2 — "Scroll-Triggered Storytelling"
   Bold editorial reinterpretation of irannovin.net's scroll
   language, rebuilt in UrumSima's green identity.
   Loads last → wins the cascade.
   ============================================================ */

/* ─────────────────────────────────────────────
   1. SCROLL PROGRESS RAIL (top of page)
   ───────────────────────────────────────────── */
.scroll-rail{
  position:fixed;top:0;right:0;left:0;height:3px;z-index:9999;
  background:transparent;pointer-events:none;
}
.scroll-rail__fill{
  height:100%;width:0;transform-origin:right center;
  background:linear-gradient(90deg,#064d3a,#0E946E,#5ef0c4);
  box-shadow:0 0 14px rgba(94,240,196,.7);
  transition:width .08s linear;
}

/* ─────────────────────────────────────────────
   2. SCROLL-LINKED WORD REVEAL  ★ the signature effect
   Words start nearly invisible and light up one by one,
   scrubbed to scroll position (not a one-shot fade).
   ───────────────────────────────────────────── */
.sc-text .scw{
  opacity:.16;
  transition:opacity .45s cubic-bezier(.22,.61,.36,1), text-shadow .45s ease;
  will-change:opacity;
}
.sc-text .scw.on{opacity:1}
/* the word currently crossing the reveal line gets a green flare */
.sc-text .scw.lead{text-shadow:0 0 20px rgba(94,240,196,.45)}

/* Existing gradient-text rules target `<span>` generically (e.g.
   `.sec-title span`, `.contact-cta__inner h2 span`). Our word spans must
   NOT inherit that transparent fill, or the text renders invisible —
   but words genuinely inside a gradient wrapper still should. */
.sc-text .scw{-webkit-text-fill-color:currentColor}
.sc-text span:not(.scw) .scw{-webkit-text-fill-color:transparent}

/* headings dim a touch deeper than body copy */
.sec-title.sc-text .scw{opacity:.14}
.sec-title.sc-text .scw.on{opacity:1}

/* ─────────────────────────────────────────────
   3. SECTION CHAPTERS — big editorial index numbers
   ───────────────────────────────────────────── */
.sec-hd{position:relative}
.sec-chapter{
  display:block;font-size:clamp(64px,11vw,148px);font-weight:900;
  line-height:.8;letter-spacing:-4px;margin:0 0 -18px;
  color:transparent;-webkit-text-stroke:1.5px rgba(14,148,110,.30);
  opacity:0;transform:translateY(26px);
  transition:opacity .9s cubic-bezier(.22,.61,.36,1),transform .9s cubic-bezier(.22,.61,.36,1);
  pointer-events:none;user-select:none;
}
.sec-hd.vis .sec-chapter{opacity:1;transform:translateY(0)}

.sec-lbl{
  display:inline-flex;align-items:center;gap:12px;
  color:var(--pl);font-size:12.5px;font-weight:700;
  letter-spacing:3px;text-transform:uppercase;margin-bottom:18px;
}
.sec-lbl::before{
  content:'';width:7px;height:7px;border-radius:50%;flex-shrink:0;
  background:var(--pl);box-shadow:0 0 12px var(--pl);
  animation:lblPulse 2.4s ease-in-out infinite;
}
.sec-lbl::after{content:'';width:44px;height:1px;background:linear-gradient(90deg,var(--pbr),transparent)}
@keyframes lblPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.55}}

.sec-title{font-size:clamp(30px,4.6vw,60px);letter-spacing:-1px;line-height:1.14}

/* ─────────────────────────────────────────────
   4. HERO — editorial, minimal, perfectly centred
   ───────────────────────────────────────────── */
.hero{
  position:relative;isolation:isolate;
  padding:clamp(64px,8vw,104px) 5% clamp(56px,7vw,88px)!important;
  min-height:unset!important;
}
.hero-container{max-width:840px!important;padding:0!important}
.hero-text{gap:0}

/* soft overhead spotlight cone */
.hero .h-spot{
  position:absolute;top:-10%;left:50%;transform:translateX(-50%);
  width:min(120%,1100px);height:60%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse 50% 100% at 50% 0%,rgba(94,240,196,.10),transparent 70%);
}

/* drifting aurora wash */
.hero::after{
  content:'';position:absolute;inset:-25%;z-index:0;pointer-events:none;
  background:
    radial-gradient(38% 46% at 22% 26%, rgba(14,148,110,.34), transparent 62%),
    radial-gradient(32% 42% at 80% 28%, rgba(94,240,196,.20), transparent 62%),
    radial-gradient(44% 40% at 55% 88%, rgba(14,148,110,.26), transparent 64%);
  filter:blur(58px);
  animation:auroraDrift 20s ease-in-out infinite alternate;
}
@keyframes auroraDrift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(-3%,2%,0) scale(1.08)}
  100%{transform:translate3d(3%,-2%,0) scale(1.03)}
}

/* fine particle field */
.hero::before{
  content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background-image:
    radial-gradient(2px 2px at 12% 28%, rgba(94,240,196,.6) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 78% 18%, rgba(94,240,196,.45) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 34% 72%, rgba(94,240,196,.5) 0, transparent 60%),
    radial-gradient(2px 2px at 88% 62%, rgba(94,240,196,.4) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 55% 40%, rgba(94,240,196,.45) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 6% 80%, rgba(94,240,196,.35) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 95% 88%, rgba(94,240,196,.35) 0, transparent 60%),
    radial-gradient(1.5px 1.5px at 45% 12%, rgba(94,240,196,.35) 0, transparent 60%);
  animation:hrTwinkle 4.5s ease-in-out infinite alternate;
}
@keyframes hrTwinkle{from{opacity:.4}to{opacity:1}}
.hero-container{position:relative;z-index:3}

/* badge — restored as a proper glass pill (fixes the broken look) */
.h-badge{
  display:inline-flex;align-items:center;gap:11px;
  padding:9px 20px;border-radius:999px;
  background:rgba(14,148,110,.10);
  border:1px solid var(--pbr);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 6px 26px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.07);
  margin-bottom:30px;
}
.h-badge-dot{
  width:8px;height:8px;border-radius:50%;background:var(--pl);
  box-shadow:0 0 14px var(--pl);flex-shrink:0;
}
.h-badge-txt{
  font-size:12.5px;font-weight:700;color:var(--pl);
  letter-spacing:.4px;text-transform:none;white-space:nowrap;
}

/* kinetic headline — restrained, editorial scale */
.h-title{
  font-size:clamp(26px,3.5vw,44px)!important;
  line-height:1.32;letter-spacing:-.3px;font-weight:800;
  max-width:20ch;margin:0 auto 20px;text-align:center;
  perspective:800px;animation:none!important;
}
.h-title .l1,.h-title .l2{display:block}
.h-title .hw{
  display:inline-block;opacity:0;
  transform:translateY(28px) rotateX(-42deg);
  transform-origin:50% 100%;
  animation:hwIn .8s cubic-bezier(.19,1,.22,1) forwards;
}
@keyframes hwIn{to{opacity:1;transform:translateY(0) rotateX(0)}}
/* `.l2` paints its gradient via background-clip:text — that clipping does NOT
   reach text inside inline-block descendants, so each animated word must
   carry the gradient itself or it renders invisible. */
.h-title .l2 .hw{
  background:var(--gc);
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;
}
.h-title .l2{filter:drop-shadow(0 4px 22px rgba(14,148,110,.35))}
/* legacy full-width underline under the gradient line — replaced by .h-rule */
.h-title .l2::after{display:none!important}

/* short centred accent rule under the headline */
.h-rule{
  display:block;width:64px;height:2px;margin:0 auto 26px;border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--pl),transparent);
  opacity:0;animation:hRuleIn .7s ease 1s forwards;
}
@keyframes hRuleIn{to{opacity:1;width:110px}}

.h-desc{
  font-size:16.5px;line-height:1.95;max-width:56ch;
  margin-left:auto;margin-right:auto;text-align:center;
}

.h-sq-card{
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.09);
  color:rgba(255,255,255,.58);backdrop-filter:blur(6px);
}
.h-sq-card:hover{border-color:var(--pbr);background:var(--pu);color:var(--pl)}

/* contained stats strip — no full-bleed (that broke centring in RTL) */
.h-stats{
  width:100%;max-width:640px;margin:52px auto 0!important;
  padding:26px 20px 0;gap:0;flex-wrap:wrap;
  display:flex!important;justify-content:center!important;align-items:center;
  border-top:1px solid var(--pb);border-bottom:none;background:none;
}
.h-stat{padding:0 clamp(18px,4vw,46px);text-align:center}
.h-stat-n{font-size:clamp(26px,3.4vw,36px)}
.h-stat-l{font-size:11px;letter-spacing:1.2px;margin-top:6px}
.h-stat-div{height:36px}

/* ─────────────────────────────────────────────
   4b. BUTTONS — consistent centring everywhere
   ───────────────────────────────────────────── */
.btn-p,.btn-s,.pr-cta,.roi-calc-btn,.roi-cta-btn,
.reels-follow-btn,.pmap-teaser__btn,.srv-link,.contact-cta__actions .btn-s{
  display:inline-flex!important;align-items:center;justify-content:center;
  text-align:center;line-height:1.2;
}
.h-actions{
  display:flex!important;justify-content:center!important;align-items:center;
  gap:18px;flex-wrap:wrap;
}
/* premium pill CTA with circular icon capsule */
.btn-p{
  padding:8px 8px 8px 28px;border-radius:999px;gap:14px;
  box-shadow:0 12px 40px var(--pg), inset 0 1px 0 rgba(255,255,255,.14);
}
.btn-p svg{
  width:34px;height:34px;padding:9px;box-sizing:border-box;border-radius:50%;
  background:rgba(255,255,255,.18);flex-shrink:0;
  transition:transform .45s cubic-bezier(.19,1,.22,1),background .3s ease,color .3s ease;
}
.btn-p:hover svg{transform:translateX(-5px);background:#fff;color:var(--p)}
.btn-s{gap:12px}
.btn-s-icon{
  background:var(--pu);display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.pr-cta{width:100%}
.roi-calc-btn,.roi-cta-btn{width:100%}
.h-trust-bar{display:flex;justify-content:center;align-items:center;flex-wrap:wrap}
.h-services-quick{display:flex;justify-content:center;align-items:center;flex-wrap:wrap}

/* ─────────────────────────────────────────────
   5. CURSOR SPOTLIGHT on cards
   ───────────────────────────────────────────── */
.srv-card,.pf-card,.pr-card,.why-item,.gr-stat,.ts-card{position:relative}
.spot::before{
  content:'';position:absolute;inset:0;z-index:0;pointer-events:none;
  border-radius:inherit;opacity:0;transition:opacity .35s ease;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),
             rgba(14,148,110,.16), transparent 62%);
}
.spot:hover::before{opacity:1}
.spot > *{position:relative;z-index:1}

/* ─────────────────────────────────────────────
   6. SERVICES — interactive department tabs
   ───────────────────────────────────────────── */
@media (min-width:901px){
  .srv--enhanced .srv-interactive{display:flex;flex-direction:row;gap:40px;align-items:stretch}
  .srv--enhanced .srv-panels{order:1;flex:1;min-width:0;display:block}
  .srv--enhanced .srv-panel{display:none}
  .srv--enhanced .srv-panel:not(.srv-panel--inactive){
    display:flex;animation:srvPanelIn .55s cubic-bezier(.19,1,.22,1) both;
  }
  @keyframes srvPanelIn{from{opacity:0;transform:translateY(22px) scale(.99)}to{opacity:1;transform:none}}

  .srv--enhanced .srv-panel{flex-direction:row-reverse;height:100%;min-height:470px}
  .srv--enhanced .srv-panel .srv-card__media{width:44%;aspect-ratio:auto;height:auto}
  .srv--enhanced .srv-panel .srv-card__body{width:56%;padding:40px 38px;justify-content:center}
  .srv--enhanced .srv-panel .srv-title{font-size:25px}
  .srv--enhanced .srv-panel .srv-desc{font-size:14.5px}

  .srv--enhanced .srv-tablist{
    order:2;width:300px;flex-shrink:0;display:flex;flex-direction:column;gap:6px;
    border-right:1px solid var(--pb);padding-right:8px;
  }
  .srv-tab{
    display:flex;align-items:center;gap:16px;padding:19px 18px;
    background:transparent;border:none;border-radius:14px;cursor:pointer;
    text-align:right;font-family:inherit;position:relative;
    transition:background .3s ease;
  }
  .srv-tab__bar{
    position:absolute;top:50%;left:-9px;transform:translateY(-50%);
    width:3px;height:0;border-radius:2px;background:var(--gm);
    box-shadow:0 0 12px var(--pg);transition:height .35s cubic-bezier(.19,1,.22,1);
  }
  .srv-tab__ico{color:var(--pl);display:flex;flex-shrink:0;opacity:.7;transition:opacity .3s ease}
  .srv-tab__num{
    font-size:11px;font-weight:800;color:var(--tm);letter-spacing:1px;
    margin-inline-start:auto;transition:color .3s ease;
  }
  .srv-tab__title{font-size:15.5px;font-weight:700;color:var(--t2);transition:color .3s ease}
  .srv-tab:hover{background:var(--pu)}
  .srv-tab:hover .srv-tab__title{color:var(--t1)}
  .srv-tab.act{background:var(--d3);box-shadow:0 12px 34px rgba(0,0,0,.3)}
  .srv-tab.act .srv-tab__bar{height:30px}
  .srv-tab.act .srv-tab__ico{opacity:1}
  .srv-tab.act .srv-tab__title{color:var(--t1)}
  .srv-tab.act .srv-tab__num{color:var(--pl)}
}
@media (max-width:900px){
  .srv--enhanced .srv-tablist{display:none}
  .srv--enhanced .srv-panel--inactive{display:flex!important}
}

/* ─────────────────────────────────────────────
   7. WHY-US / CTA / misc polish
   ───────────────────────────────────────────── */
.why-item{overflow:hidden}
.why-num{
  display:flex;align-items:center;justify-content:center;
  width:46px;height:46px;min-width:46px;border-radius:14px;padding:0;
  background:var(--pu);border:1px solid var(--pb);font-size:17px;transition:var(--tr);
}
.why-item:hover .why-num{
  background:var(--p);border-color:var(--p);-webkit-text-fill-color:#fff;
  box-shadow:0 8px 26px var(--pg);
}

.contact-cta__inner{position:relative;overflow:hidden}
.contact-cta__inner::before{
  content:'';position:absolute;width:360px;height:360px;border-radius:50%;
  background:radial-gradient(circle,rgba(14,148,110,.30),transparent 70%);
  filter:blur(60px);top:-130px;right:-90px;pointer-events:none;
}
.contact-cta__inner::after{
  content:'';position:absolute;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(94,240,196,.18),transparent 70%);
  filter:blur(60px);bottom:-110px;left:-70px;pointer-events:none;
}
.contact-cta__inner > *{position:relative;z-index:1}

.proc-num-wrap{box-shadow:0 0 0 4px var(--d2),0 0 0 5px var(--pb)}
.cnt-num,.cnt-suf{letter-spacing:-1px}

/* ─────────────────────────────────────────────
   8. RESPONSIVE
   ───────────────────────────────────────────── */
@media (max-width:768px){
  .sec-chapter{font-size:clamp(52px,17vw,88px);letter-spacing:-2px;margin-bottom:-12px}
  .h-stats{padding:26px 4%;gap:6px;margin-top:44px!important}
  .h-stat{padding:0 18px}
  .h-stat-n{font-size:29px}
  .h-desc{font-size:16px;line-height:1.95}
  .btn-p{padding:7px 7px 7px 24px}
  .btn-p svg{width:32px;height:32px;padding:9px}
}

/* ─────────────────────────────────────────────
   9. REDUCED MOTION — render final readable state
   ───────────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .hero::before,.hero::after{animation:none}
  .sec-lbl::before{animation:none}
  .srv--enhanced .srv-panel:not(.srv-panel--inactive){animation:none}
  .h-title .hw{animation:none;opacity:1;transform:none}
  .sc-text .scw{transition:none;opacity:1!important}
  .sc-text .scw.lead{text-shadow:none}
  .sec-chapter{transition:none;opacity:1;transform:none}
  .scroll-rail__fill{transition:none}
}
