/* Home-only enhancement. Shared pages, checkout and product styling stay independent. */
/* One native link: copy -> illustration -> CTA on mobile; no script required. */
/* This section owns the complete gap so adjacent section padding is not doubled. */
body.mrtax-responsive.home main > #roadmap.home-roadmap-section { padding-block: 32px; background: #fff; }
body.mrtax-responsive.home main > .home-trust-strip:has(+ #roadmap) { padding-bottom: 0; }
body.mrtax-responsive.home main > #roadmap + #courses { padding-top: 0; }
/* Full-bleed strip, not a floating card. The entire strip is one native link. */
body.home .home-roadmap-banner { display: block; width: 100%; min-width: 0; border-block: 1px solid #fba83040; border-radius: 0; color: #fff; background: radial-gradient(ellipse at 14% 68%, #0167ad52, transparent 58%), radial-gradient(ellipse at 90% 8%, #fba83024, transparent 46%), linear-gradient(112deg, #031b30, #072d49 48%, #041c31); text-align: center; text-decoration: none; isolation: isolate; box-shadow: inset 0 1px 0 #ffffff0a, inset 0 -1px 0 #00000026; transition: border-color .2s ease; }
body.home .home-roadmap-banner__inner { display: grid; grid-template-areas: "copy" "visual" "cta"; justify-items: center; gap: 10px; width: 100%; max-width: 1280px; margin-inline: auto; padding: 26px 16px 24px; }
body.home .home-roadmap-banner__copy { grid-area: copy; min-width: 0; max-width: 540px; }
body.home .home-roadmap-banner__eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 8px; color: #ffd18b; font-size: 12px; font-weight: 700; line-height: 1.8; }
body.home .home-roadmap-banner__eyebrow::before { content: ""; width: 22px; height: 1px; background: linear-gradient(90deg, #fba830, #ffdba4); }
body.home .home-roadmap-banner h2 { margin: 0 0 10px; color: #fffaf1; text-shadow: 0 2px 18px #00000026; font-family: Morabba, IRANSansX, sans-serif; font-weight: 700; font-size: clamp(24px, 6.3vw, 30px); line-height: 1.6; text-wrap: balance; }
body.home .home-roadmap-banner p { margin: 0; color: #d5e4ef; font-family: IRANSansX, sans-serif; font-size: 14px; line-height: 1.9; text-align: inherit; text-wrap: pretty; }
/* Real image alpha replaces all dimming, blend modes and edge masks. The
   professional roadmap is shown at full opacity over the banner gradient. */
body.home .home-roadmap-banner__visual { grid-area: visual; position: relative; width: min(100%, 420px); min-width: 0; aspect-ratio: 3 / 2; align-self: center; filter: drop-shadow(0 12px 24px #00000038); }
body.home .home-roadmap-banner__visual img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; color: #d5e4ef; font: 12px/1.8 IRANSansX, sans-serif; }
body.home .home-roadmap-banner__cta { grid-area: cta; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 48px; max-width: 100%; padding: 10px 22px; border: 1px solid #ffe1a8; border-radius: 14px; background: linear-gradient(115deg, #ffde9a, #ffc365 45%, #fba830); color: #3a2300; font-size: 14px; font-weight: 800; line-height: 1.8; box-shadow: inset 0 1px 0 #ffffff80, 0 10px 28px -10px #00000055, 0 0 24px -12px #fba83070; }
body.home .home-roadmap-banner__cta :is(i, svg) { width: 20px; height: 20px; flex: 0 0 20px; transition: transform .2s ease; }
body.home .home-roadmap-banner:focus-visible { outline: 3px solid #fba830; outline-offset: -4px; border-color: #fba830; }
@media (hover: hover) {
  body.home .home-roadmap-banner:hover { border-color: #fba830; }
  body.home .home-roadmap-banner:hover .home-roadmap-banner__cta :is(i, svg) { transform: translateX(-3px); }
}
@media (min-width: 1024px) {
  body.mrtax-responsive.home main > #roadmap.home-roadmap-section { padding-block: 48px; }
  body.home .home-roadmap-banner { text-align: right; }
  body.home .home-roadmap-banner__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); grid-template-areas: ". visual" "copy visual" "cta visual" ". visual"; grid-template-rows: 1fr auto auto 1fr; align-items: end; justify-items: start; gap: 0 28px; min-height: 310px; padding: 24px; }
  body.home .home-roadmap-banner__copy { align-self: end; margin-bottom: 18px; }
  body.home .home-roadmap-banner__eyebrow { font-size: 13px; }
  body.home .home-roadmap-banner h2 { font-size: clamp(30px, 2.8vw, 40px); }
  body.home .home-roadmap-banner p { font-size: 16px; }
  body.home .home-roadmap-banner__visual { width: min(100%, 540px); justify-self: center; }
  body.home .home-roadmap-banner__cta { align-self: start; margin-bottom: 0; }
}
@media (prefers-reduced-motion: reduce) {
  body.home .home-roadmap-banner, body.home .home-roadmap-banner__cta :is(i, svg) { transition: none; }
  body.home .home-roadmap-banner:hover .home-roadmap-banner__cta :is(i, svg) { transform: none; }
}
.home-mobile-only, .home-app-dock { display: none; }
.home-course-slide { min-width: 0; }
.home-featured-course .featured-course-picture { position: absolute; inset: 0; display: block; }
.home-featured-course .featured-course-picture > img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; background: #0b5f96; }
.featured-course-overlay-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 9px; line-height: 1.8; }
.featured-course-price-stack { display: inline-flex; align-items: baseline; gap: 7px; }
.featured-course-price-stack del { color: rgba(255,255,255,.64); font-size: .78em; font-weight: 600; text-decoration-thickness: 1px; }
.featured-course-price-stack strong { color: #ffd28e; font-weight: 900; }
.home-course-carousel > .home-carousel-toolbar { display: none; }
body.home .home-article-carousel .archive-excerpt { display: none; }
@media (min-width: 768px) {
  body.home #hero .home-hero-stats .counter { font-size: 28px; }
}
/* A larger editorial hero; natural content height always wins on short screens. */
@media (min-width: 1024px) {
  body.home #hero {
    display: grid; grid-template-rows: 1fr auto;
    min-height: max(var(--home-frame-height, calc(100svh - 132px)), clamp(620px, 78svh, 880px));
    background: radial-gradient(ellipse at 12% 30%, #0167ad55, transparent 52%), radial-gradient(ellipse at 48% 100%, #fba83014, transparent 55%), linear-gradient(120deg, #031c31, #093454 65%, #04223b);
  }
  body.home #hero .home-hero-inner { width: 100%; max-width: 1440px; padding: 44px 40px 40px; gap: 64px; }
  body.home #hero .home-hero-title { font-size: clamp(42px, 4.15vw, 60px); font-weight: 700; line-height: 1.5; margin-bottom: 18px; }
  body.home #hero .home-hero-lead { font-size: 16px; line-height: 2; margin-bottom: 24px; color: #e0eaf1; }
  body.home #hero .home-hero-actions { margin-bottom: 24px; gap: 20px; align-items: center; }
  body.home #hero .home-hero-actions > .btn-accent { min-height: 54px; padding-inline: 24px; border: 1px solid #ffd48e; box-shadow: 0 8px 28px #fba83026, inset 0 1px #ffffff60; }
  body.home #hero .home-hero-stats { max-width: 480px; margin-bottom: 0; padding-top: 18px; border-top: 1px solid #fba83040; }
  body.home #hero .home-hero-stats > div { gap: 6px; }
  body.home #hero .home-hero-stats > div + div { border-inline-start: 1px solid #ffffff24; padding-inline-start: 20px; }
  body.home #hero .home-hero-stats .counter { font-size: 32px; }
  body.home #hero .hero-instructor-wrap { width: 100%; max-width: 650px; margin-inline: auto; }
  body.home #hero .hero-instructor-deco { inset: 16px -12px -14px 16px; transform: none; border: 1px solid #e4b46a55; background: linear-gradient(145deg, #0167ad30, #04223b80); box-shadow: 0 28px 60px -24px #0008; }
  body.home #hero .hero-instructor-card { padding: 5px; background: linear-gradient(145deg, #e7bc7e99, #ffffff24 35%, #0167ad88 70%, #d5a75c80); box-shadow: 0 28px 70px -20px #0009; }
  body.home #hero .hero-instructor-card::before { display: none; }
  body.home #hero .hero-instructor-badge { top: -17px; left: 24px; max-width: calc(100% - 48px); padding: 9px 15px; border: 1px solid #ffdfaa; border-radius: 12px; font-size: 11px; box-shadow: 0 8px 24px #0003; }
  body.home #hero .hero-instructor-meta { padding: 48px 24px 24px; background: linear-gradient(to top, #031c31fa, #031c318c 65%, transparent); }
  body.home #hero .hero-instructor-meta > .font-title { font-size: 28px; }
  body.mrtax-responsive.home main > section.home-trust-strip { padding-block: 16px; }
  body.home .home-trust-heading { margin-bottom: 12px; }
}
@media (min-width: 1024px) and (max-height: 820px) {
  body.mrtax-responsive.home main > section.home-trust-strip { padding-block: 8px; }
  body.home .home-trust-heading { margin-bottom: 10px; }
  body.home .home-trust-heading a { min-height: 32px; padding-block: 0; }
  body.home .home-trust-strip .home-trust-logo { min-height: 64px; padding-block: 8px; }
  body.home .home-trust-strip .home-trust-logo img { height: 36px; }
}
@media (min-width: 1024px) and (max-height: 720px) {
  body.home #hero .home-hero-inner { padding-block: 32px 24px; }
  body.home #hero .home-hero-title { font-size: clamp(40px, 3.3vw, 46px); margin-bottom: 12px; }
  body.home #hero .home-hero-lead { font-size: 14px; line-height: 1.8; margin-bottom: 12px; }
  body.home #hero .home-hero-actions { margin-bottom: 16px; }
  body.home #hero .home-hero-stats { padding-top: 12px; }
  body.home #hero .hero-instructor-wrap { max-width: 520px; }
}

/* A native, scrollable list is the no-JS and reduced-motion fallback. */
.home-trust-window { overflow-x: auto; overflow-y: hidden; direction: ltr; border-radius: 16px; scrollbar-width: thin; }
.home-trust-track { display: flex; width: max-content; direction: ltr; }
.home-trust-group { display: flex; flex: 0 0 auto; gap: 12px; padding: 0 12px 0 0; margin: 0; list-style: none; }
body.home .home-trust-logo { flex: 0 0 136px; width: 136px; min-height: 76px; border-radius: 14px; padding: 12px; }
body.home .home-trust-logo img { width: 110px; height: 42px; object-fit: contain; filter: none; opacity: 1; }
body.home .home-trust-logo img[hidden] { display: none; }
.home-trust-logo-name { font-size: 11px; line-height: 1.8; text-align: center; direction: rtl; color: #314b63; }
.home-trust-strip.is-animated .home-trust-window { overflow: hidden; }
.home-trust-strip.is-animated .home-trust-track { animation: home-logo-flow 48s linear infinite; }
.home-trust-strip.is-motion-paused .home-trust-track,
.home-trust-window:focus-within .home-trust-track { animation-play-state: paused; }
.home-trust-strip:not(.is-animated) .home-trust-group[aria-hidden] { display: none; }
@keyframes home-logo-flow { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (hover: hover) { .home-trust-window:hover .home-trust-track { animation-play-state: paused; } }
:is(.home-trust-window, .home-app-dock a, .home-consultation-action, .home-course-viewport, .home-intro-details summary):focus-visible { outline: 3px solid #fba830; outline-offset: 3px; }

body.home #hero .hero-instructor-badge--mobile { display: none; }
@media (max-width: 767px) {
  body.home #hero .hero-instructor-badge--mobile { display: flex; }
  body.home #hero .hero-instructor-wrap > .hero-instructor-badge { display: none; }
  body.home #hero .hero-instructor-wrap { margin-top: 0; }
  body.home { background: #f5f9fd; }
  body.home .home-desktop-only, body.home #announce, body.home .bottom-nav { display: none !important; }
  body.home .home-mobile-only { display: inline; }
  body.home #hero .home-hero-inner { padding-top: 20px; padding-bottom: 14px; gap: 14px; }
  /* Expose the copy children to the mobile grid without duplicating the hero. */
  body.home #hero .home-hero-inner { display: flex; flex-direction: column; align-items: stretch; }
  body.home #hero .home-hero-copy { display: contents; }
  body.home #hero .home-hero-title { order: 0; }
  body.home #hero .home-hero-visual { order: 1; }
  body.home #hero .home-hero-actions { order: 2; }
  body.home #hero .home-hero-lead { order: 3; }
  body.home #hero .home-hero-stats { order: 4; width: 100%; }
  body.home #hero .home-hero-copy > span { font-size: 10px; margin-bottom: 12px; }
  body.mrtax-responsive.home #hero .home-hero-title { text-align: center; font-size: clamp(25px, 6.7vw, 33px); line-height: 1.65; margin-bottom: 6px; }
  body.mrtax-responsive.home #hero .home-hero-lead { text-align: center !important; font-size: 13px; line-height: 2; margin-bottom: 0; }
  body.home #hero .home-hero-actions { display: grid; grid-template-columns: 1.15fr 1fr; gap: 10px; margin-bottom: 0; }
  body.home #hero .home-hero-actions > a { display: flex; align-items: center; justify-content: center; min-height: 48px; width: auto; padding: 10px; font-size: 13px; line-height: 1.8; border-radius: 14px; }
  body.home #hero .home-consultation-action { border: 1px solid #ffffff70; color: #fff; background: #ffffff0c; font-weight: 700; }
  body.mrtax-responsive.home #hero .home-hero-stats { margin-bottom: 0; text-align: center; }
  body.home #hero .home-hero-stats > div { gap: 6px; }
  body.mrtax-responsive.home #hero .home-experience-number { font-size: clamp(20px, 5.5vw, 24px); }
  body.home #hero .home-hero-stats .counter + div { font-size: 11px; }
  body.home #hero .home-hero-visual { max-width: 440px; width: 100%; margin-inline: auto; margin-bottom: 8px; }
  body.home #hero .hero-instructor-badge { left: 50%; right: auto; width: max-content; max-width: calc(100% - 24px); justify-content: center; transform: translate(-50%, calc(-100% + 6px)); text-align: center; }
  body.home #hero .home-hero-copy > .hero-instructor-badge { position: static; order: -1; transform: none; max-width: 100%; margin-inline: auto; font-size: 11px; line-height: 1.9; padding: 7px 12px; }
  body.home #hero .hero-instructor-wrap:not(:has(.hero-instructor-badge)) { margin-top: 0; }
  body.home .home-trust-strip { padding-block: 14px; }
  body.home .home-trust-heading { gap: 8px; margin-bottom: 12px; }
  body.home .home-trust-heading > span { font-size: 12px; }
  body.home .home-trust-heading > a { font-size: 10px; min-height: 32px; }
  body.home .home-trust-logo { flex-basis: 112px; width: 112px; min-height: 64px; padding: 10px; }
  body.home .home-trust-logo img { width: 90px; height: 36px; }

  body.home main > section[id] { scroll-margin-top: 90px; }
  body.home .home-section { padding-block: 28px; }
  body.home .home-section-heading h2 { font-size: 25px; line-height: 1.65; }
  body.home .home-section-heading p { font-size: 12px; line-height: 2; }
  body.home .home-section-heading .sec-num { display: none; }
  body.home #testimonials .home-section-heading { margin-bottom: 16px; }
  body.home #testimonials .home-section-heading > p { display: none; }
  body.home #testimonials .home-testimonial-slide > figure { padding: 18px; }
  body.home #intro .home-intro-grid { gap: 16px; }
  body.home #intro .home-intro-copy > .flex { margin-bottom: 12px; }
  body.home #intro .sec-num { display: none; }
  body.home #intro .home-intro-copy > h2 { font-size: 24px; line-height: 1.65; margin-bottom: 12px; }
  body.home #intro .home-intro-summary { display: block; font-size: 13px; line-height: 1.9; margin: 0 0 10px; color: #ffffffc7; }
  .home-intro-details { border-block: 1px solid #ffffff30; font-size: 13px; line-height: 2; }
  .home-intro-details > summary { min-height: 44px; padding-block: 10px; cursor: pointer; list-style-position: inside; color: #ffc265; font-weight: 700; }
  .home-intro-details > .home-intro-description { margin-block: 10px 16px; font-size: 13px; }
  .home-intro-details > .home-intro-features { padding-bottom: 16px; }

  body.home .home-course-viewport { overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; border-radius: 20px; }
  .home-course-viewport::-webkit-scrollbar { display: none; }
  body.home .home-course-track { flex-direction: row; gap: 12px; align-items: stretch; }
  .home-course-slide { flex: 0 0 calc(100% - 38px); scroll-snap-align: start; display: flex; }
  body.home .home-course-slide .home-featured-course { height: auto; flex: 1; min-width: 0; border: 1px solid #dce7ef; border-radius: 20px; display: flex; flex-direction: column; }
  body.home .home-course-slide .featured-course--advisor { border-color: #c99a51; }
  body.home .home-course-slide .featured-course-media > img,
  body.home .home-course-slide .featured-course-picture > img { width: 100%; height: auto; aspect-ratio: 9 / 10; object-fit: contain; background: #075785; }
  body.home .home-course-slide .featured-course-picture { position: static; flex: none; width: 100%; }
  body.home .home-course-slide .home-featured-course-copy { min-height: 136px; padding: 8px 12px; justify-content: center; }
  body.home .home-course-slide .featured-course-overlay-title { min-height: 3em; display: flex; align-items: center; justify-content: center; }
  body.home .home-course-slide .featured-course-media { order: 0; }
  body.home .home-course-slide .home-featured-course-details { order: 1; flex: 0 0 auto; padding: 8px; }
  body.home .home-course-slide :is(.home-featured-course-details, .home-featured-course-copy) { text-align: center; }
  body.home .home-course-slide .home-featured-course-copy { align-items: center; }
  body.home .home-course-slide .featured-course-overlay-price { justify-content: center; font-size: 12px; }
  body.home .home-featured-course-details > div:first-child { justify-content: center; }
  body.home .home-featured-course-details .home-action-row { justify-content: center; }
  body.home .home-course-slide .home-featured-course-details > .flex:first-child { margin-bottom: 6px; gap: 8px; font-size: 11px; line-height: 1.65; }
  body.home .home-featured-course-details .instructor-avatar { width: 32px; height: 32px; }
  body.home .home-featured-course-details > .home-course-outcomes { display: none; }
  body.home .home-course-slide .home-featured-course-details .home-action-row { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(105px, 0.85fr); margin-top: 0; gap: 6px; }
  body.home .home-course-slide .home-featured-course-details .home-action-row > .btn { width: 100%; min-height: 44px; padding: 5px 6px; font-size: 11px; line-height: 1.7; }
  body.home .home-course-slide .home-featured-course-details .home-action-row > .btn:last-child { min-height: 44px; border: 0; background: #eef6fc; }
  body.home .home-course-slide .featured-course--advisor .home-action-row > .btn:last-child { color: #0167ad; }
  body.home .home-course-carousel > .home-carousel-toolbar { display: flex; justify-content: center; margin-top: 12px; }
  body.home .home-course-carousel.is-static > .home-carousel-toolbar { display: none; }
  body.home .home-course-carousel:not(.is-ready) > .home-carousel-toolbar { display: none; }
  body.home #courses .home-section-cta { margin-top: 18px; }
  body.home #courses .home-section-cta > a { min-height: 44px; padding-block: 10px; font-size: 13px; }

  body.home #plus { background: #f5f9fd; }
  body.home .home-service-grid { gap: 12px; }
  body.home .home-service-grid > .lift-card { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 8px 10px; padding: 16px; border-radius: 20px; }
  body.home .home-service-grid > .lift-card > :not(.icon-box):not(h3) { grid-column: 1 / -1; }
  body.home #plus .home-service-grid h3 { align-self: center; font-size: 18px; line-height: 1.7; margin: 0; }
  body.home #plus .home-service-grid p { font-size: 12px; line-height: 1.85; margin: 0; }
  body.home .home-service-grid .icon-box { width: 36px; height: 36px; margin: 0; }
  body.home #plus .home-service-grid .font-title:not(h3) { font-size: 14px; line-height: 1.9; margin: 0; }
  .home-service-details { margin: 0; font-size: 12px; line-height: 2; }
  .home-service-details summary { cursor: pointer; min-height: 44px; display: list-item; list-style-position: inside; padding-block: 10px; font-weight: 700; border-block: 1px solid #0167ad26; }
  .is-dark .home-service-details summary { border-color: #ffffff30; }
  .home-service-details ul { margin-block: 12px 0; font-size: 12px; }
  body.home .home-service-grid .btn { min-height: 48px; font-size: 13px; }
  body.home .home-final-cta { display: grid; gap: 10px; margin-top: 24px; padding: 22px 18px; border: 1px solid #f2d6a5; border-radius: 20px; background: #fff7e9; text-align: center; }
  .home-final-cta h3 { font-size: 21px; font-weight: 700; line-height: 1.7; color: #18364d; }
  .home-final-cta p { font-size: 13px; line-height: 1.9; color: #526779; margin: 0; }
  .home-final-cta .btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; border-radius: 12px; font-size: 14px; font-weight: 700; }
  .home-final-cta svg { width: 18px; height: 18px; }

  body.home .home-app-dock { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); position: fixed; inset: auto 0 0; z-index: 65; padding: 7px max(8px, env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); background: #fffffff5; border-top: 1px solid #dce7ef; box-shadow: 0 -4px 24px #04223b0c; backdrop-filter: blur(16px); }
  .home-app-dock a { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 4px; min-height: 52px; min-width: 0; border-radius: 14px; font-size: 10px; font-weight: 700; line-height: 1.8; color: #536477; }
  .home-app-dock a svg { width: 23px; height: 23px; stroke-width: 1.8; }
  .home-app-dock a[aria-current] { color: #0167ad; background: #0167ad0d; }
  .home-app-dock a[aria-current] svg { stroke-width: 2.4; }
  .home-app-dock .home-app-dock-course { color: #014f86; gap: 3px; margin-top: -17px; font-size: 11px; }
  .home-app-dock .home-app-dock-course[aria-current] { background: transparent; }
  .home-app-dock-course-icon { display: grid; place-items: center; width: 56px; height: 52px; border: 4px solid #fff; border-radius: 20px; background: linear-gradient(140deg, #ffd88b, #fba830); color: #04223b; box-shadow: 0 5px 18px #a4631638; }
  .home-app-dock .home-app-dock-course svg { width: 30px; height: 30px; stroke-width: 2; }
  body.home.drawer-open .home-app-dock { visibility: hidden; pointer-events: none; }
  body.home.mobile-input-focused .home-app-dock { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home-trust-strip.is-animated .home-trust-track { animation: none; }
  .home-trust-strip .home-trust-group[aria-hidden] { display: none; }
  .home-trust-strip.is-animated .home-trust-window { overflow-x: auto; }
  .home-course-viewport { scroll-behavior: auto; }
}
