
/* =========================================================
   F L U E N T v3.5.1 — precise Hero / EN cycle correction
   ========================================================= */

/* Exact geometric orbit placement: labels share the same orbit coordinate system. */
.rev-brand-orbit{--orbit-size:330px;--orbit-outer-r:165px;--orbit-inner-r:117px;--orbit-mid-r:141px;}
.rev-orbit-word{width:max-content!important;min-width:0!important;line-height:1!important;text-align:center!important;white-space:nowrap!important;transform-origin:50% 50%!important;}
.rev-orbit-learn{left:50%!important;right:auto!important;top:8px!important;transform:translateX(-50%)!important;}
.rev-orbit-practice{left:24px!important;right:auto!important;top:50%!important;transform:translate(-50%,-50%) rotate(-90deg)!important;}
.rev-orbit-perform{right:24px!important;left:auto!important;top:50%!important;transform:translate(50%,-50%) rotate(90deg)!important;}

/* Hero model quality and first-paint stability. The poster is a fallback/loading layer only. */
.rev-hero-model-live{overflow:hidden!important;transform:translateZ(0);}
.rev-hero-model-live model-viewer{inset:3px!important;width:calc(100% - 6px)!important;height:calc(100% - 6px)!important;image-rendering:auto!important;transform:translateZ(0);backface-visibility:hidden;}
.rev-hero-model-live .rev-hero-model-poster{inset:3px!important;width:calc(100% - 6px)!important;height:calc(100% - 6px)!important;padding:2px!important;image-rendering:auto!important;}
.rev-hero-model-live.model-ready .rev-hero-model-poster{opacity:0!important;visibility:hidden!important;}
.rev-hero-model-live.model-ready model-viewer{opacity:1!important;visibility:visible!important;}

/* Trust-strip hierarchy: numbers stay navy, explanatory labels use the approved brand gold. */
.homepage-revision .rev-trust-strip strong{color:var(--rev-ink)!important;}
.homepage-revision .rev-trust-strip span{color:var(--rev-gold)!important;font-weight:800!important;}

/* English cycle: explicit inner safe area instead of letting text consume the diameter. */
.locale-en .rev-cycle-core{width:220px!important;height:220px!important;}
.locale-en .rev-cycle-stage{width:204px!important;max-width:204px!important;padding:0 13px!important;box-sizing:border-box!important;}
.locale-en .rev-cycle-stage-en{font-size:7.5px!important;line-height:1.25!important;margin:0 0 8px!important;letter-spacing:.14em!important;}
.locale-en .rev-cycle-stage-title{font-size:14px!important;line-height:1.35!important;max-width:182px!important;margin:0 auto!important;text-wrap:balance;}
.locale-en .rev-cycle-stage-copy{font-size:9.25px!important;line-height:1.48!important;max-width:174px!important;margin:8px auto 0!important;text-wrap:pretty;overflow-wrap:normal!important;word-break:normal!important;}
.locale-en .rev-cycle-core-label{top:24px!important;font-size:7px!important;letter-spacing:.15em!important;}

/* Keep Persian cycle sizing independent from the English safe-area rules. */
.locale-fa .rev-cycle-stage{width:188px!important;max-width:188px!important;padding:0 12px!important;}
.locale-fa .rev-cycle-stage-title{font-size:17px!important;line-height:1.55!important;max-width:176px!important;}
.locale-fa .rev-cycle-stage-copy{font-size:10.5px!important;line-height:1.85!important;max-width:168px!important;}

@media(max-width:760px){
  /* Orbit remains intentional on phones; midpoint positions are recalculated for the smaller rings. */
  .homepage-revision .rev-brand-orbit{--orbit-size:226px;--orbit-outer-r:113px;--orbit-inner-r:79px;--orbit-mid-r:96px;}
  .homepage-revision .rev-orbit-learn{left:50%!important;top:4px!important;transform:translateX(-50%)!important;}
  .homepage-revision .rev-orbit-practice{left:17px!important;top:50%!important;transform:translate(-50%,-50%) rotate(-90deg)!important;}
  .homepage-revision .rev-orbit-perform{right:17px!important;top:50%!important;transform:translate(50%,-50%) rotate(90deg)!important;}
  .homepage-revision .rev-hero-model-live model-viewer,.homepage-revision .rev-hero-model-live .rev-hero-model-poster{inset:2px!important;width:calc(100% - 4px)!important;height:calc(100% - 4px)!important;}

  /* The existing mobile cycle is intentionally card-based. Keep explanations concise and unclipped. */
  .homepage-revision.locale-en .rev-cycle-stage,.locale-en .homepage-revision .rev-cycle-stage{width:100%!important;max-width:none!important;padding:20px 18px!important;}
  .homepage-revision.locale-en .rev-cycle-stage-title,.locale-en .homepage-revision .rev-cycle-stage-title{font-size:16px!important;line-height:1.45!important;max-width:28ch!important;}
  .homepage-revision.locale-en .rev-cycle-stage-copy,.locale-en .homepage-revision .rev-cycle-stage-copy{font-size:11px!important;line-height:1.65!important;max-width:38ch!important;margin-top:7px!important;}
  .homepage-revision .rev-trust-strip span{color:var(--rev-gold)!important;}
}

@media(max-width:430px){
  .homepage-revision .rev-brand-orbit{--orbit-size:214px;--orbit-outer-r:107px;--orbit-inner-r:75px;--orbit-mid-r:91px;}
  .homepage-revision .rev-orbit-practice{left:16px!important;}
  .homepage-revision .rev-orbit-perform{right:16px!important;}
}
