/* LMNAS 37 WordPress deploy bundle: local assets resolve through GitHub Pages. */
@font-face {
  font-family: Naluka;
  src: url("https://zikzaklucu.github.io/LMNAS-37/Assets/fonts/Naluka.ttf") format("truetype");
  font-display: swap;
}

@font-face {
  font-family: "Rumble Brave";
  src: url("https://zikzaklucu.github.io/LMNAS-37/Assets/fonts/Rumble%20Brave.otf") format("opentype");
  font-display: swap;
}

:root {
  --yellow: #f3d275;
  --cream: #fadc9a;
  --green: #3e5626;
  --green-dark: #263d1e;
  --gold: #fddc60;
  --wood: #c08529;
  --ink: #1e2a1a;
  --texture: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/paper-texture.webp");
  --display: Naluka, Georgia, serif;
  --body: Montserrat, Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  min-width: 320px;
  margin: 0;
  color: var(--ink);
  background-color: var(--yellow);
  background-image: linear-gradient(rgba(243, 210, 117, .868), rgba(243, 210, 117, .868)), var(--texture);
  background-position: center top, calc(50% - 11px) top;
  background-repeat: repeat, repeat-y;
  background-size: auto, 2406px auto;
  font-family: var(--body);
  font-weight: 500;
  line-height: 1.45;
  overflow-x: hidden;
}
img { display: block; max-width: 100%; }
/* UGM's canvas embeds have grid rows without an outer gutter container.
   Reset only the wrappers hosting this microsite, not other WordPress rows. */
body > .tpb-row:has(#main-content),
.tpb-html > .row:has(> .widget-html > #main-content) { margin-inline: 0; }
body > .tpb-row:has(#main-content) > .tpb-html,
.widget-html:has(> #main-content) { padding-inline: 0; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 4px solid var(--green-dark); outline-offset: 4px; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.site-header :focus-visible { outline-color: var(--gold); }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 14px; color: var(--cream); background: var(--green-dark); transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  z-index: 30;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 64px;
  padding: 0 37px;
  border-bottom: 0;
  background: var(--green);
  box-shadow: 0 4px 7px rgba(0,0,0,.25);
}

@media screen and (min-width: 783px) {
  body.admin-bar .site-header { top: 32px; }
}
@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}
.brand-mark { width: 40px; height: 41px; flex: 0 0 auto; box-shadow: 0 3px 4px rgba(0,0,0,.25); }
.brand-mark img { width: 100%; height: 100%; object-fit: contain; }
.site-header > nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.site-header nav a { display: inline-flex; min-height: 44px; align-items: center; color: #fffdf2; font-size: 20px; line-height: 1.5; text-decoration: none; text-shadow: 0 0 4px rgba(0,0,0,.25); }
.site-header nav a[aria-current] { color: var(--gold); text-decoration: none; }
.site-header nav a:hover { color: var(--gold); }
.nav-contact { position: relative; color: #fffdf2; font-size: 20px; line-height: 1.5; text-shadow: 0 0 4px rgba(0,0,0,.25); }
.nav-contact-toggle { display: flex; min-height: 44px; align-items: center; gap: 8px; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; font: inherit; text-shadow: inherit; }
.nav-contact-toggle::after { width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ""; transform: rotate(45deg) translateY(-2px); transition: transform 160ms ease; }
.nav-contact-toggle[aria-expanded="true"]::after { transform: rotate(225deg) translate(-2px, -2px); }
.nav-contact-toggle:hover, .nav-contact-toggle[aria-expanded="true"] { color: var(--gold); }
.nav-contact-menu { position: absolute; z-index: 31; top: calc(100% + 8px); right: 0; display: grid; min-width: 240px; gap: 4px; padding: 8px; border: 2px solid var(--gold); border-radius: 10px; background: var(--green); box-shadow: 0 8px 18px rgba(0,0,0,.28); }
.nav-contact-menu[hidden] { display: none; }
.site-header .nav-contact-menu a { min-height: 44px; padding: 8px 12px; border-radius: 6px; background: rgba(255,255,255,.05); font-size: 15px; line-height: 1.2; text-align: left; text-shadow: none; }
.site-header .nav-contact-menu a:hover { background: rgba(253,220,96,.12); }
.nav-toggle { display: none; }

/* SMMC-style archive: edition navigation leads to document-list pages. */
.nav-papers { position: relative; color: #fffdf2; font-size: 20px; }
.nav-papers summary { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; list-style: none; }
.nav-papers summary::-webkit-details-marker { display: none; }
.nav-papers summary::after { content: ""; width: 8px; height: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); }
.nav-papers[open] summary, .nav-papers summary:hover { color: var(--gold); }
.nav-papers summary:focus-visible { outline: 4px solid var(--gold); outline-offset: 4px; }
.nav-papers-menu { position: absolute; z-index: 32; top: 100%; left: 0; display: grid; min-width: 180px; padding: 8px; border: 2px solid var(--gold); background: var(--green); }
.nav-papers:not([open]) > .nav-papers-menu { display: none; }
.nav-archive > .nav-papers-menu { left: auto; right: 0; }
.site-header .nav-papers-menu a { min-height: 44px; padding: 8px 14px; font-size: 16px; white-space: nowrap; }
.site-header .nav-papers-menu a:hover { background: rgba(253,220,96,.12); }
.nav-papers[open] summary::after { transform: rotate(225deg); }
@media (prefers-reduced-motion: no-preference) {
  .nav-papers summary, .nav-contact-toggle { transition: color 180ms ease; }
  .nav-papers summary::after { transition: transform 180ms ease; }
  .nav-papers[open] > .nav-papers-menu,
  .nav-contact-menu:not([hidden]) { animation: nav-menu-enter 220ms ease-out; }
  .site-header .nav-papers-menu a, .site-header .nav-contact-menu a { transition: color 160ms ease, background-color 160ms ease; }
}
@media (prefers-reduced-motion: reduce) {
  .nav-contact-toggle::after { transition: none; }
}
@keyframes nav-menu-enter {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
html:has(.paper-page) { scroll-snap-type: none; }
.paper-page { width: min(900px, calc(100% - 40px)); min-height: calc(100svh - 64px); margin-inline: auto; padding: clamp(32px, 6vw, 72px) 0 64px; }
.paper-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px; }
.paper-breadcrumb a { display: inline-flex; min-height: 44px; align-items: center; }
.paper-page h1 { margin: 18px 0 12px; color: var(--green); font: 400 clamp(36px, 5vw, 64px)/1.2 var(--display); }
.paper-intro { margin: 0 0 30px; max-width: 620px; }
.paper-list { list-style: none; margin: 0; padding: 0; }
.paper-list > li { display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--wood); }
.paper-icon { display: grid; align-self: start; place-items: center; width: 38px; height: 48px; margin-top: 8px; border: 2px solid var(--green); border-radius: 2px; color: var(--green); font-size: 10px; font-weight: 700; }
.paper-file-link { display: flex; align-items: center; min-height: 44px; width: fit-content; max-width: 100%; color: var(--green-dark); font-weight: 700; font-size: 18px; text-decoration: none; overflow-wrap: anywhere; }
.paper-file-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.paper-meta { display: block; font-size: 13px; }
.paper-download, .paper-video a { display: inline-flex; align-items: center; min-height: 44px; color: var(--green-dark); text-underline-offset: 4px; }
.paper-download { font-size: 14px; }
.paper-note { margin-top: 24px; font-size: 13px; }
.paper-video { margin-top: 36px; padding-top: 20px; border-top: 2px solid var(--wood); }
.paper-video h2 { margin: 0 0 8px; color: var(--green); font: 400 30px/1.3 var(--display); }
.paper-video a { overflow-wrap: anywhere; }
@media (min-width: 641px) and (max-width: 1200px) {
  .site-header:has(.nav-papers) > nav { gap: clamp(8px, 1.5vw, 20px); }
  .site-header:has(.nav-papers) nav > a, .site-header:has(.nav-papers) .nav-contact, .nav-papers { font-size: clamp(11px, 1.45vw, 18px); }
}
@media (max-width: 640px) {
  .nav-papers { grid-column: 1 / -1; font-size: 15px; }
  .nav-papers summary { justify-content: center; padding: 7px 10px; border-radius: 6px; background: rgba(255,255,255,.05); }
  .nav-papers-menu { position: static; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; margin-top: 6px; padding: 0; border: 0; }
  .site-header .nav-papers-menu a { justify-content: center; padding: 8px 4px; font-size: 14px; }
  .paper-list > li { column-gap: 12px; }
}

.hero, .countdown-section, .why-section, .timeline-section, .prize-section, .testimonial-section, .flow-section, .registration-section, .contact-section, .footer { position: relative; isolation: isolate; overflow: hidden; }
.hero { z-index: 1; height: 626px; min-height: 626px; overflow-x: clip; overflow-y: visible; clip-path: inset(0 0 -90px); }
.hero::before { position: absolute; z-index: -2; inset: 0; background: rgba(243, 210, 117, .4); content: ""; pointer-events: none; }
.hero-wood-divider { position: absolute; z-index: 5; bottom: 0; left: 50%; width: 1856px; height: 50px; max-width: none; transform: translateX(-50%); object-fit: fill; pointer-events: none; }
.hero-art { position: absolute; z-index: -1; top: 90px; left: calc(50% - 812px); width: 1152.09px; max-width: none; clip-path: inset(0 0 49.8% 0); transform: scale(1.3); transform-origin: left 50.2%; }
.hero-mascot { position: absolute; z-index: 3; right: calc(50% - 705.9px); top: 84px; width: 272.9px; height: auto; max-width: none; pointer-events: none; }
.hero-copy { position: relative; z-index: 4; display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; width: min(100%, 900px); margin-inline: auto; padding-top: 57px; text-align: center; }
.hero-welcome { margin: 0 0 36px; color: var(--green); font-family: var(--display); font-size: 40px; letter-spacing: .05em; line-height: 57px; }
.hero-canopy { position: absolute; z-index: 2; top: 0; left: 50%; width: 1440px; height: 141px; transform: translateX(-50%); pointer-events: none; }
.hero-canopy img { position: absolute; max-width: none; }
.hero-branch-right { display: none; }
.hero-canopy-figma { display: none; }
.hero-canopy-right { left: 884px; top: -82px; width: 540px; }
.hero-canopy-left { left: 18px; top: -100px; width: 540px; }
.hero-vine-left { left: -45px; top: 30px; width: 241px; }
.hero-vine-inner-left { left: 198px; top: -71px; width: 222px; }
.hero-vine-inner-right { left: 1020px; top: -63px; width: 224px; }
.hero-vine-right { left: 1265px; top: 22px; width: 241px; }
.hero-canopy-edge { left: -26px; top: -19px; width: 1495px; }
.hero-flower-left { left: 164px; top: 23px; width: 60px; }
.hero-flower-right { left: 1216px; top: 23px; width: 60px; }
.section-kicker { width: 318px; margin: 0; color: var(--green); font-family: var(--display); font-size: 40px; letter-spacing: .08em; line-height: 1.45; }
h1, h2, h3, p { overflow: visible; }
.hero h1 { margin: 0; color: var(--green); font-family: var(--display); font-size: 135px; font-weight: 400; letter-spacing: .035em; line-height: 1.2; }
.hero-copy .hero-subhead { width: 700px; max-width: calc(100% - 40px); margin: 26px 0 0; color: var(--green); font-family: var(--body); font-size: 22px; font-weight: 500; letter-spacing: 0; line-height: 1.5; }
.hero-cta { position: relative; display: grid; place-items: center; margin-top: 45px; }
.hero-cta .hero-flowers { display: none; }
.hero-cta::before, .hero-cta::after { position: absolute; top: 50%; width: 90px; height: 119px; background-image: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/hero-flowers.svg"); background-size: 410px 119px; background-repeat: no-repeat; transform: translateY(-50%); content: ""; pointer-events: none; }
.hero-cta::before { right: calc(100% + 36px); background-position: left center; }
.hero-cta::after { left: calc(100% + 36px); background-position: right center; }
.hero-cta .figma-button { position: relative; z-index: 1; }
.figma-button { display: inline-flex; width: 344px; height: 84px; align-items: center; justify-content: center; padding: 8px 24px; color: var(--green); border: 5px solid var(--green); border-radius: 15px; background: linear-gradient(180deg, #f4c577, #d4a75b); box-shadow: 0 4px 8px rgba(0,0,0,.25); font-family: "Rumble Brave", Georgia, serif; font-size: 48px; letter-spacing: .05em; line-height: 1; text-decoration: none; }
.figma-button:hover { filter: brightness(1.05); transform: translateY(-1px); }
.hero-cta .figma-button { width: 300px; max-width: calc(100vw - 48px); height: auto; min-height: 64px; gap: 20px; padding: 16px 24px; border: 2px solid #d8b45e; border-radius: 6px; color: #fff3ce; background: var(--green-dark); box-shadow: 0 4px 0 #192b14; font-family: var(--body); font-size: 16px; font-weight: 700; letter-spacing: .06em; line-height: 1.3; transition: background-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.hero-cta .figma-button::after { width: 9px; height: 9px; flex: 0 0 9px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); content: ""; }
.hero-cta .figma-button:hover { filter: none; transform: none; }
@media (hover: hover) and (pointer: fine) {
  .hero-cta .figma-button:hover { background: #344e26; transform: translateY(-2px); box-shadow: 0 6px 0 #192b14; }
}
.hero-cta .figma-button:active { transform: translateY(3px); box-shadow: 0 1px 0 #192b14; }
@media (prefers-reduced-motion: reduce) {
  .hero-cta .figma-button { transition: none; }
}
.hero-cta .figma-button:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 5px; }

/* Reserve floor space for the larger Buma on narrow, short screens. */
@media (max-width: 640px) {
  .hero:has(.hero-mascot) { min-height: max(750px, calc(100svh - 56px)); }
}

/* Desktop hero polish: fill the header-aware viewport without loosening the composition. */
@media (min-width: 1201px) {
  .hero { height: auto; min-height: max(626px, calc(100svh - 64px)); }
  .hero-art {
    top: auto;
    bottom: -524px;
    left: calc(50% - 832px);
    transform-origin: calc(832px - 50vw) 50.2%;
    -webkit-mask-image: linear-gradient(to right, transparent calc(832px - 50vw), #000 calc(844px - 50vw));
    mask-image: linear-gradient(to right, transparent calc(832px - 50vw), #000 calc(844px - 50vw));
  }
  /* Home3 frame 2816:2708: authored corners, hero origin y=112. */
  .hero-canopy { top: 0; left: 0; width: 100%; height: 358px; transform: none; }
  .hero-canopy > img:not(.hero-canopy-figma) { display: none; }
  .hero-canopy .hero-canopy-figma { display: block; top: 0; width: 1440px; height: auto; }
  .hero-canopy-figma--left { left: 0; clip-path: inset(0 720px 0 0); }
  .hero-canopy-figma--right { right: 0; left: auto; clip-path: inset(0 0 0 720px); }
  .hero-copy { padding-top: clamp(57px, calc(50svh - 312px), 138px); }
  .hero-welcome { margin-bottom: 12px; padding-bottom: 16px; }
  .hero-cta { margin-top: 25px; }
  .hero-mascot { top: auto; right: calc(50% - 624.9px); bottom: -151px; width: 340px; }
  .hero-wood-divider { height: 44px; }
}

@media (min-width: 1201px) and (max-width: 1332px) {
  .hero { min-height: max(626px, calc(100svh - 56px)); }
  .hero-copy { padding-top: clamp(57px, calc(50svh - 308px), 138px); }
}

/* The countdown vines overlap the hero divider; UGM section margins must not separate them. */
#main-content > .hero { margin-bottom: 0; }
.countdown-section { height: auto; min-height: 647px; padding-bottom: 24px; overflow-x: clip; overflow-y: visible; }
.countdown-scene { position: absolute; z-index: -2; top: -536px; left: 8px; width: 1152.09px; max-width: none; pointer-events: none; }
.countdown-art { position: absolute; z-index: -1; top: -24px; left: 50%; width: 1498px; max-width: none; transform: translateX(-50%); }
.countdown-section .countdown-art { max-width: none; height: auto; }
.countdown-copy { position: relative; z-index: 2; display: grid; justify-items: center; padding-top: 138px; text-align: center; }
.countdown-copy .section-kicker { width: 100%; margin-inline: auto; justify-self: center; font-family: var(--display); font-size: 48px; letter-spacing: .05em; line-height: 1; text-align: center; white-space: nowrap; }
.countdown-copy h2 { width: 1120px; max-width: calc(100% - 48px); margin: 26px 0 0; color: var(--green); font-family: var(--display); font-size: 100px; font-weight: 400; letter-spacing: .05em; line-height: 1.15; }
.countdown-copy--active h2 { order: 1; }
.countdown-copy--active .section-kicker { order: 2; margin-top: clamp(14px, 1.5vw, 24px); }
.countdown-copy--active .countdown-value { order: 3; }
.countdown-value { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 20px; width: min(820px, calc(100% - 48px)); margin: 25px 0 0; color: var(--green); font-family: "Rumble Brave", Georgia, serif; font-size: 68px; letter-spacing: .05em; line-height: 1.016; }
.countdown-unit { display: grid; justify-items: center; gap: 8px; min-width: 0; }
.countdown-unit-label { color: var(--green); font-family: var(--body); font-size: 18px; font-weight: 600; letter-spacing: .02em; line-height: 1; }

.section-inner, .timeline-inner, .footer-inner { position: relative; z-index: 2; width: 1125px; max-width: calc(100% - 80px); margin-inline: auto; }
.section-title { margin: 0 0 48px; color: var(--green); font-family: var(--display); font-size: 96px; font-weight: 400; letter-spacing: .05em; line-height: 1.08; text-align: center; }
.why-section { height: 610px; padding-top: 28px; }
.why-art { position: absolute; z-index: -1; top: 0; left: 50%; width: 1952.35px; max-width: none; transform: translateX(-50%); }
.why-section .section-title { width: 651px; max-width: 100%; height: 136px; margin: 0 auto 30px; line-height: 136px; white-space: nowrap; }
.cream-card { border: 10px solid var(--green); border-radius: 31px; background: var(--cream); box-shadow: 0 20px 20px rgba(0,0,0,.25), 0 -20px 20px rgba(0,0,0,.12); }
.why-card { width: 1125px; height: 415px; padding: 19px 41px; }
.why-card p { width: 1024px; max-width: 100%; height: 350px; margin: 0; color: #000; font-size: 27px; letter-spacing: .03em; line-height: 1.3; text-align: justify; }

.timeline-section { height: 1410px; }
.timeline-section::before { position: absolute; z-index: -1; top: 350px; bottom: 210px; left: 50%; border-left: 5px dashed var(--green); content: ""; }
.timeline-monkey { position: absolute; z-index: 1; top: 80px; right: calc(50% + 290px); left: auto; width: clamp(110px, calc(20.26vw - 56.13px), 187px); height: auto; max-width: none; pointer-events: none; }
.timeline-tree { position: absolute; z-index: 1; top: 0; right: -205px; width: 581px; max-width: none; }
.timeline-board { position: relative; z-index: 2; width: 641px; height: 244px; margin: 80px auto 0; padding: 0; border: 10px solid var(--green); border-radius: 31px; background: var(--cream); box-shadow: 0 20px 20px rgba(0,0,0,.25), 0 -20px 20px rgba(0,0,0,.25); color: var(--green); text-align: center; }
.timeline-board h2 { position: absolute; top: 28px; left: 49px; width: 524px; height: 136px; margin: 0; color: var(--green); font-family: var(--display); font-size: 96px; font-weight: 400; letter-spacing: .19em; line-height: 136px; white-space: nowrap; }
.timeline-board p { position: absolute; top: 157px; left: 224px; width: 175px; height: 48px; margin: 0; color: var(--green); font-family: "Rumble Brave", Georgia, serif; font-size: 48px; letter-spacing: .05em; line-height: 48px; white-space: nowrap; }
.timeline-list { position: relative; z-index: 2; width: 1140px; height: 1380px; margin: 80px auto 0; padding: 0; list-style: none; }
.timeline-entry { position: absolute; display: flex; width: 493px; min-height: 147px; align-items: flex-start; }
.timeline-entry--right { right: 0; }
.timeline-entry--left { left: 0; text-align: right; }
.timeline-entry:nth-child(1) { top: 0; }
.timeline-entry:nth-child(2) { top: 267px; }
.timeline-entry:nth-child(3) { top: 495px; }
.timeline-entry:nth-child(4) { top: 719px; }
.timeline-entry div { position: absolute; top: 0; text-align: center; }
.timeline-entry > div {
  border: 3px solid rgba(62, 86, 38, .72);
  border-radius: 16px;
  background: rgba(250, 220, 154, .94);
  box-shadow: 0 6px 0 rgba(62, 86, 38, .12), 0 14px 24px rgba(38, 61, 30, .14);
}
.timeline-entry--right div { left: 57px; }
.timeline-entry--left div { right: 57px; }
.timeline-entry:nth-child(1) div { width: 404px; }
.timeline-entry:nth-child(2) div { width: 421px; }
.timeline-entry:nth-child(3) div { width: 301px; }
.timeline-entry:nth-child(4) div { width: 405px; }
.timeline-entry h3 { margin: 0; color: var(--green); font-family: var(--display); font-size: 40px; font-weight: 400; letter-spacing: .05em; line-height: 57px; text-align: center; white-space: nowrap; }
.timeline-entry:nth-child(4) h3 { white-space: normal; }
.timeline-entry time { display: block; margin-top: 15px; color: #000; font-family: "Montserrat", sans-serif; font-size: 17px; font-weight: 400; letter-spacing: .05em; line-height: 32px; text-align: center; white-space: nowrap; }
.timeline-status { display: block; width: 176px; height: 27px; margin: 16px auto 0; padding: 0; border-radius: 6px; color: #fff; background: #8a5a17; font-size: 14px; font-weight: 500; letter-spacing: .05em; line-height: 27px; text-align: center; }
.timeline-status--active { background: #006d26; }
.timeline-status--complete { background: #ab2a02; }
.timeline-dot { position: absolute; z-index: 3; top: 6px; width: 45px; height: 45px; border: 9px solid var(--green); border-radius: 50%; background: var(--cream); }
.timeline-entry--right .timeline-dot { left: 0; }
.timeline-entry--left .timeline-dot { right: 0; }
.timeline-reveal-item { opacity: 1; transform: none; }
.timeline-motion-ready .timeline-reveal-item {
  opacity: 0;
  transform: translate3d(var(--timeline-reveal-x, 0), 22px, 0);
  transition: opacity 560ms cubic-bezier(.22, 1, .36, 1), transform 560ms cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--timeline-reveal-delay, 0ms);
}
.timeline-motion-ready .timeline-entry--left { --timeline-reveal-x: -32px; }
.timeline-motion-ready .timeline-entry--right { --timeline-reveal-x: 32px; }
.timeline-motion-ready .timeline-entry:nth-child(2) { --timeline-reveal-delay: 70ms; }
.timeline-motion-ready .timeline-entry:nth-child(3) { --timeline-reveal-delay: 140ms; }
.timeline-motion-ready .timeline-entry:nth-child(4) { --timeline-reveal-delay: 210ms; }
.timeline-motion-ready .timeline-reveal-item.is-visible { opacity: 1; transform: none; }
.timeline-motion-ready .timeline-entry .timeline-dot {
  transform: scale(.72);
  transition: transform 420ms cubic-bezier(.34, 1.56, .64, 1);
  transition-delay: calc(var(--timeline-reveal-delay, 0ms) + 110ms);
}
.timeline-motion-ready .timeline-entry.is-visible .timeline-dot { transform: scale(1); }

.prize-section { height: 1637px; margin-top: -350px; padding-top: 0; }
.prize-section .section-inner { height: 100%; }
.prize-section .section-title { position: absolute; top: 500px; left: 50%; width: 902px; height: 136px; margin: 0; line-height: 136px; text-align: center; white-space: nowrap; scroll-margin-top: 132px; transform: translateX(-50%); }
.prize-card { position: absolute; top: 675px; left: 50%; width: 1153px; height: 900px; margin: 0; padding: 0; color: var(--green); text-align: center; transform: translateX(-50%); }
.prize-heading { position: absolute; left: 0; width: 100%; margin: 0; color: var(--green); font-family: var(--display); font-weight: 400; letter-spacing: .05em; }
.prize-heading--total { top: 28px; font-size: 80px; line-height: 113px; }
.prize-amount, .prize-promo-line { font-family: "Rumble Brave", Georgia, serif; font-size: 90px; font-weight: 500; letter-spacing: .05em; line-height: .95; text-transform: none; }
.prize-amount { position: absolute; top: 144px; left: 0; width: 100%; margin: 0; }
.prize-extras { position: absolute; top: 238px; left: 0; width: 100%; margin: 0; font-size: 38px; font-weight: 600; line-height: 46px; }
.prize-promo-line { position: absolute; top: 326px; left: 0; width: 100%; margin: 0; padding-inline: 40px; color: var(--green); letter-spacing: -.025em; text-align: center; white-space: nowrap; }
.prize-benefits { position: absolute; top: 520px; left: 85px; width: 963px; text-align: left; }
.prize-benefit { display: grid; grid-template-columns: 60px minmax(0, 1fr); align-items: center; gap: 35px; min-height: 96px; }
.prize-benefit img { width: 60px; height: 60px; }
.prize-benefit p { margin: 0; font-size: 35px; font-weight: 500; line-height: 1.23; }
.prize-benefit strong { font-weight: 700; }
.prize-benefits small { display: block; margin: 22px 0 0 9px; padding-bottom: 18px; color: var(--green); font-size: 20px; font-style: italic; font-weight: 500; line-height: 1.15; }

.testimonial-section { height: auto; min-height: 0; padding-top: 72px; overflow-x: clip; overflow-y: visible; }
.testimonial-section .section-title { width: 881px; height: 181px; margin: 0 auto 28px; font-size: 128px; letter-spacing: .2em; line-height: 181px; white-space: nowrap; }
.testimonial-art { position: absolute; z-index: -1; top: 666px; left: 50%; width: 1776px; max-width: none; transform: translateX(-50%); }
.testimonial-card { margin: 0 auto; text-align: center; }
.testimonial-frame { position: relative; width: 604px; height: 626px; margin-inline: auto; }
.testimonial-photo { position: absolute; top: 89px; left: 106px; width: 396px; height: 448px; max-width: none; object-fit: cover; object-position: center top; }
.testimonial-border { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; }
.testimonial-card figcaption { position: relative; z-index: 2; }
.testimonial-name { display: flex; align-items: center; justify-content: center; margin-top: 28px; color: var(--green); }
.testimonial-name h3 { margin: 0; font-family: var(--display); font-size: 64px; font-weight: 400; letter-spacing: .05em; line-height: 1; }
.testimonial-award { margin: 24px 0 0; color: #000; font-family: "Rumble Brave", Georgia, serif; font-size: 52px; letter-spacing: .05em; }
.testimonial-copy { width: 1085px; height: auto; min-height: 0; margin: 28px auto 0; padding: 14px 29px; border: 10px solid var(--green); border-radius: 31px; background: var(--cream); box-shadow: 0 8px 14px rgba(45,38,20,.16); color: #000; font-family: var(--body); font-size: 27px; font-weight: 500; letter-spacing: .05em; line-height: 1.2; text-align: justify; }

#main-content .flow-section { height: auto; min-height: calc(100svh - 64px); padding-top: 40px; scroll-margin-top: 112px; }
.flow-heading-art { position: absolute; z-index: 0; top: 84px; left: 50%; width: 1083px; max-width: none; transform: translateX(-50%); clip-path: polygon(0 0, 42.3% 0, 42.3% 42.6%, 57.7% 42.6%, 57.7% 0, 100% 0, 100% 100%, 0 100%); pointer-events: none; }
.flow-raccoon { position: absolute; z-index: 3; top: 84px; left: 50%; width: 1083px; max-width: none; transform: translateX(-50%); clip-path: inset(14.2% 42.3% 57.4% 42.3%); pointer-events: none; }
.flow-section .section-title { position: relative; z-index: 2; width: 920px; height: 136px; margin: 0 auto 34px; font-size: 96px; line-height: 136px; white-space: nowrap; }
.video-card { position: relative; z-index: 2; width: 1014px; height: 570px; margin: 0 auto; overflow: hidden; border-radius: 31px; background: #000; }
.video-card iframe { display: block; width: 100%; height: 100%; border: 0; }
.flow-details-link { position: relative; z-index: 2; display: flex; width: fit-content; max-width: 100%; min-height: 44px; align-items: center; justify-content: center; margin: 16px auto 0; padding: 6px 8px; color: var(--green); font-family: var(--body); font-size: 20px; font-weight: 600; line-height: 1.4; text-align: center; text-decoration-line: underline; text-decoration-thickness: .08em; text-underline-offset: .18em; }
.flow-details-link:focus-visible { outline: 3px solid var(--green); outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  .flow-details-link:hover { color: var(--green-dark); }
}

#main-content .registration-section { height: auto; min-height: 100svh; padding-top: 72px; overflow-x: clip; overflow-y: visible; text-align: center; scroll-margin-top: 112px; }
.registration-tree { position: absolute; z-index: 0; top: -128px; left: -151px; width: 589px; max-width: none; pointer-events: none; }
.registration-section .section-inner { z-index: 2; }
.registration-kicker { margin: 0; color: var(--green); font-family: "Rumble Brave", Georgia, serif; font-size: 64px; letter-spacing: .05em; line-height: 81px; }
.registration-title { width: 1140px; max-width: 100%; height: 170px; margin: 10px auto 46px; color: var(--green); font-family: var(--display); font-size: 120px; font-weight: 400; letter-spacing: .2em; line-height: 170px; white-space: nowrap; }
.book-section { position: relative; isolation: isolate; overflow-x: clip; overflow-y: visible; text-align: center; }
.book-section > .section-inner { z-index: 2; }
.book-section .book-promo { margin-top: 0; }
.book-promo { position: relative; left: 50%; display: grid; width: 1264px; max-width: none; min-height: 510px; grid-template-columns: 733px 531px; align-items: start; margin: 131px auto 0; text-align: left; transform: translateX(-50%); }
.book-promo-copy h3 { display: flex; width: 733px; flex-direction: column; align-items: flex-start; margin: 0; }
.book-title-line { max-width: none; }
.book-title-line--one { width: 721px; height: 122px; margin-left: 10px; }
.book-title-line--two { width: 733px; height: 142px; margin-top: 19px; margin-left: 4px; }
.book-purchase-cta { display: flex; width: 249px; height: 44px; align-items: center; margin: 85px 0 15px; color: var(--green); font-family: "Rumble Brave", Georgia, serif; font-size: 40px; letter-spacing: .05em; line-height: 1; }
.book-stores { display: grid; width: 356px; grid-template-columns: repeat(2, 170px); gap: 12px 16px; }
.book-stores a { position: relative; display: flex; width: 170px; height: 62px; align-items: center; justify-content: center; overflow: hidden; border: 5px solid var(--green); border-radius: 12px; background: linear-gradient(180deg, #f4c577, #d4a75b); transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease; }
.book-stores img { width: auto; height: 30px; max-width: calc(100% - 24px); }
.book-store-link--tokopedia img { height: 32px; }
.book-store-link--whatsapp, .book-store-link--tiktok { gap: 8px; color: var(--green); font-family: var(--body); font-size: 18px; font-weight: 700; text-decoration: none; }
.book-store-icon { display: block; width: 38px; height: 38px; flex: 0 0 38px; background-repeat: no-repeat; }
.book-store-icon--whatsapp { background-image: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/contact-whatsapp-figma.svg"); background-position: center; background-size: 32px 32px; }
.book-store-icon--tiktok { background-image: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/footer-socials-home3.svg"); background-position: -557px -45px; background-size: 904px 82.7px; }
.book-stores a:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.book-stores a:active { transform: translateY(0); box-shadow: 0 2px 4px rgba(0,0,0,.18); }
@media (hover: hover) and (pointer: fine) {
  .book-stores a:hover { transform: translateY(-2px); box-shadow: 0 5px 9px rgba(0,0,0,.22); border-color: var(--green-dark); }
}
.contact-whatsapp img { display: block; width: 32px; height: 32px; flex: 0 0 32px; object-fit: contain; }
.book-covers { position: relative; width: 531px; height: 541px; margin-top: -124px; }
.book-covers img { position: absolute; max-width: none; }
.book-covers img:first-child { top: 0; left: 10px; width: 470px; }
.book-covers img:last-child { top: 28px; left: 172px; width: 463px; }

.contact-section { height: 490px; padding-top: 52px; scroll-margin-top: 112px; }
.contact-tree { position: absolute; z-index: 1; top: 14px; right: -302px; width: 731px; max-width: none; pointer-events: none; }
.contact-inner { z-index: 2; }
.contact-section .section-title { width: 894px; height: 136px; margin: 0 0 38px; font-size: 96px; line-height: 136px; text-align: left; white-space: nowrap; }
.contact-intro { margin: 0 0 26px; color: #000; font-family: var(--body); font-size: 19px; font-weight: 600; letter-spacing: .03em; line-height: 1.35; }
.contact-list { display: grid; gap: 14px; }
.contact-person { display: grid; grid-template-columns: 64px 32px max-content max-content; column-gap: 14px; align-items: center; margin: 0; color: #000; font-family: var(--body); font-size: 28px; font-weight: 500; letter-spacing: .02em; line-height: 1.2; }
.contact-person strong { grid-column: 1; font-weight: 700; }
.contact-whatsapp { display: grid; grid-column: 2 / 4; grid-template-columns: 32px max-content; align-items: center; gap: 14px; min-height: 44px; color: inherit; text-decoration: none; }
.contact-whatsapp:hover > span, .contact-whatsapp:focus-visible > span { text-decoration: underline; text-underline-offset: .12em; }
.contact-whatsapp img { width: 32px; height: 32px; }
.contact-whatsapp > span { font-weight: 600; }
.contact-person em { grid-column: 4; position: relative; font-size: .82em; font-style: italic; font-weight: 500; white-space: nowrap; }
.contact-person em::before { content: "("; }
.contact-person em::after { content: ")"; }

/* One-viewport desktop timeline composition. */
@media (min-width: 1201px) {
  .timeline-section {
    display: grid;
    height: auto;
    min-height: calc(100svh - 64px);
    align-content: center;
    padding: 32px 0;
  }
  .timeline-section::before {
    display: none;
  }
  .timeline-inner {
    display: grid;
    row-gap: clamp(18px, 2.8vh, 24px);
  }
  .timeline-board {
    width: min(520px, calc(100% - 40px));
    height: 190px;
    margin: 0 auto;
    border-width: 8px;
  }
  .timeline-board h2 {
    top: 20px;
    left: 50%;
    width: calc(100% - 24px);
    height: 103px;
    font-size: 74px;
    line-height: 103px;
    transform: translateX(-50%);
  }
  .timeline-board p {
    top: 119px;
    left: 50%;
    width: 100%;
    height: 36px;
    font-size: 36px;
    line-height: 36px;
    transform: translateX(-50%);
  }
  .timeline-list {
    display: grid;
    width: min(1060px, calc(100% - 80px));
    height: auto;
    margin: 0 auto;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 14px;
  }
  .timeline-list::before {
    position: absolute;
    z-index: 0;
    top: 18px;
    bottom: 18px;
    left: 50%;
    border-left: 4px dashed var(--green);
    content: "";
    pointer-events: none;
    transform: translateX(-50%);
  }
  .timeline-entry {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 64px minmax(0, 1fr);
    min-height: 0;
    align-items: center;
  }
  .timeline-entry--right {
    right: auto;
    padding: 0;
    text-align: left;
  }
  .timeline-entry--left {
    left: auto;
    padding: 0;
    text-align: right;
  }
  .timeline-list .timeline-entry > div {
    position: static;
    top: auto;
    width: 100%;
    min-width: 0;
    padding: 14px 20px 16px;
    text-align: inherit;
  }
  .timeline-list .timeline-entry {
    top: auto;
  }
  .timeline-entry--right > div { grid-column: 3; grid-row: 1; }
  .timeline-entry--left > div { grid-column: 1; grid-row: 1; }
  .timeline-dot {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    width: 36px;
    height: 36px;
    border-width: 7px;
  }
  .timeline-entry h3 {
    font-size: clamp(28px, 2.25vw, 32px);
    line-height: 1.15;
    text-align: inherit;
    text-wrap: balance;
  }
  .timeline-entry time {
    margin-top: 4px;
    font-size: 15px;
    line-height: 1.25;
    text-align: inherit;
  }
  .timeline-entry--right .timeline-status {
    margin-right: auto;
    margin-left: 0;
  }
  .timeline-entry--left .timeline-status {
    margin-right: 0;
    margin-left: auto;
  }
  .timeline-status {
    width: fit-content;
    min-width: 160px;
    height: 24px;
    margin-top: 8px;
    padding: 0 16px;
    font-size: 12px;
    line-height: 24px;
  }
  .timeline-monkey {
    top: 80px;
    right: calc(50% + 250px);
    left: auto;
    width: 112px;
    height: auto;
  }
}

/* One-viewport desktop prize composition. */
@media (min-width: 1201px) {
  .prize-section {
    display: grid;
    height: auto;
    min-height: calc(100svh - 64px);
    margin-top: 0;
    padding: 32px 0;
    align-content: center;
  }
  .prize-section .section-inner {
    width: min(1260px, calc(100% - 80px));
    max-width: calc(100% - 80px);
    display: grid;
    row-gap: 22px;
    height: auto;
  }
  .prize-section .section-title {
    position: static;
    width: min(902px, calc(100% - 80px));
    height: auto;
    margin: 0 auto;
    font-size: clamp(64px, 5.1vw, 74px);
    line-height: 1.05;
    white-space: nowrap;
    transform: none;
  }
  .prize-card {
    position: static;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(980px, 65vw);
    height: auto;
    min-height: 0;
    gap: 12px;
    margin: 0 auto;
    padding: 28px 54px 32px;
    transform: none;
  }
  .prize-primary {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    width: 100%;
    min-width: 0;
  }
  .prize-heading,
  .prize-amount,
  .prize-extras,
  .prize-promo-line,
  .prize-benefits {
    position: static;
    top: auto;
    left: auto;
    width: auto;
  }
  .prize-heading--total {
    align-self: center;
    justify-self: auto;
    font-size: clamp(48px, 3.7vw, 56px);
    line-height: 1.05;
    text-align: center;
  }
  .prize-amount {
    align-self: center;
    justify-self: auto;
    font-size: clamp(68px, 5.1vw, 78px);
    line-height: 1;
    text-align: center;
    white-space: nowrap;
  }
  .prize-extras {
    width: 100%;
    font-size: clamp(25px, 1.85vw, 29px);
    line-height: 1.2;
    text-align: center;
  }
  .prize-promo-line {
    width: 100%;
    margin: 2px 0;
    padding-inline: 0;
    font-size: clamp(34px, 2.6vw, 40px);
    line-height: 1.08;
    white-space: normal;
    text-align: center;
  }
  .prize-benefits {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    width: min(820px, 100%);
    margin: 0 auto;
  }
  .prize-benefit {
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    min-height: 0;
  }
  .prize-benefit img {
    width: 48px;
    height: 48px;
    margin-top: 3px;
  }
  .prize-benefit p {
    font-size: clamp(22px, 1.75vw, 26px);
    line-height: 1.2;
    text-align: left;
  }
  .prize-benefits small {
    margin: 2px 0 0 66px;
    padding-top: 8px;
    padding-bottom: 0;
    font-size: clamp(14px, 1.1vw, 16px);
    line-height: 1.2;
    text-align: left;
  }
  .prize-section .timeline-tree {
    top: 20px;
    right: -255px;
    width: 500px;
    pointer-events: none;
  }
}

@media (min-width: 1201px) and (max-height: 800px) {
  .timeline-board {
    height: 176px;
  }
  .timeline-board h2 {
    top: 14px;
    height: 94px;
    font-size: 68px;
    line-height: 94px;
  }
  .timeline-board p {
    top: 108px;
  }
  .timeline-list {
    row-gap: 10px;
  }
  .timeline-inner {
    row-gap: 16px;
  }
  .timeline-list .timeline-entry > div {
    padding: 10px 16px 12px;
  }
  .timeline-entry h3 {
    font-size: clamp(27px, 2.15vw, 30px);
    line-height: 1.1;
  }
  .prize-section .section-inner {
    row-gap: 18px;
  }
  .prize-section .section-title {
    font-size: clamp(64px, 5vw, 70px);
  }
  .prize-card {
    gap: 8px;
    padding: 24px 48px 28px;
  }
  .prize-primary {
    gap: 0;
  }
  .prize-heading--total {
    font-size: clamp(44px, 3.5vw, 52px);
  }
  .prize-amount {
    font-size: clamp(64px, 5vw, 72px);
  }
  .prize-extras {
    font-size: 25px;
  }
  .prize-promo-line {
    font-size: clamp(32px, 2.45vw, 37px);
  }
  .prize-benefits {
    gap: 10px;
  }
  .prize-benefit {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 16px;
  }
  .prize-benefit img {
    width: 44px;
    height: 44px;
  }
  .prize-benefit p {
    font-size: 23px;
    line-height: 1.18;
  }
  .prize-benefits small {
    margin-left: 60px;
    padding-top: 6px;
    font-size: 14px;
  }
  .prize-section .timeline-tree {
    right: -240px;
    width: 500px;
  }
}

@media (min-width: 1201px) and (max-width: 1332px) {
  .prize-section .timeline-tree {
    right: -300px;
  }
}

.footer { position: relative; background: #f3d275; overflow: hidden; }
.footer-stage { position: relative; width: 100%; aspect-ratio: 2914 / 1125; margin-inline: auto; }
.footer-visual { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: fill; }
.footer-partners { position: absolute; inset: 0; }
.footer-partner-group { position: absolute; inset: 0; }
.footer-heading { position: absolute; top: 7.5%; width: 54.8%; margin: 0; color: #fcdd6c; background: linear-gradient(180deg, #fcdd6c 0%, #c4a329 100%); background-clip: text; font-family: var(--display); font-size: 3.106vw; font-weight: 400; line-height: 1.53; text-align: center; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.footer-heading--media { right: 0; }
.footer-heading--partner { left: 0; }
.footer-logo-list { margin: 0; padding: 0; list-style: none; }
.footer-logo { position: absolute; }
.footer-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.footer-socials { position: absolute; top: 76.1%; left: 11.7%; width: 73.6%; aspect-ratio: 1072 / 98; }
.footer-socials-art { display: none; }
.footer-social { position: absolute; display: flex; width: 100%; height: 45%; min-height: 44px; align-items: center; gap: 12px; border-radius: 6px; color: #fcdd6c; font-family: "Montserrat", sans-serif; font-size: 18px; font-weight: 600; line-height: 1; text-decoration: none; }
.footer-social::before { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; background-color: transparent; background-image: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/footer-socials-home3.svg"); background-repeat: no-repeat; background-size: 904px 82.7px; content: ""; }
.footer-social--facebook::before { background-position: 0 0; }
.footer-social--instagram::before { background-position: -378px 0; }
.footer-social--youtube::before { background-position: -658px 0; }
.footer-social--x::before { background-position: -209px -38px; }
.footer-social--tiktok::before { background-position: -557px -45px; }
.footer-social span { position: static; overflow: visible; width: auto; height: auto; margin: 0; clip: auto; clip-path: none; white-space: nowrap; }
.footer-social:hover { background: rgba(253, 220, 96, .14); }
.footer-social:focus-visible { outline-color: var(--gold); }
.footer-social--facebook { top: 0; left: 0; width: 32%; height: 45%; }
.footer-social--instagram { top: 0; left: 41%; width: 25%; height: 45%; }
.footer-social--youtube { top: 0; right: 0; width: 29%; height: 45%; }
.footer-social--x { bottom: 0; left: 23%; width: 27%; height: 45%; }
.footer-social--tiktok { right: 14%; bottom: 0; width: 25%; height: 45%; }

@media (min-width: 1333px) {
  .footer-stage { aspect-ratio: 2914 / 800; }
  .footer-socials { top: 74.5%; }
}

@media (min-width: 1333px) {
  .footer-socials { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, 44px); column-gap: clamp(8px, 1.25vw, 18px); row-gap: 4px; align-items: center; aspect-ratio: auto; }
  .footer-social { position: relative; inset: auto; width: 100%; height: 44px; justify-content: center; }
  .footer-social--facebook { inset: auto; grid-column: 1; grid-row: 1; width: 100%; height: 44px; }
  .footer-social--instagram { inset: auto; grid-column: 2; grid-row: 1; width: 100%; height: 44px; }
  .footer-social--youtube { inset: auto; grid-column: 3; grid-row: 1; width: 100%; height: 44px; }
  .footer-social--x { inset: auto; grid-column: 1 / span 2; grid-row: 2; width: 100%; height: 44px; }
  .footer-social--tiktok { inset: auto; grid-column: 2 / span 2; grid-row: 2; width: 100%; height: 44px; }
}

@media (min-width: 1333px) {
  .footer-partner-group { position: absolute; inset: auto; top: 0; right: auto; bottom: 0; left: auto; width: 50%; }
  .footer-partner-group--mitra { left: 0; }
  .footer-partner-group--media { right: 0; }
  .footer-heading { width: 100%; }
  .footer-heading--partner { left: 0; }
  .footer-heading--media { right: 0; }
  .footer-heading { font-size: clamp(34px, 2.7vw, 42px); line-height: 1.35; }
  .footer-logo-list { position: absolute; top: 23.5%; right: 8%; bottom: 28.5%; left: 8%; display: grid; align-items: stretch; justify-items: stretch; gap: 6px 10px; margin: 0; padding: 0; }
  .footer-partner-group--mitra .footer-logo-list { right: 12%; }
  .footer-partner-group--media .footer-logo-list { left: 12%; }
  .footer-partner-group--mitra .footer-logo-list { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(3, minmax(0, 1fr)); }
  .footer-partner-group--media .footer-logo-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: minmax(0, 1fr); }
  .footer-logo { position: relative; inset: auto; width: 100%; height: 100%; min-width: 0; min-height: 0; }
  .footer-partner-group--mitra .footer-logo--mic img { transform: scale(1.08); }
  .footer-partner-group--mitra .footer-logo--wisma img,
  .footer-partner-group--mitra .footer-logo--imperial img { transform: scale(1.1); }
  .footer-partner-group--mitra .footer-logo--manulife img { transform: scale(.86); }
  .footer-partner-group--media .footer-logo--jogja-tv img { transform: scale(.82); }
  .footer-partner-group--media .footer-logo--kotaperak img { transform: scale(.78); }
}

@media (max-width: 1332px) {
  .site-header { height: 56px; padding: 0 18px; }
  .brand-mark { width: 34px; height: 35px; }
  .site-header nav a, .nav-contact { font-size: 18px; }
  #main-content .flow-section { min-height: calc(100svh - 56px); }
}

@media (max-width: 1200px) {
  .hero { z-index: auto; height: calc(100svh - 56px); min-height: 530px; overflow: hidden; clip-path: none; }
  .hero-art { top: auto; bottom: -350px; left: -100px; width: 800px; }
  .hero-mascot { top: auto; right: 1%; bottom: -90px; width: 184px; }
  .hero-canopy { transform: translateX(-50%) scale(.75); transform-origin: center top; }
  .hero-welcome { margin-bottom: 20px; font-size: 32px; line-height: 1.4; }
  .hero-cta .hero-flowers { display: none; }
  .hero-cta::before, .hero-cta::after { display: none; }
  .hero-copy { padding-top: 102px; }
  .hero h1 { font-size: clamp(63px, 11.7vw, 108px); line-height: 1.12; }

  .hero-copy .hero-subhead { width: min(580px, calc(100vw - 48px)); max-width: none; margin-top: 24px; font-size: 17px; line-height: 1.5; }
  .hero-copy .hero-subhead br { display: none; }
  .hero-cta .figma-button { width: 260px; min-height: 58px; gap: 16px; font-size: 14px; }
  .hero-cta { margin-top: 24px; }
  .figma-button { width: 176px; height: 48px; border-radius: 6px; font-size: 25px; }
  .countdown-section { min-height: 500px; }
  .countdown-scene { top: -470px; left: 50%; width: 1000px; transform: translateX(-57%); }
  .countdown-art { width: 1000px; }
  .countdown-copy { padding-top: 70px; }
  .countdown-copy .section-kicker { width: 100%; font-size: 36px; }
  .countdown-copy h2 { width: 100%; margin-top: 20px; font-size: clamp(58px, 12vw, 100px); line-height: 1.55; }
  .countdown-copy--active .section-kicker { margin-top: 28px; }
  .countdown-value { width: min(760px, calc(100% - 36px)); margin-top: 18px; font-size: clamp(46px, 8vw, 62px); line-height: 1.1; }
  .countdown-unit-label { font-size: 16px; }
  .section-inner, .timeline-inner { max-width: calc(100% - 36px); }
  .why-section { height: auto; min-height: 500px; padding: 55px 0 70px; }
  .why-art { width: 1285px; }
  .section-title { font-size: clamp(58px, 10vw, 90px); }
  .why-section .section-title { width: auto; height: auto; margin-bottom: 48px; line-height: 1.08; white-space: normal; }
  .why-card, .prize-card, .testimonial-copy { width: 100%; }
  .why-card { height: auto; min-height: 0; padding: 24px; }
  .why-card p { width: auto; height: auto; font-size: 20px; text-align: left; }
  .timeline-section { height: 1350px; }
  .timeline-section::before { bottom: 150px; }
  .timeline-board { width: min(600px, 100%); }
  .timeline-list { width: 100%; }
  .timeline-entry { width: 45%; }
  .timeline-entry h3 { font-size: 28px; line-height: 1.12; white-space: normal; }
  .timeline-entry time { font-size: 14px; line-height: 1.45; }
  .timeline-monkey {
    top: 80px;
    right: calc(50% + 290px);
    left: auto;
    width: min(clamp(110px, calc(20.26vw - 56.13px), 187px), calc((100% - 600px) / 2));
    height: auto;
  }
  .timeline-tree { display: none; top: 0; right: 0; width: 420px; }
  .prize-section { height: 1280px; min-height: 0; margin-top: 0; padding-bottom: 0; }
  .prize-section .section-title { top: 360px; width: min(902px, calc(100% - 48px)); height: auto; font-size: clamp(58px, 8vw, 76px); line-height: 1.08; text-align: center; white-space: normal; scroll-margin-top: 96px; }
  .prize-card { top: 540px; display: flex; width: min(920px, 100%); height: auto; min-height: 0; flex-direction: column; align-items: center; padding: 26px 40px 30px; }
  .prize-heading, .prize-amount, .prize-extras, .prize-promo-line, .prize-benefits { position: static; width: 100%; }
  .prize-heading--total { font-size: clamp(54px, 8vw, 76px); line-height: 1.15; }
  .prize-amount, .prize-promo-line { font-size: clamp(48px, 7vw, 70px); line-height: 1.05; }
  .prize-promo-line { line-height: .95; }
  .prize-amount { margin-top: -4px; }
  .prize-extras { margin-top: 2px; font-size: clamp(23px, 3vw, 34px); line-height: 1.22; }
  .prize-promo-line { margin-top: 24px; padding-inline: 28px; letter-spacing: .05em; white-space: nowrap; }
  .prize-benefits { margin-top: 20px; }
  .prize-benefit { grid-template-columns: 52px minmax(0, 1fr); gap: 24px; min-height: 84px; }
  .prize-benefit img { width: 52px; height: 52px; }
  .prize-benefit p { font-size: clamp(19px, 2.5vw, 28px); }
  .prize-benefits small { margin-top: 18px; font-size: clamp(14px, 1.8vw, 18px); }
  .testimonial-section { height: auto; min-height: 1550px; padding-bottom: 100px; }
  .testimonial-section .section-title { width: 100%; height: auto; margin-bottom: 36px; font-size: clamp(72px, 11vw, 112px); line-height: 1.1; white-space: normal; }
  .testimonial-art { width: 1150px; }
  .testimonial-frame { width: min(604px, calc(100vw - 36px)); height: auto; aspect-ratio: 604 / 626; transform: none; margin-bottom: 0; }

  .testimonial-name h3 { font-size: clamp(34px, 5vw, 54px); }
  .testimonial-copy { height: auto; min-height: 0; padding: 20px 24px; }
  #main-content .flow-section { height: auto; min-height: calc(100svh - 56px); padding: 50px 0 90px; scroll-margin-top: 76px; }
  .flow-heading-art { top: 80px; width: 900px; }
  .flow-raccoon { top: 80px; width: 900px; }
  .flow-section .section-title { width: 100%; height: auto; margin-bottom: 48px; font-size: clamp(58px, 9vw, 88px); line-height: 1.08; white-space: normal; }
  .video-card { width: 100%; height: auto; aspect-ratio: 1014 / 570; }
  #main-content .registration-section { height: auto; min-height: 0; padding: 40px 0 40px; scroll-margin-top: 76px; }
  .registration-tree { top: -80px; left: -94px; width: 368px; }
  .registration-title { font-size: clamp(65px, 12vw, 110px); letter-spacing: .1em; }
  .registration-title { width: 100%; height: auto; margin-bottom: 46px; line-height: 1.05; white-space: normal; }
  .book-promo { left: auto; width: 100%; max-width: 100%; min-height: 0; grid-template-columns: minmax(0, 1fr) minmax(260px, 38%); gap: 24px; margin-top: 86px; transform: none; }
  .book-promo-copy h3 { width: 100%; }
  .book-title-line--one { width: 98.36%; height: auto; margin-left: 1.36%; }
  .book-title-line--two { width: 100%; height: auto; margin-top: 2.6%; margin-left: .55%; }
  .book-promo-copy > p { width: auto; height: auto; margin: clamp(36px, 6vw, 70px) 0 clamp(10px, 1.5vw, 15px); }
  .book-purchase-cta { width: auto; height: auto; margin: clamp(36px, 6vw, 70px) 0 clamp(10px, 1.5vw, 15px); font-size: clamp(28px, 4vw, 38px); }
  .book-purchase-cta > span:last-child { display: block; }
  .book-stores { width: min(356px, 100%); grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
  .book-stores a { width: 100%; height: 62px; }
  .book-store-link--whatsapp, .book-store-link--tiktok { font-size: clamp(14px, 2vw, 18px); }
  .book-covers { width: 100%; height: auto; aspect-ratio: 531 / 541; margin-top: -23.35%; }
  .book-covers img:first-child { top: 0; left: 1.9%; width: 88.51%; }
  .book-covers img:last-child { top: 5.18%; left: 32.39%; width: 87.19%; }
  .contact-section { height: 410px; padding-top: 54px; scroll-margin-top: 76px; }
  .contact-tree { top: 24px; right: -189px; width: 457px; }
  .contact-section .section-title { width: auto; height: auto; font-size: clamp(58px, 9vw, 86px); line-height: 1.08; white-space: normal; }
  .contact-intro { font-size: clamp(18px, 2.4vw, 20px); }
  .contact-person { grid-template-columns: 56px 32px max-content max-content; font-size: clamp(22px, 3.2vw, 28px); }
  .contact-whatsapp img { width: 32px; height: 32px; flex-basis: 32px; }
}

@media (max-width: 820px) {
  .timeline-monkey { display: none; }
}

@media (max-width: 640px) {
  :root { --mobile-header-height: 56px; scroll-padding-top: var(--mobile-header-height); }
  html:has(#main-content > .hero#home) { scroll-snap-type: y mandatory; }
  html:has(#main-content > .hero#home) #main-content > section, html:has(#main-content > .hero#home) .footer { scroll-snap-align: start; scroll-snap-stop: always; scroll-margin-top: 0; }
  .site-header { height: var(--mobile-header-height); padding: 0 10px; }
  .brand-mark { display: grid; width: 44px; height: 44px; place-items: center; box-shadow: none; }
  .brand-mark img { width: 30px; height: 31px; box-shadow: 0 3px 4px rgba(0,0,0,.25); }
  .site-header[data-nav-ready] .nav-toggle {
    display: inline-flex;
    min-width: 76px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    margin-left: auto;
    padding: 0 11px;
    border: 2px solid var(--gold);
    border-radius: 6px;
    color: #fffdf2;
    background: var(--green);
    cursor: pointer;
    font: 700 14px/1 var(--body);
    letter-spacing: .03em;
  }
  .nav-toggle-icon,
  .nav-toggle-icon::before,
  .nav-toggle-icon::after { display: block; width: 18px; height: 2px; background: currentColor; content: ""; transition: transform 180ms ease, opacity 180ms ease; }
  .nav-toggle-icon { position: relative; }
  .nav-toggle-icon::before, .nav-toggle-icon::after { position: absolute; left: 0; }
  .nav-toggle-icon::before { top: -6px; }
  .nav-toggle-icon::after { top: 6px; }
  .site-header[data-nav-open] .nav-toggle-icon { background: transparent; }
  .site-header[data-nav-open] .nav-toggle-icon::before { transform: translateY(6px) rotate(45deg); }
  .site-header[data-nav-open] .nav-toggle-icon::after { transform: translateY(-6px) rotate(-45deg); }
  .site-header > nav {
    position: absolute;
    top: calc(100% + 8px);
    right: 8px;
    left: 8px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    margin: 0;
    padding: 8px;
    border: 2px solid var(--gold);
    border-radius: 10px;
    background: var(--green);
    box-shadow: 0 8px 18px rgba(0,0,0,.28);
    transform-origin: top center;
    transition: opacity 160ms ease, transform 180ms ease, visibility 180ms ease;
  }
  .site-header[data-nav-ready]:not([data-nav-open]) > nav { visibility: hidden; opacity: 0; pointer-events: none; transform: translateY(-8px) scaleY(.96); }
  .site-header[data-nav-open] > nav { visibility: visible; opacity: 1; pointer-events: auto; transform: none; }
  .site-header nav a {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 6px;
    background: rgba(255,255,255,.05);
    font-size: 15px;
    line-height: 1.2;
    text-align: center;
  }
  .site-header nav a:hover, .site-header nav a[aria-current] { background: rgba(253,220,96,.12); }
  .nav-contact { grid-column: 1 / -1; width: 100%; font-size: 15px; line-height: 1.2; }
  .nav-contact-toggle { width: 100%; justify-content: center; padding: 7px 10px; border-radius: 6px; background: rgba(255,255,255,.05); }
  .nav-contact-menu { position: static; grid-template-columns: 1fr 1fr; min-width: 0; gap: 6px; margin-top: 6px; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .site-header .nav-contact-menu a { justify-content: center; font-size: 14px; text-align: center; }
  .footer { padding: 8px 6px 6px; background: #f3d275; }
  .footer-stage { display: flex; min-height: 0; aspect-ratio: auto; flex-direction: column; padding: 14px 18px 10px; overflow: hidden; border-radius: 24px; background: #3e5626 url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/footer-panel.png") center / cover no-repeat; box-shadow: 0 4px 4px rgba(0,0,0,.25); }
  .footer-visual { display: none; }
  .footer-partners { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 0; }
  .footer-partners::after { position: absolute; top: 10px; bottom: 22px; left: 50%; width: 3px; background: #fcdd6c; content: ""; transform: translateX(-50%); }
  .footer-partner-group { position: relative; inset: auto; min-width: 0; padding-inline: 10px; }
  .footer-heading { position: static; display: block; width: auto; margin: 2px 0 4px; padding-block: .08em .18em; overflow: visible; font-size: clamp(27px, 8.6vw, 40px); line-height: 1.1; white-space: normal; }
  .footer-logo-list { display: grid; align-content: start; justify-items: center; gap: 2px; }
  .footer-logo { position: relative; inset: auto; width: 100%; height: 32px; }
  .footer-logo--bsm, .footer-logo--wisma, .footer-logo--imperial, .footer-logo--takaful, .footer-logo--manulife { height: 34px; }
  .footer-logo--jogja-tv, .footer-logo--kotaperak { height: 50px; }
  .footer-socials { position: relative; top: auto; left: auto; display: grid; width: 100%; aspect-ratio: auto; gap: 2px; margin-top: auto; }
  .footer-socials-art { display: none; }
  .footer-social { position: relative; inset: auto; display: flex; width: 100%; height: 44px; align-items: center; gap: 12px; color: #fcdc6c; font-family: var(--body); font-size: clamp(17px, 5.3vw, 23px); line-height: 1; text-decoration: none; }
  .footer-social::before { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 50%; background-color: transparent; background-image: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/footer-socials-home3.svg"); background-repeat: no-repeat; background-size: 904px 82.7px; content: ""; }
  .footer-social--facebook::before { background-position: 0 0; }
  .footer-social--instagram::before { background-position: -378px 0; }
  .footer-social--youtube::before { background-position: -658px 0; }
  .footer-social--x::before { background-position: -209px -38px; }
  .footer-social--tiktok::before { background-position: -557px -45px; }
  .footer-social span { position: static; overflow: visible; width: auto; height: auto; margin: 0; clip: auto; clip-path: none; white-space: normal; }
}

@media (min-width: 641px) and (max-width: 1332px) {
  .footer { padding: 8px 6px 6px; background: #f3d275; }
  .footer-stage { display: flex; min-height: 0; aspect-ratio: auto; flex-direction: column; padding: 14px 28px 10px; overflow: hidden; border-radius: 24px; background: #3e5626 url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/footer-panel.png") center / cover no-repeat; box-shadow: 0 4px 4px rgba(0,0,0,.25); }
  .footer-visual { display: none; }
  .footer-partners { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 0; }
  .footer-partners::after { position: absolute; top: 10px; bottom: 22px; left: 50%; width: 3px; background: #fcdd6c; content: ""; transform: translateX(-50%); }
  .footer-partner-group { position: relative; inset: auto; min-width: 0; padding-inline: 24px; }
  .footer-heading { position: static; display: block; width: auto; margin: 2px 0 4px; padding-block: .08em .18em; overflow: visible; font-size: 40px; line-height: 1.1; white-space: normal; }
  .footer-logo-list { display: grid; align-content: start; justify-items: center; gap: 2px; }
  .footer-logo { position: relative; inset: auto; width: 100%; height: 32px; }
  .footer-logo--bsm, .footer-logo--wisma, .footer-logo--imperial, .footer-logo--takaful, .footer-logo--manulife { height: 34px; }
  .footer-logo--jogja-tv, .footer-logo--kotaperak { height: 50px; }
  .footer-socials { position: relative; top: auto; left: auto; display: grid; width: 100%; aspect-ratio: auto; gap: 2px; margin-top: auto; }
  .footer-socials-art { display: none; }
  .footer-social { position: relative; inset: auto; display: flex; width: 100%; height: 44px; align-items: center; gap: 12px; color: #fcdc6c; font-family: var(--body); font-size: 23px; line-height: 1; text-decoration: none; }
  .footer-social::before { display: grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; border-radius: 50%; background-color: transparent; background-image: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/footer-socials-home3.svg"); background-repeat: no-repeat; background-size: 904px 82.7px; content: ""; }
  .footer-social--facebook::before { background-position: 0 0; }
  .footer-social--instagram::before { background-position: -378px 0; }
  .footer-social--youtube::before { background-position: -658px 0; }
  .footer-social--x::before { background-position: -209px -38px; }
  .footer-social--tiktok::before { background-position: -557px -45px; }
  .footer-social span { position: static; overflow: visible; width: auto; height: auto; margin: 0; clip: auto; clip-path: none; white-space: normal; }
}

@media (min-width: 1200px) and (max-width: 1332px) {
  .book-promo { left: auto; width: min(100%, calc(100vw - 160px)); max-width: 100%; min-height: 0; grid-template-columns: minmax(0, 1fr) minmax(260px, 38%); gap: 24px; margin-top: 86px; transform: none; }
  .book-promo-copy h3 { width: 100%; }
  .book-title-line--one { width: 98.36%; height: auto; margin-left: 1.36%; }
  .book-title-line--two { width: 100%; height: auto; margin-top: 2.6%; margin-left: .55%; }
  .book-promo-copy > p { width: auto; height: auto; margin: 70px 0 15px; }
  .book-purchase-cta { width: auto; height: auto; margin: 70px 0 15px; font-size: clamp(26px, 3.2vw, 34px); }
  .book-purchase-cta > span:last-child { display: block; }
  .book-stores { gap: 12px 16px; }
  .book-stores a { width: 170px; height: 62px; }
  .book-covers { width: 100%; height: auto; aspect-ratio: 531 / 541; margin-top: -23.35%; }
  .book-covers img:first-child { top: 0; left: 1.9%; width: 88.51%; }
  .book-covers img:last-child { top: 5.18%; left: 32.39%; width: 87.19%; }
}

@media (min-width: 561px) and (max-width: 1200px) {
  .timeline-section {
    height: auto;
    padding: 64px 0;
  }
  .timeline-section::before { display: none; }
  .timeline-inner {
    display: grid;
    row-gap: 34px;
  }
  .timeline-board {
    width: min(540px, 100%);
    height: 200px;
    margin: 0 auto;
    border-width: 8px;
  }
  .timeline-board h2 {
    top: 20px;
    left: 50%;
    width: calc(100% - 32px);
    height: 108px;
    font-size: clamp(58px, 8vw, 76px);
    line-height: 108px;
    transform: translateX(-50%);
  }
  .timeline-board p {
    top: 126px;
    left: 50%;
    width: 100%;
    height: 38px;
    font-size: 34px;
    line-height: 38px;
    transform: translateX(-50%);
  }
  .timeline-list {
    position: relative;
    display: grid;
    width: min(920px, 100%);
    height: auto;
    margin: 0 auto;
    grid-template-columns: minmax(0, 1fr);
    row-gap: 18px;
  }
  .timeline-list::before {
    position: absolute;
    z-index: 0;
    top: 22px;
    bottom: 22px;
    left: 50%;
    border-left: 4px dashed var(--green);
    content: "";
    pointer-events: none;
    transform: translateX(-50%);
  }
  .timeline-entry,
  .timeline-entry--right,
  .timeline-entry--left {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) 56px minmax(0, 1fr);
    min-height: 0;
    align-items: center;
    padding: 0;
  }
  .timeline-entry--right { text-align: left; }
  .timeline-entry--left { text-align: right; }
  .timeline-list .timeline-entry { top: auto; }
  .timeline-list .timeline-entry--right > div,
  .timeline-list .timeline-entry--left > div {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    width: 100%;
    padding: 14px 18px 16px;
    text-align: inherit;
  }
  .timeline-entry--right > div { grid-column: 3; grid-row: 1; }
  .timeline-entry--left > div { grid-column: 1; grid-row: 1; }
  .timeline-entry--right .timeline-dot,
  .timeline-entry--left .timeline-dot {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
    width: 36px;
    height: 36px;
    border-width: 7px;
  }
  .timeline-entry h3 {
    font-size: clamp(26px, 3.4vw, 32px);
    line-height: 1.08;
    text-align: inherit;
  }
  .timeline-entry time {
    margin-top: 6px;
    font-size: 14px;
    line-height: 1.35;
    text-align: inherit;
    white-space: normal;
  }
  .timeline-entry--right .timeline-status { margin-right: auto; margin-left: 0; }
  .timeline-entry--left .timeline-status { margin-right: 0; margin-left: auto; }
  .timeline-status { margin-top: 9px; }
}

@media (min-width: 561px) and (max-width: 640px) {
  .timeline-board h2 { left: 50%; width: calc(100% - 32px); font-size: clamp(58px, 12vw, 72px); letter-spacing: .12em; transform: translateX(-50%); }
}

@media (min-width: 768px) and (max-width: 1200px) {
  .testimonial-name h3 { white-space: normal; }
}

@media (max-width: 560px) {
  .hero { display: grid; align-items: center; height: auto; min-height: max(560px, calc(100svh - 56px)); padding-block: 48px 104px; }
  .hero-copy { padding-top: 0; }
  .hero-art { bottom: -245px; left: -85px; width: 560px; }
  .hero-mascot { right: -4px; bottom: -65px; width: 126px; }
  .hero-cta .hero-flowers { display: none; }
  .hero h1 { margin-top: 0; font-size: clamp(57.6px, 15.3vw, 72px); line-height: 1.12; }
  .hero-welcome { margin-bottom: 18px; font-size: 28px; line-height: 1.4; }
  .hero-canopy { transform: translateX(-50%) scale(.45); }
  .hero-copy .hero-subhead { width: min(340px, calc(100% - 48px)); margin-top: 22px; font-size: 14px; line-height: 1.45; text-wrap: balance; }
  .hero-cta { margin-top: 28px; }
  .hero-cta .figma-button { min-height: 56px; }
  .countdown-section { min-height: 430px; }
  .countdown-scene { top: -360px; width: 760px; transform: translateX(-57%); }
  .countdown-art { top: -12px; width: 430px; }
  .countdown-copy { width: 100%; min-width: 0; grid-template-columns: minmax(0, 1fr); padding-top: 55px; }
  .countdown-copy .section-kicker { width: 100%; font-size: 30px; }
  .countdown-copy--active .section-kicker { margin-top: 28px; }
  .countdown-copy h2 { width: calc(100% - 24px); font-size: clamp(46px, 16vw, 58px); line-height: 1.55; }
  .countdown-value { width: calc(100% - 24px); gap: 4px; font-size: clamp(30px, 9vw, 40px); }
  .countdown-unit { gap: 5px; }
  .countdown-unit-label { font-size: clamp(11px, 3.2vw, 14px); }
  .why-card p { font-size: 15px; }
  .timeline-section { height: auto; padding: 56px 0 64px; }
  .timeline-section::before { display: none; }
  .timeline-inner { display: grid; row-gap: 28px; }
  .timeline-board { height: 180px; margin: 0 auto; padding: 0; border-width: 6px; }
  .timeline-board h2 { top: 21px; left: 50%; width: calc(100% - 32px); height: 100px; font-size: 50px; letter-spacing: .12em; line-height: 100px; transform: translateX(-50%); }
  .timeline-board p { top: 119px; left: 50%; width: 150px; height: 38px; font-size: 32px; line-height: 38px; transform: translateX(-50%); }
  .timeline-list { display: grid; height: auto; margin-top: 0; row-gap: 18px; }
  .timeline-entry, .timeline-entry--right, .timeline-entry--left {
    position: relative;
    top: auto !important;
    right: auto;
    left: auto;
    display: grid;
    width: 100%;
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 0;
    align-items: start;
    padding: 0;
    text-align: left;
  }
  .timeline-list .timeline-entry--right > div, .timeline-list .timeline-entry--left > div {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    grid-column: 2;
    grid-row: 1;
    width: 100%;
    padding: 16px 18px 18px;
    text-align: left;
  }
  .timeline-entry--right .timeline-dot, .timeline-entry--left .timeline-dot {
    position: relative;
    top: 12px;
    right: auto;
    left: auto;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
    width: 42px;
    height: 42px;
    border-width: 8px;
  }
  .timeline-entry:not(:last-child)::after { position: absolute; z-index: 0; top: 33px; bottom: -39px; left: 20px; border-left: 4px dashed var(--green); content: ""; }
  .timeline-entry h3 { font-size: 26px; line-height: 1.08; text-align: left; }
  .timeline-entry time { margin-top: 6px; line-height: 1.35; text-align: left; white-space: normal; }
  .timeline-status { width: 154px; margin: 10px 0 0; font-size: 11px; }
  .timeline-tree { display: none; }
  .prize-section { height: auto; padding-top: 56px; padding-bottom: 80px; }
  .prize-section .section-inner { height: auto; }
  .prize-section .section-title { position: relative; top: auto; left: 50%; width: calc(100% - 24px); text-align: center; white-space: normal; }
  .prize-card { position: relative; top: auto; margin-top: 48px; padding: 22px 16px 24px; border-width: 6px; }
  .prize-heading--total { font-size: 48px; }
  .prize-amount { font-size: clamp(34px, 10vw, 44px); }
  .prize-promo-line { font-size: clamp(28px, 8vw, 40px); line-height: .95; }
  .prize-amount { white-space: nowrap; }
  .prize-extras { font-size: 17px; }
  .prize-promo-line { margin-top: 24px; padding-inline: 16px; white-space: nowrap; }
  .prize-benefits { margin-top: 14px; }
  .prize-benefit { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; min-height: 78px; }
  .prize-benefit img { width: 42px; height: 42px; }
  .prize-benefit p { font-size: 15px; line-height: 1.28; }
  .prize-benefits small { margin: 14px 0 0; font-size: 11px; line-height: 1.25; }
  .testimonial-section { min-height: 0; padding-bottom: 84px; }
  .testimonial-frame { width: min(332px, calc(100vw - 36px)); height: auto; aspect-ratio: 604 / 626; margin-bottom: 0; transform: none; }
  .testimonial-photo { top: 14.217%; left: 17.55%; width: 65.563%; height: 71.565%; }
  .testimonial-name h3 { font-size: 30px; }
  .testimonial-award { font-size: 32px; }
  .testimonial-copy { padding: 18px; border-width: 6px; text-align: left; }
  #main-content .flow-section { min-height: 460px; padding: 28px 0 62px; }
  .flow-heading-art { top: 58px; width: 560px; }
  .flow-raccoon { top: 110px; width: 560px; }
  .flow-section .section-title { margin-bottom: 40px; font-size: 50px; }
  .video-card { border-radius: 18px; }
  #main-content .registration-section { height: auto; min-height: 0; padding: 40px 0 40px; }
  .registration-title { font-size: 54px; }
  .registration-kicker { font-size: 36px; }
  .registration-tree { top: -36px; left: -42px; width: 160px; }
  .book-promo { display: flex; flex-direction: column; margin-top: 76px; text-align: center; }
  .book-promo-copy h3 { width: min(340px, 100%); margin: 0 auto; }
  .book-promo-copy > p { margin: 34px 0 14px; }
  .book-purchase-cta { margin: 34px 0 14px; font-size: 24px; }
  .book-stores { width: min(100%, 340px); grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: center; gap: 12px; margin-inline: auto; }
  .book-stores a { width: 100%; height: 58px; max-width: none; }
  .book-store-link--whatsapp, .book-store-link--tiktok { gap: 6px; font-size: clamp(13px, 4.2vw, 16px); }
  .book-covers img:first-child { left: -8.84%; }
  .book-covers img:last-child { left: 21.65%; }
  .contact-section { height: 385px; padding-top: 46px; }
  .contact-section .section-title { text-align: center; }
  .contact-intro { margin: 0 auto 24px; font-size: 16px; line-height: 1.35; text-align: center; }
  .contact-list { gap: 12px; }
  .contact-person { grid-template-columns: 42px 28px minmax(0, max-content) max-content; column-gap: 8px; justify-content: center; font-size: clamp(14px, 4.4vw, 18px); letter-spacing: .01em; }
  .contact-whatsapp { grid-template-columns: 28px max-content; gap: 8px; }
  .contact-whatsapp img { width: 28px; height: 28px; flex-basis: 28px; }
  .contact-tree { top: 30px; right: -110px; width: 170px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .timeline-motion-ready .timeline-reveal-item { opacity: 1; transform: none; transition: none; }
  .timeline-motion-ready .timeline-entry .timeline-dot { transform: none; transition: none; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Mobile hero: one quiet entrance, never a looping distraction. */
@media (max-width: 560px) and (prefers-reduced-motion: no-preference) {
  .hero-copy > * { animation: mobile-hero-enter 720ms cubic-bezier(.22, 1, .36, 1) both; }
  .hero h1 { animation-delay: 80ms; }
  .hero-copy .hero-subhead { animation-delay: 160ms; }
  .hero-copy .hero-cta { animation-delay: 240ms; }
  .hero-mascot { animation: mobile-hero-enter 900ms 180ms cubic-bezier(.22, 1, .36, 1) both; }
}
@keyframes mobile-hero-enter {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Testimonial carousel: one reusable stateful composition. */
.testimonial-carousel {
  --testimonial-track-duration: 620ms;
  --testimonial-track-ease: cubic-bezier(.4, 0, .2, 1);
  --testimonial-entry-x: 12px;
  position: relative;
  width: 100%;
}
.testimonial-carousel[data-carousel-direction="previous"] { --testimonial-entry-x: -12px; }
.testimonial-viewport { width: 100%; overflow-x: clip; overflow-y: visible; touch-action: pan-y; transition: height var(--testimonial-track-duration) var(--testimonial-track-ease); }
.testimonial-track { display: flex; align-items: flex-start; width: 100%; transition: transform var(--testimonial-track-duration) var(--testimonial-track-ease); will-change: transform; }
.testimonial-slide { flex: 0 0 100%; min-width: 0; }
.testimonial-card { width: 100%; margin: 0; }
.testimonial-slide--entering .testimonial-photo,
.testimonial-slide--entering .testimonial-border,
.testimonial-slide--entering .testimonial-name,
.testimonial-slide--entering .testimonial-award,
.testimonial-slide--entering .testimonial-copy {
  animation: testimonial-content-enter 420ms cubic-bezier(.22, 1, .36, 1) both;
}
.testimonial-slide--entering .testimonial-photo,
.testimonial-slide--entering .testimonial-border { animation-delay: 120ms; }
.testimonial-slide--entering .testimonial-name,
.testimonial-slide--entering .testimonial-award { animation-delay: 160ms; }
.testimonial-slide--entering .testimonial-copy { animation-delay: 200ms; }
@keyframes testimonial-content-enter {
  from { opacity: .7; transform: translate3d(var(--testimonial-entry-x), 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}
.testimonial-controls { display: flex; align-items: center; justify-content: center; gap: 28px; margin-top: 34px; }
.testimonial-arrow, .testimonial-dots button { display: grid; place-items: center; border: 0; cursor: pointer; }
.testimonial-arrow {
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: transparent;
  background-image: url("https://zikzaklucu.github.io/LMNAS-37/Assets/figma/testimonial-arrow-figma.svg");
  background-repeat: no-repeat;
  background-size: 931.81px 52px;
  transition: filter 160ms var(--testimonial-track-ease), transform 160ms var(--testimonial-track-ease);
}
.testimonial-arrow[data-carousel-prev] { background-position: left center; }
.testimonial-arrow[data-carousel-next] { background-position: right center; }
.testimonial-arrow:disabled { cursor: not-allowed; opacity: .52; }
.testimonial-dots { display: flex; gap: 13px; align-items: center; }
.testimonial-dots button { width: 44px; height: 44px; padding: 0; border-radius: 50%; background: transparent; }
.testimonial-dots button:focus-visible { outline: 2px solid var(--green-dark); outline-offset: -6px; }
.testimonial-dots button::after { width: 14px; height: 14px; border: 3px solid var(--green); border-radius: 50%; background: transparent; content: ""; transition: filter 160ms var(--testimonial-track-ease), transform 160ms var(--testimonial-track-ease); }
.testimonial-dots button[aria-current="true"]::after { background: var(--green); box-shadow: 0 0 0 4px var(--cream), 0 0 0 7px var(--green); }
.testimonial-arrow:not(:disabled):hover { filter: brightness(1.08); transform: translateY(-2px); }
.testimonial-arrow:not(:disabled):active { filter: brightness(1.03); transform: translateY(0) scale(.94); }
.testimonial-dots button:hover::after { filter: brightness(1.12); }
.testimonial-dots button:active::after { transform: scale(.88); }

@media (min-width: 1201px) {
  .testimonial-carousel { margin-inline: auto; }
  .testimonial-controls { margin-top: 42px; }
}

@media (max-width: 1200px) {
  .testimonial-section { height: auto; min-height: 0; padding-bottom: 92px; }
  .testimonial-controls { margin-top: 30px; }
  .testimonial-copy { height: auto; min-height: 0; }
}

@media (max-width: 560px) {
  .testimonial-carousel { width: 100%; }
  .testimonial-controls { gap: 16px; margin-top: 25px; }
  .testimonial-arrow { width: 48px; height: 48px; background-size: 860.13px 48px; }
  .testimonial-dots { gap: 8px; }
  .testimonial-dots button { width: 44px; height: 44px; }
  .testimonial-dots button::after { width: 12px; height: 12px; }
  .testimonial-copy { margin-top: 22px; }
}

@media (max-width: 360px) {
  .testimonial-controls { gap: 4px; }
  .testimonial-arrow { width: 44px; height: 44px; flex: 0 0 44px; background-size: 788.45px 44px; }
  .testimonial-dots { gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-track, .testimonial-viewport { transition: none; }
  .testimonial-slide--entering .testimonial-photo,
  .testimonial-slide--entering .testimonial-border,
  .testimonial-slide--entering .testimonial-name,
  .testimonial-slide--entering .testimonial-award,
  .testimonial-slide--entering .testimonial-copy {
    animation: testimonial-reduced-fade 90ms linear both;
    transform: none;
  }
  .testimonial-arrow:not(:disabled):hover,
  .testimonial-arrow:not(:disabled):active { transform: none; }
  .testimonial-dots button:active::after { transform: none; }
}
@keyframes testimonial-reduced-fade {
  from { opacity: .88; }
  to { opacity: 1; }
}

.flow-video-stage { position: relative; padding-top: 50px; }
.flow-video-stage .flow-raccoon { top: 50px; transform: translate(-50%, -36.3%); }
@media (max-width: 1200px) {
  .prize-section { height: auto; padding: 56px 0 80px; }
  .prize-section .section-inner { height: auto; }
  .prize-section .section-title { position: relative; top: auto; }
  .prize-section .prize-card { position: relative; top: auto; margin-top: 48px; }
}
@media (max-width: 560px) {
  .flow-video-stage { padding-top: 12px; }
  .flow-video-stage .flow-raccoon { top: 12px; }
}

/* Keep the portrait frame intrinsic through the tablet-to-mobile seam. */
@media (max-width: 1200px) {
  .testimonial-photo { top: 14.217%; left: 17.55%; width: 65.563%; height: 71.565%; }
  .testimonial-frame {
    width: min(604px, calc(100vw - 36px));
    height: auto;
    aspect-ratio: 604 / 626;
    margin-bottom: 0;
    transform: none;
  }
}

/* Figma testimonial states: nodes 4166:33–46. */
.testimonial-carousel {
  left: 50%;
  width: min(1306px, calc(100vw - 48px));
  transform: translateX(-50%);
}
.testimonial-name h3 {
  max-width: 100%;
  padding: .08em 16px .04em;
  color: var(--green);
  font-size: var(--testimonial-name-size, 96px);
  line-height: 1.06;
}
.testimonial-award {
  color: var(--green);
  font-size: 80px;
  line-height: 1;
}
.testimonial-copy {
  width: min(1085px, calc(100% - 48px));
  height: auto;
  min-height: 0;
  padding: 28px 36px;
  border: 5px solid var(--green);
  border-radius: 24px;
  color: #000;
  background: var(--cream);
  box-shadow: 0 8px 14px rgba(45,38,20,.16);
  font-family: var(--body);
  font-size: 27px;
  font-weight: 500;
  letter-spacing: .015em;
  line-height: 1.55;
  text-align: left;
}
.testimonial-slide:nth-child(2) .testimonial-photo {
  top: 14.217%;
  left: 19.205%;
  width: 65.563%;
  height: 71.565%;
}
.testimonial-slide:nth-child(3) .testimonial-photo {
  top: 14.058%;
  left: 17.881%;
  width: 65.728%;
  height: 73.802%;
}
.testimonial-dots button::after { border-color: var(--green); }
.testimonial-dots button[aria-current="true"]::after {
  background: var(--green);
  box-shadow: 0 0 0 4px var(--cream), 0 0 0 7px var(--green);
}

@media (min-width: 1201px) {
  .testimonial-controls { margin-top: 12px; }
  .testimonial-arrow {
    position: absolute;
    z-index: 4;
    top: 287px;
  }
  .testimonial-arrow[data-carousel-prev] { left: calc(50% - 555.5px); }
  .testimonial-arrow[data-carousel-next] { right: calc(50% - 555.5px); }
}

@media (max-width: 1200px) {
  .testimonial-carousel { width: 100%; }
  .testimonial-name h3 {
    font-size: clamp(42px, 7vw, var(--testimonial-name-size, 96px));
    white-space: normal;
  }
  .testimonial-award { font-size: clamp(42px, 6.3vw, 70px); }
  .testimonial-copy {
    width: 100%;
    height: auto;
    min-height: 0;
    font-size: clamp(18px, 2.2vw, 27px);
  }
  .testimonial-art {
    top: auto;
    bottom: -250px;
  }
}

/* Balanced phone composition: identity row, complete quote, controls. */
@media (max-width: 560px) {
  .testimonial-section { --testimonial-mobile-portrait-width: clamp(144px, 44vw, 164px); --testimonial-mobile-identity-height: clamp(149px, 45.6vw, 170px); }
  .testimonial-section { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; height: auto; min-height: 0; padding: 20px 0 50px; scroll-margin-top: 0; }
  .testimonial-section > .section-inner { width: calc(100% - 24px); max-width: none; min-width: 0; }
  .testimonial-section .section-title { margin-bottom: 10px; font-size: 36px; line-height: 1.1; letter-spacing: .1em; }
  .testimonial-card { position: relative; }
  .testimonial-frame { position: absolute; top: 0; left: 0; width: var(--testimonial-mobile-portrait-width); height: auto; margin: 0; aspect-ratio: 604 / 626; }
  .testimonial-identity { display: flex; min-height: var(--testimonial-mobile-identity-height); flex-direction: column; justify-content: center; padding-left: calc(var(--testimonial-mobile-portrait-width) + 12px); text-align: left; transform: translateY(2px); }
  .testimonial-name { justify-content: flex-start; margin-top: 0; }
  .testimonial-name h3 { padding: 0; font-size: 26px; line-height: 1.1; letter-spacing: .025em; }
  .testimonial-award { margin-top: 5px; font-size: 22px; line-height: 1.15; letter-spacing: .025em; }
  .testimonial-copy { width: 100%; margin-top: 6px; padding: 8px; border-width: 2px; border-radius: 18px; font-size: 14px; line-height: 1.35; letter-spacing: 0; text-align: left; }
  .testimonial-controls { margin-top: 10px; }
  .testimonial-art { bottom: -290px; opacity: .35; }
}

/* One-viewport desktop testimonial composition. */
@media (min-width: 1201px) {
  .testimonial-section {
    display: grid;
    height: auto;
    min-height: calc(100svh - 64px);
    align-content: center;
    padding: 32px 0 28px;
  }
  .testimonial-section > .section-inner {
    display: grid;
    width: 100%;
    max-width: none;
    row-gap: 36px;
    justify-items: center;
  }
  .testimonial-section .section-title {
    width: auto;
    height: auto;
    margin: 0;
    font-size: clamp(66px, 5.1vw, 74px);
    line-height: 1.05;
    white-space: nowrap;
  }
  .testimonial-art {
    top: auto;
    bottom: -174px;
    width: 920px;
  }
  .testimonial-carousel {
    left: auto;
    width: min(1125px, calc(100% - 184px));
    margin: 0 auto;
    --testimonial-copy-gap: 16px;
    padding-bottom: 48px;
    transform: none;
  }
  .testimonial-card {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 34%) minmax(0, 62%);
    column-gap: 4%;
    align-items: center;
    margin: 0 auto;
    text-align: left;
  }
  .testimonial-frame {
    width: min(382px, 100%);
    height: auto;
    aspect-ratio: 604 / 626;
    margin: 0 auto;
  }
  .testimonial-photo {
    top: 14.217%;
    left: 17.55%;
    width: 65.563%;
    height: 71.565%;
  }
  .testimonial-card figcaption {
    min-width: 0;
  }
  .testimonial-name {
    justify-content: flex-start;
    margin-top: 0;
  }
  .testimonial-name h3 {
    max-width: 100%;
    padding: 0;
    font-size: clamp(38px, 3.2vw, 46px);
    line-height: 1.05;
    text-align: left;
  }
  .testimonial-award {
    margin: 8px 0 0;
    font-size: clamp(22px, 1.8vw, 28px);
    line-height: 1.1;
    text-align: left;
  }
  .testimonial-copy {
    width: 100%;
    max-width: 100%;
    margin: var(--testimonial-copy-gap) 0 0;
    padding: 24px 28px;
    font-size: clamp(18px, 1.25vw, 20px);
    line-height: 1.55;
    text-align: left;
  }
  .testimonial-controls {
    position: absolute;
    z-index: 4;
    top: 0;
    right: auto;
    bottom: 0;
    left: 50%;
    display: grid;
    width: calc(100% + 160px);
    max-width: none;
    height: auto;
    grid-template-columns: 52px minmax(0, 1fr) 52px;
    grid-template-rows: minmax(0, 1fr) 44px;
    gap: 4px 24px;
    margin: 0;
    pointer-events: none;
    transform: translateX(-50%);
  }
  .testimonial-arrow {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    align-self: center;
    pointer-events: auto;
    transform: none;
  }
  .testimonial-arrow[data-carousel-prev] { grid-column: 1; grid-row: 1; }
  .testimonial-dots {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-content: center;
    pointer-events: auto;
  }
  .testimonial-arrow[data-carousel-next] { grid-column: 3; grid-row: 1; }
}

@media (min-width: 1201px) and (max-height: 800px) {
  .testimonial-section {
    padding: 26px 0 22px;
  }
  .testimonial-carousel {
    --testimonial-copy-gap: 14px;
  }
  .testimonial-section .section-title {
    font-size: clamp(64px, 5.1vw, 72px);
  }
  .testimonial-art {
    bottom: -150px;
    width: 880px;
  }
  .testimonial-copy {
    margin-top: 14px;
    padding: 22px 26px;
    font-size: 18px;
    line-height: 1.5;
  }
  .testimonial-controls {
    margin: 0;
  }
}

/* One-viewport desktop book composition. */
@media (min-width: 1201px) {
  #main-content .registration-section {
    min-height: calc(100svh - 64px);
    padding: 72px 0 24px;
  }
  #main-content .book-section {
    position: relative;
    isolation: isolate;
    height: auto;
    min-height: calc(100svh - 64px);
    padding: 24px 0 30px;
    scroll-margin-top: 112px;
    text-align: center;
  }
  #main-content .book-section > .section-inner {
    width: min(1264px, calc(100% - 80px));
    max-width: calc(100% - 80px);
    height: auto;
    z-index: 2;
  }
  #main-content .book-section .book-promo {
    position: static;
    left: auto;
    width: 100%;
    max-width: 100%;
    min-height: 0;
    margin: 0 auto;
    transform: none;
  }
  .book-section .book-covers {
    margin-top: 0;
  }
}

/* One-viewport desktop flow composition. */
@media (min-width: 1201px) {
  #main-content .flow-section {
    min-height: calc(100svh - 64px);
    padding: 36px 0 0;
  }
  .flow-section .section-title {
    width: min(920px, calc(100% - 80px));
    height: auto;
    margin: 0 auto 30px;
    font-size: clamp(78px, 7vw, 96px);
    line-height: 1.05;
  }
  .flow-section .video-card {
    width: min(1014px, calc(100% - 80px));
    height: auto;
    aspect-ratio: 1014 / 570;
  }
  .flow-section .flow-details-link {
    margin-top: 10px;
  }
}

@media (min-width: 1201px) and (max-height: 800px) {
  #main-content .flow-section {
    padding: 12px 0;
  }
  .flow-section .section-title {
    margin-bottom: 10px;
    font-size: clamp(72px, 6vw, 84px);
    line-height: 1;
  }
  .flow-section .video-card {
    width: min(900px, calc(100% - 80px));
  }
  .flow-section .flow-details-link {
    margin-top: 8px;
  }
}

@media (max-width: 1200px) {
  .book-section {
    padding: 80px 0 100px;
  }
}

@media (max-width: 560px) {
  .book-section {
    padding: 64px 0 80px;
  }
}

@media (max-width: 1200px) {
  #main-content .book-section {
    padding: 80px 0 100px;
  }
  #main-content .book-section .book-promo,
  #main-content .book-section .book-covers {
    margin-top: 0;
  }
}

/* Mobile section snaps use the shared root navbar inset, not legacy target margins. */
@media (max-width: 640px) {
  #main-content > .flow-section,
  #main-content > .registration-section,
  #main-content > .contact-section { scroll-margin-top: 0; }
}

/* Bundled from hero-leaves.css — preserve cascade order. */
/* Sixteen edge-weighted paths and two quieter central paths, with independent timing. */
.hero-leaves { display: none; position: absolute; z-index: 1; inset: 0; overflow: hidden; pointer-events: none; }
.hero-leaf { position: absolute; top: -36px; left: var(--x); width: 22px; height: 100%; opacity: 0; animation: hero-leaf-fall var(--duration) linear var(--delay) infinite; }
.hero-leaf::before { display: block; width: 100%; height: 12px; border-radius: 0 85% 0 85%; background: linear-gradient(30deg, #657039 46%, #9a9254 49%, #56642e 54%); content: ""; animation: hero-leaf-turn var(--turn, 6s) ease-in-out var(--delay) infinite alternate; }
.hero-leaf { --alpha: .55; --sway-scale: 1; }
.hero-leaf:nth-child(1) { --x: 6%; --duration: 21.7s; --delay: -1.4s; --drift: 31px; --turn: 5.3s; }
.hero-leaf:nth-child(2) { --x: 84%; --duration: 25.3s; --delay: -4.9s; --drift: 19px; --turn: 7.1s; width: 17px; }
.hero-leaf:nth-child(3) { --x: 17%; --duration: 19.9s; --delay: -6.3s; --drift: -28px; --turn: 6.4s; width: 20px; }
.hero-leaf:nth-child(4) { --x: 92%; --duration: 23.6s; --delay: -8.1s; --drift: -37px; --turn: 8.2s; width: 18px; }
.hero-leaf:nth-child(5) { --x: 39%; --duration: 28.1s; --delay: -12.7s; --drift: 42px; --turn: 9.3s; --alpha: .24; width: 16px; }
.hero-leaf:nth-child(6) { --x: 76%; --duration: 20.8s; --delay: -10.4s; --drift: 33px; --turn: 5.8s; width: 16px; }
.hero-leaf:nth-child(7) { --x: 11%; --duration: 26.4s; --delay: -16.2s; --drift: 23px; --turn: 7.7s; width: 18px; }
.hero-leaf:nth-child(8) { --x: 88%; --duration: 22.9s; --delay: -16.8s; --drift: -26px; --turn: 6.7s; }
.hero-leaf:nth-child(9) { --x: 23%; --duration: 24.7s; --delay: -18.5s; --drift: -39px; --turn: 8.6s; width: 16px; }
.hero-leaf:nth-child(10) { --x: 59%; --duration: 30.2s; --delay: -25.1s; --drift: -46px; --turn: 10.1s; --alpha: .24; width: 17px; }
.hero-leaf:nth-child(11) { --x: 3%; --duration: 18.8s; --delay: -17.1s; --drift: 27px; --turn: 5.6s; width: 17px; }
.hero-leaf:nth-child(12) { --x: 95%; --duration: 27.5s; --delay: -26.2s; --drift: -34px; --turn: 7.4s; width: 19px; }
.hero-leaf:nth-child(13) { --x: 9%; --duration: 22.4s; --delay: -2.6s; --drift: -22px; --turn: 6.2s; width: 19px; }
.hero-leaf:nth-child(14) { --x: 79%; --duration: 24.1s; --delay: -5.8s; --drift: 26px; --turn: 7.8s; width: 18px; }
.hero-leaf:nth-child(15) { --x: 28%; --duration: 26.9s; --delay: -9.7s; --drift: 34px; --turn: 8.9s; --alpha: .32; width: 15px; }
.hero-leaf:nth-child(16) { --x: 71%; --duration: 21.2s; --delay: -13.5s; --drift: -32px; --turn: 5.9s; --alpha: .32; width: 15px; }
.hero-leaf:nth-child(17) { --x: 14%; --duration: 29.4s; --delay: -18.3s; --drift: 18px; --turn: 9.8s; width: 16px; }
.hero-leaf:nth-child(18) { --x: 86%; --duration: 23.1s; --delay: -22.4s; --drift: -24px; --turn: 7.2s; width: 17px; }
.hero-leaf:nth-child(even)::before { background: linear-gradient(30deg, #8b703e 46%, #ad9053 49%, #796235 54%); }

@keyframes hero-leaf-fall {
  0% { opacity: 0; transform: translate3d(0, 0, 0); }
  10% { opacity: var(--alpha); }
  35% { transform: translate3d(calc(var(--drift) * var(--sway-scale)), 35%, 0); }
  68% { transform: translate3d(calc(var(--drift) * var(--sway-scale) * -.4), 70%, 0); }
  85% { opacity: var(--alpha); }
  100% { opacity: 0; transform: translate3d(0, 106%, 0); }
}
@keyframes hero-leaf-turn {
  from { transform: rotate(-35deg) scaleX(.75); }
  to { transform: rotate(100deg) scaleX(1); }
}
@media (prefers-reduced-motion: no-preference) {
  .hero-leaves { display: block; }

}
@media (max-width: 1200px) {
  .hero-leaf:nth-child(n) { --sway-scale: .4; width: 14px; }
  .hero-leaf:nth-child(even) { width: 12px; }
}
@media (max-width: 640px) {
  .hero-leaf:nth-child(n + 13) { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-leaf, .hero-leaf::before { animation: none; }
}

/* Bundled from hero-owl.css — preserve cascade order. */
/* Approved Figma 4913:101: one perched-owl composite, flow-safe at every size. */
.hero[data-hero-owl] {
  --owl-width: clamp(300px, 48vw, 440px);
  --owl-crop: 0.18;
  --hero-header-height: 56px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: 24px;
  height: auto;
  min-height: calc(100svh - var(--hero-header-height));
  padding: 88px 0 56px;
  overflow-x: clip;
  overflow-y: visible;
  clip-path: inset(0);
}
.hero[data-hero-owl] .hero-copy {
  width: min(900px, 100%);
  min-width: 0;
  padding-top: 0;
  margin-inline: auto;
}
.hero[data-hero-owl] .hero-owl-stage {
  position: relative;
  z-index: 3;
  justify-self: end;
  width: calc(var(--owl-width) * (1 - var(--owl-crop)));
  aspect-ratio: 638.78 / 606;
  pointer-events: none;
}
.hero[data-hero-owl] .hero-mascot {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: auto;
  bottom: auto;
  width: var(--owl-width);
  height: auto;
  max-width: none;
  opacity: 1;
  transform: none;
  animation: none;
  filter: none;
  pointer-events: none;
}
/* This export already includes the supporting branch. Do not duplicate it. */
.hero[data-hero-owl] .hero-canopy .hero-branch-right { display: none; }
@media (min-width: 1201px) {
  .hero[data-hero-owl] {
    --owl-width: clamp(480px, 40vw, 660px);
    --owl-crop: 0.28;
    align-content: center;
    /* Center the whole copy stack in the space above the 44px divider. */
    padding: 112px 0 156px;
    min-height: max(780px, calc(100svh - var(--hero-header-height)));
  }
  .hero[data-hero-owl] .hero-owl-stage {
    aspect-ratio: 560.88 / 606;
    position: absolute;
    right: 0;
    bottom: 56px;
  }
  .hero[data-hero-owl] .hero-art {
    left: -112px;
    transform-origin: 112px 50.2%;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
/* Preserve the complete tree silhouette beside the narrower reading opening. */
@media (min-width: 1201px) and (max-width: 1332px) {
  .hero[data-hero-owl] .hero-art { transform: scale(.9); }
}
@media (min-width: 1333px) and (max-width: 1439px) {
  .hero[data-hero-owl] .hero-art { transform: scale(1.1); }
}
@media (min-width: 1333px) {
  .hero[data-hero-owl] { --hero-header-height: 64px; }
}
@media (max-width: 560px) {
  .hero[data-hero-owl] {
    --owl-width: clamp(280px, 86vw, 360px);
    gap: 24px;
    padding-block: 64px 56px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero[data-hero-owl] .hero-mascot { animation: none; transform: none; }
}

/* Bundled from sponsor-tiers.css — preserve cascade order. */
/* Sponsor hierarchy: fitting boxes preserve each logo's intrinsic proportions. */
.footer-partner-group--mitra .footer-logo-list {
  position: relative;
  inset: auto;
  display: grid;
  grid-template-columns: repeat(4, 120px);
  grid-template-rows: auto;
  justify-content: center;
  align-content: start;
  justify-items: center;
  align-items: center;
  gap: 12px;
  margin: 0;
}
.footer-partner-group--mitra .footer-logo {
  position: relative;
  inset: auto;
  width: 120px;
  height: 60px;
  min-width: 0;
}
.footer-partner-group--mitra .footer-logo--bsm {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 180px;
  height: 90px;
}
.footer-partner-group--mitra .footer-logo--fumalife {
  grid-column: 1 / -1;
  grid-row: 1;
  width: 320px;
  height: 120px;
  max-width: 100%;
}
.footer-partner-group--mitra .footer-logo img { transform: none; object-fit: contain; }

@media (min-width: 1333px) {
  .footer-stage { min-height: 600px; }
  .footer-partner-group--mitra .footer-logo-list { position: absolute; top: 100px; right: 8%; left: 8%; bottom: auto; }
  .footer-heading { top: 28px; }
  .footer-partner-group--media .footer-logo-list { top: 100px; bottom: auto; height: 190px; }
  .footer-socials { top: auto; bottom: 28px; }
}

@media (min-width: 641px) and (max-width: 1332px) {
  .footer-partner-group--mitra .footer-logo-list { grid-template-columns: repeat(2, 120px); }
  .footer-partner-group { padding-inline: 10px; }
  .footer-socials { margin-top: 24px; }
}

@media (max-width: 640px) {
  /* Stack groups so the enlarged wordmark fits comfortably on phones. */
  .footer-partners { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .footer-partners::after { display: none; }
  .footer-partner-group { padding-inline: 0; }
  .footer-partner-group--mitra .footer-logo-list { grid-template-columns: repeat(3, 80px); gap: 12px 8px; }
  .footer-partner-group--mitra .footer-logo { width: 80px; height: 40px; }
  .footer-partner-group--mitra .footer-logo--bsm { width: 120px; height: 60px; }
  .footer-partner-group--mitra .footer-logo--fumalife { width: 220px; height: 80px; }
  .footer-partner-group--media .footer-logo-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-socials { margin-top: 24px; }
}

/* Homepage-only registration extension; retain the existing event artwork. */
.registration-extension-note {
  max-width: calc(100% - 32px);
  margin: 16px auto;
  color: var(--green);
  font-family: var(--body);
  font-size: clamp(14px, 1.6vw, 20px);
  line-height: 1.5;
  text-align: center;
}
.countdown-copy .registration-extension-note { order: 1; }
.timeline-entry[data-phase-key="registration-extended"] h3,
.timeline-entry[data-phase-key="finals"] h3 { white-space: normal; }
.hero:has(.registration-extension-note) { height: auto; padding-bottom: 64px; }
.hero-copy .registration-extension-note { margin-bottom: 0; }
.registration-section .registration-extension-note { margin-bottom: 24px; }

/* The closed-registration message is content, not a one-line registration CTA. */
#main-content .registration-section {
  min-height: 0;
  padding: clamp(40px, 5vw, 72px) 0;
}
#main-content .registration-title {
  width: min(900px, 100%);
  height: auto;
  margin: 0 auto;
  font-size: clamp(32px, 5vw, 72px);
  letter-spacing: .035em;
  line-height: 1.15;
  white-space: normal;
}
