:root {
  --ink: #071d22;
  --ink-2: #0d292d;
  --paper: #f0eee7;
  --paper-2: #e5e1d8;
  --lime: #d9ff43;
  --aqua: #00d5d8;
  --coral: #f04442;
  --white: #fff;
  --muted: #5a676b;
  --line-dark: rgba(7, 29, 34, .18);
  --line-light: rgba(255, 255, 255, .24);
  --display: "Arial Narrow", "Roboto Condensed", "Helvetica Neue", sans-serif;
  --body: Inter, "Helvetica Neue", Arial, sans-serif;
  --pad: clamp(1.4rem, 5vw, 6rem);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { background: var(--ink); color: var(--white); font-family: var(--body); margin: 0; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); font-stretch: condensed; font-weight: 900; letter-spacing: -.065em; text-transform: uppercase; }

.skip-link { background: var(--lime); color: var(--ink); font-weight: 900; left: 1rem; padding: .9rem 1.2rem; position: fixed; top: -5rem; z-index: 1000; }
.skip-link:focus { top: 1rem; }

.edition-bar { align-items: stretch; background: #020b0e; display: grid; font-size: .62rem; font-weight: 800; height: 2.4rem; letter-spacing: .11em; position: absolute; text-transform: uppercase; top: 0; width: 100%; z-index: 20; }
.edition-bar { grid-template-columns: minmax(12rem, 1fr) 2fr minmax(16rem, 1fr); }
.edition-bar > * { align-items: center; display: flex; margin: 0; padding: 0 var(--pad); }
.world-link { border-right: 1px solid var(--line-light); gap: .55rem; }
.world-dot { background: var(--aqua); border-radius: 50%; height: .45rem; width: .45rem; }
.edition-bar > p { gap: 1.2rem; justify-content: center; }
.edition-bar > p strong { color: var(--lime); }
.edition-actions { display: grid; grid-template-columns: 7.2rem 1fr; padding: 0; }
.language-select { appearance: none; background: #020b0e; border: 0; border-left: 1px solid var(--line-light); color: var(--white); cursor: pointer; font: 800 .6rem var(--body); height: 100%; letter-spacing: .08em; padding: 0 1.6rem 0 .9rem; text-transform: uppercase; }
.language-select:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.account-link { align-items: center; background: var(--aqua); color: var(--ink); display: flex; justify-content: space-between; padding: 0 1rem; }
.sr-only { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }

.site-header { align-items: center; backdrop-filter: blur(0); background: rgba(2,11,14,0); border-bottom: 1px solid var(--line-light); display: grid; grid-template-columns: 14rem 1fr auto; height: 6rem; left: 0; padding: 0 var(--pad); position: fixed; top: 2.4rem; transition: top .52s cubic-bezier(.22,1,.36,1), height .52s cubic-bezier(.22,1,.36,1), background-color .42s ease, backdrop-filter .42s ease, border-color .42s ease, box-shadow .42s ease; width: 100%; will-change: top, height; z-index: 100; }
.site-header.is-scrolled { backdrop-filter: blur(14px); background: rgba(2, 11, 14, .94); border-color: rgba(255,255,255,.13); box-shadow: 0 .65rem 2rem rgba(0,0,0,.18); height: 4.35rem; top: 0; }
.brand { align-items: center; display: inline-flex; gap: .8rem; width: max-content; }
.brand-logo { display: block; height: auto; width: clamp(9.5rem, 12vw, 12.5rem); }
.site-header .brand-logo, .site-header .header-cta { transition: padding .52s cubic-bezier(.22,1,.36,1), width .52s cubic-bezier(.22,1,.36,1); }
.site-header.is-scrolled .brand-logo { width: clamp(8.5rem, 10vw, 10.5rem); }
.site-header.is-scrolled .header-cta { padding-block: .65rem; }
.footer-brand .brand-logo { width: clamp(11rem, 15vw, 14rem); }
.main-nav { display: flex; gap: clamp(1rem, 3vw, 2.8rem); justify-content: center; }
.main-nav a { font-size: .68rem; font-weight: 800; letter-spacing: .11em; position: relative; text-transform: uppercase; }
.main-nav a::after { background: var(--lime); bottom: -.8rem; content: ""; height: 2px; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .2s ease; width: 100%; }
.main-nav a:hover::after, .main-nav a:focus-visible::after { transform: scaleX(1); }
.header-cta { align-items: center; background: rgba(2,11,14,.68); border: 1.5px solid var(--white); display: flex; font-size: .68rem; font-weight: 900; gap: 2.4rem; letter-spacing: .12em; padding: .85rem 1rem; text-shadow: 0 1px 4px rgba(0,0,0,.8); white-space: nowrap; }
.header-cta span { color: var(--lime); }
.menu-toggle { background: none; border: 0; cursor: pointer; display: none; }

.hero { min-height: max(47rem, 100svh); overflow: hidden; position: relative; }
.hero-media { background-image: linear-gradient(90deg, rgba(2, 14, 17, .82) 0%, rgba(4, 18, 20, .35) 48%, rgba(4, 18, 20, .12) 75%), linear-gradient(0deg, rgba(4, 18, 20, .82), transparent 45%), url("/assets/doa-move-forest-hero.webp"); background-position: center; background-size: cover; inset: 0; position: absolute; transform: scale(1.015); }
.hero-noise { background-image: radial-gradient(rgba(255,255,255,.1) .5px, transparent .5px); background-size: 5px 5px; inset: 0; mix-blend-mode: soft-light; opacity: .22; pointer-events: none; position: absolute; }
.hero-copy { left: var(--pad); max-width: 74rem; position: absolute; top: 47%; transform: translateY(-50%); z-index: 2; }
.eyebrow { align-items: center; display: flex; font-size: .68rem; font-weight: 900; gap: 1rem; letter-spacing: .2em; margin-bottom: 1.5rem; }
.eyebrow span { background: var(--lime); color: var(--ink); padding: .55rem .7rem; }
.hero h1 { font-size: clamp(5rem, 13.2vw, 12.5rem); line-height: .68; margin: 0; text-shadow: 0 .2rem 1.5rem rgba(0,0,0,.22); }
.hero h1 span { color: transparent; display: block; font-size: .49em; letter-spacing: -.02em; margin-bottom: .24em; -webkit-text-stroke: 1.5px var(--white); }
.hero-statement { font: 900 clamp(1rem, 2vw, 1.55rem)/1.05 var(--display); letter-spacing: -.025em; margin: 2.5rem 0 0 .45rem; text-transform: uppercase; }
.hero-statement strong { color: var(--lime); }
.hero-info { bottom: 0; display: grid; grid-template-columns: repeat(3, minmax(13rem, 1fr)); left: var(--pad); position: absolute; z-index: 3; }
.hero-info > div { backdrop-filter: blur(8px); background: rgba(7,29,34,.76); border-left: 1px solid var(--line-light); display: flex; flex-direction: column; gap: .55rem; min-width: 15rem; padding: 1.2rem 1.5rem; }
.hero-info small { color: var(--aqua); font-size: .58rem; font-weight: 900; letter-spacing: .16em; }
.hero-info strong { font: 900 .82rem var(--display); letter-spacing: .04em; }
.hero-action { align-items: center; background: var(--lime); bottom: 0; color: var(--ink); display: flex; height: 7rem; justify-content: space-between; padding: 1.2rem 1.5rem; position: absolute; right: 0; width: clamp(15rem, 22vw, 22rem); z-index: 3; }
.hero-action span { font: 900 1rem/.95 var(--display); letter-spacing: -.02em; }
.hero-action b { font-size: 1.8rem; }
.hero-edition { align-items: center; background: var(--coral); display: flex; font-size: .6rem; font-weight: 900; height: 10rem; justify-content: center; letter-spacing: .18em; position: absolute; right: 0; top: 28%; transform: translateX(4rem) rotate(90deg); width: 18rem; z-index: 2; }

.ticker { background: var(--aqua); color: var(--ink); overflow: hidden; padding: 1rem 0; }
.ticker > div { align-items: center; display: flex; gap: 2rem; justify-content: space-around; min-width: 70rem; }
.ticker span { font: 900 1rem var(--display); letter-spacing: .03em; }
.ticker i { background: var(--ink); clip-path: polygon(50% 0, 100% 100%, 0 100%); height: .7rem; width: .9rem; }

.section-pad { padding: clamp(5rem, 10vw, 9rem) var(--pad); }
.section-label { align-items: center; color: #1a6d72; display: flex; font-size: .62rem; font-weight: 900; gap: 1rem; letter-spacing: .19em; text-transform: uppercase; }
.section-label span { border: 1px solid currentColor; display: grid; height: 1.7rem; place-items: center; width: 1.7rem; }
.section-label.light { color: var(--aqua); }
.manifesto { background: var(--paper); color: var(--ink); display: grid; gap: 4rem; grid-template-columns: minmax(10rem, .65fr) 3fr; }
.manifesto-copy h2 { font-size: clamp(2.9rem, 6.5vw, 7.2rem); line-height: .98; margin-bottom: 4rem; }
.manifesto-copy h2 em { color: #008d91; font-style: normal; }
.manifesto-detail { display: grid; gap: 4rem; grid-template-columns: minmax(20rem, 1fr) 1fr; }
.manifesto-detail p { font-size: clamp(1rem, 1.5vw, 1.3rem); line-height: 1.75; max-width: 43rem; }
.text-link { align-items: center; border-bottom: 1px solid currentColor; display: flex; font-size: .7rem; font-weight: 900; justify-content: space-between; letter-spacing: .14em; margin-left: auto; padding: 1rem 0; width: min(100%, 18rem); }

.challenge { background: var(--ink); }
.section-heading { align-items: flex-end; display: flex; gap: 3rem; justify-content: space-between; margin-bottom: 5rem; }
.section-heading > p { color: #9eadaf; font-size: .75rem; letter-spacing: .12em; text-transform: uppercase; }
.challenge-layout { align-items: end; display: grid; gap: clamp(3rem, 8vw, 10rem); grid-template-columns: minmax(0, 1.5fr) minmax(19rem, .7fr); }
.challenge-title > p { color: var(--aqua); font-size: .67rem; font-weight: 900; letter-spacing: .15em; line-height: 1.6; }
.challenge-title h2 { font-size: clamp(4.6rem, 10.5vw, 11rem); line-height: .82; margin: 0; }
.challenge-title h2 span { color: var(--lime); }
.challenge-copy > p { color: #bdc8c9; font-size: 1rem; line-height: 1.75; }
.challenge-facts { border-bottom: 1px solid var(--line-light); margin: 2.5rem 0; }
.challenge-facts > div { align-items: center; border-top: 1px solid var(--line-light); display: flex; justify-content: space-between; padding: .8rem 0; }
.challenge-facts dt { color: #8fa0a2; font-size: .6rem; letter-spacing: .14em; }
.challenge-facts dd { font: 900 1.1rem var(--display); margin: 0; }
.button { align-items: center; cursor: pointer; display: flex; font-size: .68rem; font-weight: 900; justify-content: space-between; letter-spacing: .12em; min-height: 3.8rem; padding: 0 1.2rem; width: min(100%, 19rem); }
.button-lime { background: var(--lime); color: var(--ink); }
.button span { font-size: 1.15rem; }
.category-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(5rem, 10vw, 10rem); }
.category-grid.single-category { grid-template-columns: minmax(0, 1fr); }
#venue .festival-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
#venue .festival-facts dt { color: var(--ink, #071d22); }
#venue .festival-facts > div { border-color: rgba(7, 29, 34, .3); }
#venue .festival-facts dd { font-size: 1rem; line-height: 1.45; }
.category-card { border: 1px solid var(--line-light); display: flex; flex-direction: column; margin-right: -1px; min-height: 21rem; overflow: hidden; padding: 1.7rem; position: relative; background-image: linear-gradient(var(--lime), var(--lime)); background-position: bottom; background-repeat: no-repeat; background-size: 100% 0; transition: background-size .35s ease, color .25s ease; }
/* The box never moves on hover (a moving box slides out from under the pointer and the hover flickers); lime fills it from the bottom instead. */
.category-card:hover, .category-card:focus-visible { background-size: 100% 100%; color: var(--ink); z-index: 2; }
.category-card:focus-visible { outline: 3px solid var(--aqua); outline-offset: 3px; }
.category-card > span { color: var(--aqua); font-size: .62rem; font-weight: 900; }
.category-card:hover > span, .category-card:focus-visible > span { color: var(--ink); }
.category-more { align-items: center; color: var(--lime); display: flex; font-size: .55rem; gap: .5rem; letter-spacing: .14em; position: absolute; right: 1.7rem; top: 1.55rem; }
.category-more i { border: 1px solid currentColor; display: block; flex: 0 0 auto; font-size: 0; height: 22px; position: relative; transition: transform .25s ease; width: 22px; }
/* The plus is drawn, not typed, so it sits in the exact centre regardless of font metrics. */
.category-more i::before, .category-more i::after { background: currentColor; content: ""; height: 2px; left: 5px; position: absolute; top: 9px; width: 10px; }
.category-more i::after { transform: rotate(90deg); }
.category-card:hover .category-more, .category-card:focus-visible .category-more { color: var(--ink); }
.category-card:hover .category-more i, .category-card:focus-visible .category-more i { transform: rotate(90deg); }
/* Title and label stay in normal flow so long names like TEMEL KATILIMCI wrap without covering the label. */
.category-grid small { display: block; order: 2; font-size: .58rem; letter-spacing: .16em; margin-top: auto; padding-top: 2rem; }
.category-grid h3 { order: 3; font-size: clamp(1.9rem, 3vw, 3.3rem); hyphens: manual; line-height: .92; margin: .7rem 0 0; overflow-wrap: normal; }
.category-grid p { order: 1; color: #c1cbcc; font-size: .75rem; line-height: 1.55; margin: 1.6rem 0 0; max-width: 13rem; }
.category-card:hover p, .category-card:focus-visible p { color: var(--ink); }

.zones { background: var(--paper); color: var(--ink); }
.dark-heading h2, .program h2 { font-size: clamp(3.7rem, 7.4vw, 8rem); line-height: .94; margin: 2.5rem 0 0; }
.dark-heading > p, .program .section-heading > p { color: var(--muted); font-size: 1rem; line-height: 1.7; max-width: 30rem; text-transform: none; }
.zone-grid { display: grid; gap: 1px; grid-template-columns: repeat(12, 1fr); }
.zone-card { background: var(--white); display: flex; flex-direction: column; grid-column: span 4; justify-content: space-between; min-height: 28rem; overflow: hidden; padding: 2rem; position: relative; }
.zone-card::after { border: 1px solid var(--line-dark); border-radius: 50%; content: ""; height: 13rem; position: absolute; right: -6rem; top: -5rem; width: 13rem; }
.zone-card:nth-child(2), .zone-card:nth-child(6) { background: var(--lime); }
.zone-card:nth-child(3) { background: var(--ink-2); color: var(--white); }
.zone-card:nth-child(4) { grid-column: span 5; }
.zone-card:nth-child(5) { background: var(--aqua); grid-column: span 3; }
.zone-card:nth-child(6) { grid-column: span 4; }
.zone-card span { color: #087d82; font-size: .58rem; font-weight: 900; letter-spacing: .16em; }
/* Keep the small zone codes readable (WCAG AA) on the lime, aqua and dark cards. */
.zone-card:is(:nth-child(2), :nth-child(5), :nth-child(6)) > div > span { color: var(--ink); }
.zone-card:nth-child(3) > div > span { color: var(--aqua); }
.zone-card h3 { font-size: clamp(2.5rem, 4.5vw, 4.8rem); line-height: .9; margin: 4rem 0 0; }
.zone-card p { font-size: .82rem; line-height: 1.6; margin: 0; max-width: 18rem; }

.program { background: var(--ink); }
.program-list { list-style: none; margin: 0; padding: 0; }
.program-list li { align-items: center; border-top: 1px solid var(--line-light); display: grid; gap: 2rem; grid-template-columns: minmax(6rem, .5fr) 2fr auto; min-height: 8.5rem; padding: 1.5rem 0; }
.program-list li:last-child { border-bottom: 1px solid var(--line-light); }
.program-list time { color: var(--lime); font: 900 clamp(1.8rem, 4vw, 3.5rem) var(--display); }
.program-list small { color: var(--aqua); font-size: .55rem; font-weight: 900; letter-spacing: .14em; }
.program-list h3 { font-size: clamp(1.4rem, 2.5vw, 2.5rem); letter-spacing: -.04em; margin: .5rem 0 0; }
.program-list li > span { color: #93a2a4; font: 900 2rem var(--display); }

.venue { background: var(--aqua); color: var(--ink); display: grid; grid-template-columns: 1fr 1.25fr; min-height: 44rem; }
.venue-map { background: var(--ink-2); min-height: 34rem; overflow: hidden; position: relative; }
.venue-map iframe { border: 0; display: block; height: 100%; inset: 0; min-height: inherit; position: absolute; width: 100%; }
.venue-copy { padding: clamp(4rem, 8vw, 8rem) var(--pad); }
.venue-copy > p:not(.venue-description) { font-size: .65rem; font-weight: 900; letter-spacing: .18em; margin: 4rem 0 1rem; }
.venue-copy h2 { font-size: clamp(4rem, 8.5vw, 9rem); line-height: .86; margin-bottom: 3rem; }
.venue-copy h2 em { color: var(--white); font-style: normal; }
.venue-description { font-size: 1rem; line-height: 1.7; max-width: 34rem; }

.register { background: var(--coral); min-height: 45rem; overflow: hidden; position: relative; }
.register-mark { color: rgba(7,29,34,.14); display: flex; font: 900 38vw/.7 var(--display); inset: 0; justify-content: space-between; letter-spacing: -.15em; pointer-events: none; position: absolute; }
.register-copy { padding: clamp(5rem, 10vw, 9rem) var(--pad); position: relative; z-index: 1; }
.register-copy > p { font-size: .65rem; font-weight: 900; letter-spacing: .18em; }
.register-copy h2 { font-size: clamp(4.5rem, 10vw, 11rem); line-height: .84; margin: 3rem 0 4rem; }
.register-copy > div { align-items: end; display: flex; gap: 3rem; justify-content: space-between; }
.register-copy > div > p { font-size: 1rem; line-height: 1.7; max-width: 30rem; }

.site-footer { align-items: start; background: #020b0e; display: grid; gap: 3rem; grid-template-columns: 1fr 1.2fr 1fr; padding: 5rem var(--pad) 2rem; }
.site-footer > p { color: var(--lime); font: 900 clamp(1.6rem, 3.5vw, 3.5rem)/.9 var(--display); }
.site-footer nav { display: grid; gap: .9rem; }
.site-footer nav a { border-bottom: 1px solid var(--line-light); font-size: .65rem; font-weight: 800; letter-spacing: .12em; padding-bottom: .8rem; text-transform: uppercase; }
.site-footer small { color: #9aa7a9; font-size: .6rem; grid-column: 1 / -1; letter-spacing: .14em; padding-top: 4rem; }

.header-cta:hover, .header-cta:focus-visible { background: var(--white); color: var(--ink); text-shadow: none; }
.button:focus-visible, .hero-action:focus-visible, .account-link:focus-visible, .text-link:focus-visible { outline: 3px solid var(--aqua); outline-offset: 3px; }

@media (max-width: 900px) {
  .edition-bar { grid-template-columns: minmax(0, 1fr) auto; height: 60px; }
  .edition-bar > p { justify-content: flex-start; }
  .edition-actions { align-items: stretch; gap: 8px; padding: 6px 8px 6px 0; }
  .account-link { border-radius: 8px; font-size: 12px; gap: 8px; justify-content: center; letter-spacing: .04em; min-height: 48px; min-width: 112px; padding: 0 16px; touch-action: manipulation; white-space: nowrap; }
  .account-link:active { background: var(--lime); }
  .world-link { display: none; }
  .site-header { grid-template-columns: 1fr auto auto; height: 5rem; top: 60px; }
  .site-header.is-scrolled { height: 4.15rem; }
  .main-nav { background: var(--ink); display: none; flex-direction: column; gap: 0; left: 0; padding: 6rem var(--pad) 2rem; position: absolute; right: 0; top: 0; z-index: -1; }
  .main-nav.open { display: flex; }
  .main-nav a { border-top: 1px solid var(--line-light); font: 900 1.7rem var(--display); padding: 1.2rem 0; }
  .menu-toggle { align-items: center; display: flex; font-size: .6rem; font-weight: 900; gap: .7rem; letter-spacing: .12em; margin-right: 1rem; }
  .menu-toggle i, .menu-toggle i::before { background: var(--white); content: ""; display: block; height: 1px; transition: transform .2s ease; width: 1.3rem; }
  .menu-toggle i::before { transform: translateY(.35rem); }
  .menu-toggle[aria-expanded="true"] i { transform: rotate(45deg); }
  .menu-toggle[aria-expanded="true"] i::before { transform: rotate(-90deg); }
  .hero-info { left: 0; right: 13rem; }
  .hero-action { width: 13rem; }
  .manifesto { grid-template-columns: 1fr; }
  .manifesto-copy h2 { margin-bottom: 3rem; }
  .challenge-layout { grid-template-columns: 1fr; }
  .category-grid { grid-template-columns: repeat(2, 1fr); }
  .zone-card, .zone-card:nth-child(n) { grid-column: span 6; }
  .venue { grid-template-columns: 1fr; }
  .venue-map { min-height: 28rem; }
}

@media (max-width: 620px) {
  .edition-bar > p { padding-left: 1rem; }
  .edition-bar > p span { display: none; }
  .edition-actions { grid-template-columns: 48px auto; }
  .language-select { padding: 0 .45rem; }
  .account-link { padding: 0 16px; }
  .account-link .ui-icon { display:inline-block; }
  .site-header { padding: 0 1rem; }
  .site-header.is-scrolled .brand-logo { width: 8.2rem; }
  .header-cta { gap: .7rem; padding: .75rem; }
  .hero { min-height: 50rem; }
  .hero-media { background-image: linear-gradient(90deg, rgba(2,14,17,.72), rgba(4,18,20,.1)), linear-gradient(0deg, rgba(4,18,20,.96), transparent 60%), url("/assets/doa-move-forest-hero.webp"); background-position: 66% center; }
  .hero-copy { left: 1.2rem; top: 43%; }
  .hero h1 { font-size: clamp(4.8rem, 26vw, 7rem); }
  .hero-info { bottom: 7rem; grid-template-columns: repeat(2, 1fr); right: 0; }
  .hero-info > div { min-width: 0; padding: .8rem 1.2rem; }
  .hero-action { height: 7rem; width: 100%; }
  .hero-edition { display: none; }
  .ticker > div { justify-content: flex-start; padding-left: 1.5rem; }
  .manifesto-detail { gap: 2rem; grid-template-columns: 1fr; }
  .text-link { margin-left: 0; }
  .section-heading { align-items: start; flex-direction: column; margin-bottom: 3.5rem; }
  .category-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 17rem; }
  .zone-card, .zone-card:nth-child(n) { grid-column: span 12; min-height: 22rem; }
  .program-list li { gap: 1rem; grid-template-columns: 5rem 1fr; }
  .program-list li > span { display: none; }
  .venue-map { min-height: 22rem; }
  .register-copy > div { align-items: start; flex-direction: column; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer small { grid-column: auto; }
}

/* Small phones: keep logo, menu and CTA on one row without horizontal scrolling. */
@media (max-width: 420px) {
  .site-header .brand-logo, .site-header.is-scrolled .brand-logo { width: 7.4rem; }
  .edition-bar { letter-spacing: .05em; }
  .edition-bar > p { padding-right: .5rem; white-space: nowrap; }
  .menu-toggle { margin-right: .75rem; }
  .challenge-title h2 { font-size: min(4.6rem, 18.5vw); }
  .menu-toggle > span { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
  .header-cta { font-size: .62rem; letter-spacing: .08em; padding: .7rem .75rem; }
  .header-cta .ui-icon { width:1rem; height:1rem; }
}

html[dir="rtl"] body { text-align: right; }
html[dir="rtl"] .brand,
html[dir="rtl"] .ticker,
html[dir="rtl"] .hero-action,
html[dir="rtl"] .hero-info,
html[dir="rtl"] .challenge-facts,
html[dir="rtl"] .program-list time { direction: ltr; }
html[dir="rtl"] .text-link { margin-left: 0; margin-right: auto; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.account-link { gap:.4rem; }
.header-cta .ui-icon { color:var(--lime); }
.header-cta:hover .ui-icon, .header-cta:focus-visible .ui-icon { color:var(--ink); }
.hero-action .ui-icon { width:2rem; height:2rem; }
.zone-more .ui-icon { width:1.2rem; height:1.2rem; }
.course-close .ui-icon { width:1.1rem; height:1.1rem; }
@media (max-width:620px) { .account-link { padding-inline:11px; } .account-link .ui-icon { width:1.15rem; height:1.15rem; } }
