/* Final, scoped homepage refinements. */
html,body{max-width:100%;overflow-x:clip!important}
#tmLayeredHome .home-city{content:normal!important;object-fit:cover!important;object-position:50% 50%!important;transform:none!important;filter:blur(1.3px) brightness(.9)!important;width:100%!important;height:100%!important;inset:0!important}
#tmLayeredHome .tm-v37-earth-wrap{width:min(38vw,590px);isolation:isolate;overflow:visible!important}
#tmLayeredHome .tm-v37-growth{display:flex;align-items:center;justify-content:center;width:94%;min-height:2em;padding:.3em 0;box-sizing:content-box;line-height:1.6!important;letter-spacing:.035em;font-size:clamp(24px,2.9vw,46px);z-index:50;filter:none!important;text-shadow:none!important;color:#fff6ed!important;-webkit-text-fill-color:#fff6ed!important;background:none!important;overflow:visible!important;mix-blend-mode:normal!important;transform:none!important;text-align:center}
#tmLayeredHome .tm-v37-growth::after{position:absolute;left:100%;margin:0;font-weight:400;font-size:.65em}
#tmLayeredHome .tm-v37-growth[data-lang="ar"]{font-size:clamp(32px,3.6vw,54px);line-height:1.8!important;letter-spacing:0!important}
#tmLayeredHome .tm-v37-earth-wrap::after{content:"";position:absolute;inset:9.5%;border-radius:50%;pointer-events:none;box-shadow:inset 14px 8px 32px #f4bbff18,0 0 25px #ca6cff28,0 0 80px #fba35718;z-index:1}
html[dir="rtl"] #tmLayeredHome .home-eyebrow{width:100%!important;display:flex!important;direction:rtl!important;justify-content:flex-start!important;text-align:right!important;align-self:stretch!important}
html[dir="rtl"] #tmLayeredHome h1{line-height:1.25!important;overflow:visible!important}
.tm-building-lights{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.tm-building-lights i{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffd6a2;box-shadow:0 0 9px 2px #ffa75065;animation:tmBuildingGlow 4s ease-in-out infinite alternate;opacity:.2}
@keyframes tmBuildingGlow{to{opacity:.8;scale:1.4;translate:0 -3px}}
.tm-depth-card{--rx:0deg;--ry:0deg;position:relative;transform:perspective(1000px) rotateX(var(--tm-rx,var(--rx))) rotateY(var(--tm-ry,var(--ry))) translateY(var(--lift,0px))!important;transform-style:preserve-3d;transition:transform .2s ease,box-shadow .25s ease!important;box-shadow:0 9px 24px #1710280d}
.tm-depth-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--sx,50%) var(--sy,50%),#d286ff24,transparent 65%);pointer-events:none;opacity:0;transition:opacity .25s}
.tm-depth-card.is-tilted{--lift:-5px;box-shadow:0 22px 44px #17102826,0 0 25px #c87bff19!important;z-index:2}
.tm-depth-card.is-tilted::after{opacity:1}
.tm-depth-button{transition:translate .2s,box-shadow .2s,filter .2s!important}
@media(hover:hover){.tm-depth-button:hover{translate:0 -3px;box-shadow:0 12px 30px #ac49ed30!important;filter:brightness(1.08)}}
.tm-depth-button:focus-visible,.tm-package-more:focus-visible{outline:2px solid #c75cf4;outline-offset:4px}
.tm-package-more{display:none}
@media(max-width:700px){
 html body .tm-header .tm-language,html body .tm-language{display:flex!important;direction:ltr!important;align-items:center!important;gap:2px!important;padding:3px!important;width:106px!important;min-width:106px!important;height:38px!important;border-radius:24px!important;box-sizing:border-box!important}
 html body .tm-language .tm-lang-pill{display:none!important}
 html body .tm-language button{position:relative!important;display:grid!important;place-items:center!important;flex:0 0 32px!important;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;padding:0!important;margin:0!important;border-radius:50%!important;font-size:10px!important;line-height:1!important;transform:none!important;translate:none!important;background:transparent!important;box-shadow:none!important}
 html body .tm-language button.active{background:#10111b!important;color:white!important}
 #tmLayeredHome{padding-top:108px!important}
 #tmLayeredHome .home-copy{padding-top:0!important}
 #tmLayeredHome .home-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;flex-wrap:nowrap!important}
 #tmLayeredHome .home-actions a{width:100%!important;min-width:0!important;font-size:10px!important;padding:9px 7px!important;white-space:normal!important;text-align:center!important;min-height:48px!important;line-height:1.4!important}
 #tmLayeredHome .home-actions i{display:none}
 #tmLayeredHome .home-visual{width:100%!important;margin:8px 0!important;height:300px!important;min-width:0!important}
 #tmLayeredHome .tm-v37-earth-stage{inset:0!important;width:100%!important;margin:0!important;display:grid!important;place-items:center!important;direction:ltr!important}
 #tmLayeredHome .tm-v37-earth-wrap{width:min(76vw,300px)!important;max-width:100%!important;transform:none!important}
 #tmLayeredHome .tm-v37-growth{font-size:clamp(19px,5.8vw,26px)!important}
 #tmLayeredHome .tm-v37-growth[data-lang="ar"]{font-size:32px!important}
 html body #tmLayeredHome .home-metrics{width:100%!important;text-align:center!important;justify-items:center!important;gap:10px!important}
 html body #tmLayeredHome .home-metrics>div{width:100%!important;text-align:center!important;align-items:center!important;border:0!important;padding:0!important}
 html body #tmLayeredHome .home-metrics strong,html body #tmLayeredHome .home-metrics span{text-align:center!important;margin-inline:auto!important}
 #programs .program-grid.program-grid-v18{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:12px!important;overflow:visible!important;scroll-snap-type:none!important;padding:0!important;margin:0!important}
 html body #programs .program-card-v18{width:100%!important;min-width:0!important;max-width:none!important;flex-basis:auto!important;border-radius:22px!important;margin:0!important;max-height:none!important;scroll-snap-align:none!important}
 html body #programs .program-card-v18>.mobile-package-summary-v26{min-height:0!important;padding:18px 20px!important;gap:5px!important}
 #programs .mobile-package-name-v26{font-size:28px!important;line-height:1.2!important;margin:0!important}
 #programs .mobile-package-level-v26{font-size:8px!important;margin:0!important;max-width:60%!important}
 #programs .mobile-package-eyebrow-v26{display:none!important}
 #programs .mobile-package-fit-v26{margin:0!important;padding:0!important;border:0!important;background:none!important;font-size:9px!important}
 #programs .mobile-package-preview-v36{display:none!important}
 #programs .mobile-package-price-v26{display:none!important}
 #programs .mobile-package-view-v26{min-height:28px!important;margin:3px 0 0!important;padding:0!important;border:0!important;background:none!important;font-size:9px!important}
 #programs .mobile-package-popular{top:16px!important;inset-inline-end:16px!important;inset-inline-start:auto!important;min-width:0!important;height:24px!important;min-height:24px!important;padding:3px 8px!important;font-size:7px!important}
 #programs .mobile-package-discount-v33{display:none!important}
 html body #programs .program-card-v18>.mobile-package-details-v29{transition:max-height .5s ease,opacity .3s ease!important}
 #programs .mobile-package-details-v29>.mobile-package-full-list{display:none!important}
 #programs .mobile-package-details-v29>.mobile-package-detail-heading{display:none!important}
 #programs .tm-package-more{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 0;margin:8px 0;background:transparent;color:inherit;border:0;border-block:1px solid #a58ab733;font:inherit;font-weight:800;text-align:start;cursor:pointer}
 #programs .tm-package-deliverables{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
 #programs .tm-package-deliverables>div{overflow:hidden;min-height:0}
 #programs .tm-package-deliverables.is-open{grid-template-rows:1fr}
 #programs .tm-package-deliverables .mobile-package-full-list{display:block!important}
 .tm-depth-card{transform:none!important}
}
@media(prefers-reduced-motion:reduce){.tm-building-lights i,#tmLayeredHome .tm-v37-orbit,#tmLayeredHome .tm-v37-growth::after{animation:none!important}.tm-depth-card,.tm-depth-button{transform:none!important;translate:none!important;transition:none!important}#programs .tm-package-deliverables,#programs .mobile-package-details-v29{transition:none!important}}
#tmLayeredHome .tm-v37-growth{width:max-content;max-width:96%;padding-inline:.12em}
@media(min-width:701px) and (prefers-reduced-motion:no-preference){body:has(#tmLayeredHome) main .tm-depth-card{transform:perspective(1000px) rotateX(var(--tm-rx,var(--rx))) rotateY(var(--tm-ry,var(--ry))) translateY(var(--lift,0px))!important}}
@media(max-width:700px){html body #programs .featured .mobile-package-summary-v26 .mobile-package-name-v26{color:#fff!important;-webkit-text-fill-color:#fff!important;background:none!important}html body #programs .program-card-v18>.mobile-package-summary-v26>.mobile-package-popular{position:absolute!important;top:16px!important;right:16px!important;left:auto!important;max-width:42%!important}html[dir="rtl"] body #programs .program-card-v18>.mobile-package-summary-v26>.mobile-package-popular{left:16px!important;right:auto!important}}
/* The packages are stacked; remove the obsolete swipe instruction. */
html body #programs .packages-head::after{display:none!important;content:none!important}

/* V45: fill the hero at every aspect ratio; favor the illuminated skyline on phones. */
@media(max-width:700px){#tmLayeredHome .home-city{object-position:64% 50%!important}}
#tmLayeredHome .tm-v37-growth[data-lang="ar"]{direction:rtl!important;unicode-bidi:isolate!important}
/* V45 word treatment: crisp gradient lettering with light behind the glyphs. */
#tmLayeredHome .tm-v37-growth{font-weight:900!important;background:linear-gradient(105deg,#fffaf0 12%,#f4d6ff 34%,#ffffff 48%,#ffd095 65%,#fffaf0 84%)!important;background-size:220% 100%!important;background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:0 2px 12px #08051024!important;filter:none!important;animation:tmWordLustre 7s ease-in-out infinite;transition:scale .32s cubic-bezier(.2,.8,.2,1)!important}
#tmLayeredHome .tm-v37-growth::before{content:"";position:absolute;inset:22% -15%;z-index:-1;background:radial-gradient(ellipse,#c255f53d,transparent 70%);filter:blur(9px);opacity:.55;transition:opacity .4s,scale .4s;pointer-events:none}
#tmLayeredHome .tm-v37-growth.is-complete{scale:1.035}
#tmLayeredHome .tm-v37-growth.is-complete::before{opacity:1;scale:1.16}
#tmLayeredHome .tm-v37-growth::after{content:"";position:absolute;left:calc(100% + .1em);top:50%;width:2px;height:.76em;translate:0 -50%;border-radius:2px;background:#ffe1b2;box-shadow:0 0 7px #ffd49c88;animation:tmV37Cursor .85s steps(1) infinite}
#tmLayeredHome .tm-v37-growth[data-lang="ar"]::after{left:auto;right:calc(100% + .1em)}
@keyframes tmWordLustre{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@media(prefers-reduced-motion:reduce){#tmLayeredHome .tm-v37-growth{animation:none!important;transition:none!important;scale:1!important}#tmLayeredHome .tm-v37-growth::before{transition:none!important}#tmLayeredHome .tm-v37-growth::after{animation:none!important}}
/* V46: keep desktop copy, actions and metrics in document flow so translated
   text and short laptop viewports cannot collide with fixed percentage offsets. */
@media(min-width:701px){
 :root body #tmLayeredHome{display:grid!important;grid-template-columns:minmax(0,46.5vw) minmax(0,1fr)!important;grid-template-rows:auto auto minmax(0,1fr)!important;row-gap:32px!important;column-gap:0!important;padding:clamp(112px,16.4vh,158px) 6.4% 36px!important;min-height:100svh!important;height:auto!important;max-height:none!important;box-sizing:border-box!important;align-items:start!important}
 :root[dir="rtl"] body #tmLayeredHome{direction:ltr!important;grid-template-columns:minmax(0,41.5vw) minmax(0,1fr)!important;padding-inline:5.4%!important}
 :root body #tmLayeredHome .home-copy{position:relative!important;grid-column:1!important;grid-row:1!important;inset:auto!important;width:100%!important;min-width:0!important;margin:0!important}
 :root body #tmLayeredHome .home-metrics{position:relative!important;grid-column:1!important;grid-row:2!important;inset:auto!important;width:100%!important;min-width:0!important;margin:0!important;align-self:start!important}
 :root body #tmLayeredHome .home-tagline{position:relative!important;grid-column:1!important;grid-row:3!important;inset:auto!important;margin:0!important;align-self:end!important}
}
/* V53 clean redo: preserve the original homepage composition; fix overlap only where needed. */
@media (min-width:701px){
  :root body #tmLayeredHome{
    display:block!important;padding:0!important;
    min-height:100svh!important;height:100svh!important;max-height:100svh!important;
  }
  :root body #tmLayeredHome .home-copy{
    position:absolute!important;inset:auto!important;
    left:6.4%!important;right:auto!important;top:clamp(112px,16.4vh,158px)!important;
    width:min(46.5%,720px)!important;margin:0!important;
  }
  :root body #tmLayeredHome .home-metrics{
    position:absolute!important;inset:auto!important;
    left:6.4%!important;right:auto!important;top:72%!important;
    width:min(35.5%,590px)!important;margin:0!important;
  }
  :root body #tmLayeredHome .home-tagline{
    position:absolute!important;inset:auto!important;
    left:6.4%!important;right:auto!important;bottom:4.4%!important;margin:0!important;
  }
  :root[dir="rtl"] body #tmLayeredHome .home-copy,
  html[lang^="ar"] body #tmLayeredHome .home-copy{
    left:5.4%!important;right:auto!important;top:clamp(112px,15.8vh,154px)!important;width:41.5%!important;
  }
  :root[dir="rtl"] body #tmLayeredHome .home-metrics,
  html[lang^="ar"] body #tmLayeredHome .home-metrics{left:5.4%!important;right:auto!important;width:39%!important;direction:rtl!important}
}
@media (min-width:701px) and (max-height:650px){
  :root body #tmLayeredHome .home-copy{top:86px!important;width:min(45%,660px)!important}
  :root body #tmLayeredHome h1{font-size:clamp(34px,4vw,54px)!important;line-height:1!important;margin-bottom:10px!important}
  :root body #tmLayeredHome .home-eyebrow{margin-bottom:8px!important}
  :root body #tmLayeredHome .home-description{font-size:11px!important;line-height:1.48!important;max-width:610px!important}
  :root body #tmLayeredHome .home-actions{margin-top:11px!important;gap:8px!important}
  :root body #tmLayeredHome .home-actions a{min-height:42px!important;padding:7px 14px!important}
  :root body #tmLayeredHome .home-metrics{top:auto!important;bottom:58px!important;width:min(39%,610px)!important}
  :root body #tmLayeredHome .home-metrics>div{min-width:0!important;padding:5px 9px!important}
  :root body #tmLayeredHome .home-metrics strong{font-size:clamp(19px,1.65vw,27px)!important;line-height:1!important}
  :root body #tmLayeredHome .home-metrics span{font-size:9px!important;line-height:1.35!important;white-space:normal!important}
  :root[dir="rtl"] body #tmLayeredHome .home-copy,
  html[lang^="ar"] body #tmLayeredHome .home-copy{top:82px!important;width:43%!important}
  :root[dir="rtl"] body #tmLayeredHome h1,
  html[lang^="ar"] body #tmLayeredHome h1{font-size:clamp(32px,3.7vw,48px)!important;line-height:1.08!important;margin-bottom:8px!important}
  :root[dir="rtl"] body #tmLayeredHome .home-description,
  html[lang^="ar"] body #tmLayeredHome .home-description{font-size:10.5px!important;line-height:1.55!important}
  :root[dir="rtl"] body #tmLayeredHome .home-metrics,
  html[lang^="ar"] body #tmLayeredHome .home-metrics{bottom:54px!important;width:41%!important;text-align:center!important}
  :root[dir="rtl"] body #tmLayeredHome .home-metrics>div,
  html[lang^="ar"] body #tmLayeredHome .home-metrics>div{align-items:center!important;text-align:center!important}
}

/* Restore the detailed, swipeable homepage package presentation on phones. */
@media(max-width:700px){
  html body #programs .program-grid.program-grid-v18{
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;gap:18px!important;
    overflow:visible!important;overscroll-behavior:auto!important;scroll-snap-type:none!important;
    padding:2px 0 16px!important;margin:0!important;
  }
  html body #programs .program-grid.program-grid-v18::-webkit-scrollbar{display:none!important}
  html body #programs .program-card-v18{
    display:block!important;flex:none!important;width:100%!important;min-width:0!important;max-width:none!important;
    border-radius:28px!important;margin:0!important;scroll-snap-align:none!important;scroll-snap-stop:normal!important;
  }
  html body #programs .program-card-v18>.mobile-package-summary-v26{
    display:grid!important;min-height:560px!important;padding:22px!important;gap:0!important;
    grid-template-columns:1fr auto!important;grid-template-areas:"level badge" "eyebrow eyebrow" "name name" "fit fit" "preview preview" "view view"!important;
    align-content:start!important;text-align:left!important;
  }
  html[dir="rtl"] body #programs .program-card-v18>.mobile-package-summary-v26{text-align:right!important}
  html body #programs .mobile-package-level-v26{grid-area:level!important;display:inline-flex!important;min-height:42px!important;padding:0 14px!important;margin:0!important;font-size:10px!important;max-width:100%!important}
  html body #programs .mobile-package-eyebrow-v26{grid-area:eyebrow!important;display:block!important;margin-top:25px!important;font-size:10px!important;letter-spacing:.1em!important}
  html body #programs .mobile-package-name-v26{grid-area:name!important;display:block!important;margin-top:8px!important;font-size:38px!important;line-height:1!important}
  html body #programs .mobile-package-fit-v26{grid-area:fit!important;margin-top:13px!important;padding:10px 12px!important;border:1px solid rgba(129,73,255,.12)!important;border-radius:12px!important;background:rgba(129,73,255,.055)!important;font-size:11px!important;line-height:1.35!important}
  html body #programs .mobile-package-preview-v36{grid-area:preview!important;display:grid!important;width:100%!important;gap:9px!important;margin:20px 0 0!important;padding:16px!important;border-radius:18px!important;background:rgba(129,73,255,.055)!important;border:1px solid rgba(129,73,255,.12)!important}
  html body #programs .mobile-package-preview-title-v36{display:block!important;font-size:9px!important;line-height:1.25!important}
  html body #programs .mobile-package-preview-item-v36{display:flex!important;align-items:flex-start!important;gap:9px!important;font-size:11.3px!important;line-height:1.38!important}
  html body #programs .mobile-package-preview-item-v36::before{content:'✓'!important;display:grid!important;place-items:center!important;flex:0 0 18px!important;width:18px!important;height:18px!important;margin-top:1px!important;border-radius:50%!important;background:linear-gradient(135deg,#8149ff,#ff7a18)!important;color:#fff!important;font-size:9px!important;font-weight:900!important}
  html body #programs .mobile-package-more-v36{display:flex!important;align-items:center!important;gap:10px!important;margin-top:3px!important;padding-top:10px!important;border-top:1px solid rgba(95,74,116,.13)!important}
  html body #programs .mobile-package-view-v26{grid-area:view!important;display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:58px!important;margin-top:20px!important;padding:0 18px!important;border:1px solid #e8e2eb!important;border-radius:18px!important;background:rgba(255,255,255,.76)!important;font-size:11px!important}
  html body #programs .mobile-package-popular{grid-area:badge!important;display:inline-flex!important;position:relative!important;inset:auto!important;justify-self:end!important;min-width:120px!important;height:34px!important;min-height:34px!important;padding:0 14px!important;font-size:8px!important}
  html body #programs .mobile-package-discount-v33{display:inline-flex!important}
  html body #programs .mobile-package-details-v29>.mobile-package-full-list,
  html body #programs .mobile-package-details-v29>.mobile-package-detail-heading{display:block!important}
  html body #programs .tm-package-more,html body #programs .tm-package-deliverables{display:none!important}
  html body #programs .packages-head::after{display:block!important;margin:15px auto 0!important;max-width:340px!important;font-size:8.5px!important;line-height:1.4!important;font-weight:850!important;letter-spacing:.055em!important;color:#8b818e!important}
  html[lang="en"] body #programs .packages-head::after{content:'TAP VIEW DETAILS FOR THE COMPLETE SCOPE'!important}
  html[lang="fr"] body #programs .packages-head::after{content:'OUVREZ LES DÉTAILS POUR VOIR LE PÉRIMÈTRE COMPLET'!important}
  html[lang="ar"] body #programs .packages-head::after{content:'افتح التفاصيل لعرض النطاق الكامل'!important;letter-spacing:0!important}
}
