/* CIP × Agrohub — the slides that exist only in this deck.
   keynote.css is CIP's own keynote grammar, re-lit in Agrohub's leaf green; this
   file adds the partner lockup, the builders, the points flow, the tiers, the
   rewards screen in the app, the receipt, the three-way win, the map and the
   first steps. Every size is a size on the 1920×1080 stage. */

:root{
  --ah-leaf:#3DB149;        /* Agrohub logo green (main-logo-en.svg) */
  --ah-leaf-hi:#8FDB86;
  --ah-navy:#163C53;        /* Agrohub logo navy */
}

/* the letterbox takes the slide's own tone, so a light slide on a screen that
   is not 16:9 fills it edge to edge instead of sitting between black bars */
html,body,.kn{transition:background-color .7s var(--ease)}
html:has(.kn-stage[data-tone="light"]),
html:has(.kn-stage[data-tone="light"]) body,
.kn:has(.kn-stage[data-tone="light"]),
.kn-stage[data-tone="light"]{background-color:var(--k-paper)}
.kn-stage[data-tone="light"],.kn-light.on{overflow:visible}
.kn-view{overflow:visible;-webkit-mask-image:none;mask-image:none;clip-path:inset(0 -4000px -4000px -4000px)}
.kn-view::before{content:"";position:absolute;z-index:6;left:-4000px;right:-4000px;top:0;height:64px;pointer-events:none;
  background:linear-gradient(to bottom,var(--k-paper),rgba(244,243,238,0))}

/* a square render, shown whole on the stage's own black */
.ah-sq{position:absolute;left:50%;top:0;width:1080px;height:1080px;margin-left:-540px;object-fit:contain;
  -webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000 70%,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000 70%,transparent)}
.ah-src{position:absolute;left:150px;bottom:70px;font:500 22px/1.4 'Noto Sans Georgian',sans-serif;color:rgba(245,245,247,.38)}
.ah-src--c{left:0;right:0;text-align:center}

/* ---- 1 · the partner lockup ---- */
.ah-lock{position:absolute;left:0;right:0;top:50%;transform:translateY(-58%);display:flex;flex-direction:column;align-items:center}
.ah-lock__row{display:flex;align-items:center;gap:76px}
.ah-lock__cip{display:flex;align-items:center;gap:30px;font:700 104px/1 Onest,sans-serif;letter-spacing:-.04em;color:var(--k-ink)}
.ah-lock__cip img{width:104px;height:104px;filter:brightness(0) invert(1)}
.ah-lock__x{font:300 96px/1 Onest,sans-serif;color:var(--k-ink-dim)}
.ah-lock__ah{height:112px;width:auto}
.ah-lock__cip,.ah-lock__x,.ah-lock__ah{opacity:0;transition:opacity 1s var(--ease),transform 1.4s var(--expo)}
.ah-lock__cip{transform:translateX(-60px)}
.ah-lock__ah{transform:translateX(60px)}
.ah-lock__x{transform:scale(.6)}
.kn-s.on .ah-lock__cip,.kn-s.on .ah-lock__ah{opacity:1;transform:none;transition-delay:.25s}
.kn-s.on .ah-lock__x{opacity:1;transform:none;transition-delay:.75s}
.ah-lock__rule{width:0;height:1px;margin:72px 0 40px;background:linear-gradient(90deg,transparent,rgba(143,219,134,.7),transparent);
  transition:width 1.6s var(--expo) 1s}
.kn-s.on .ah-lock__rule{width:1100px}
.ah-lock__t{font-size:48px;font-weight:600;color:var(--k-ink);opacity:0;transition:opacity 1s var(--ease) 1.3s}
.ah-lock__d{margin-top:16px!important;font:500 28px/1.4 'Noto Sans Georgian',sans-serif;letter-spacing:.02em;color:var(--k-ink-dim);
  opacity:0;transition:opacity 1s var(--ease) 1.5s}
.kn-s.on .ah-lock__t,.kn-s.on .ah-lock__d{opacity:1}
/* the light of a field at dusk, under everything */
.ah-dawn{position:absolute;left:-10%;right:-10%;bottom:-520px;height:900px;pointer-events:none;
  background:radial-gradient(50% 50% at 50% 50%,rgba(61,177,73,.30),rgba(61,177,73,.08) 45%,rgba(61,177,73,0) 70%);
  opacity:0;transition:opacity 2.4s var(--ease) .4s}
.kn-s.on .ah-dawn{opacity:1;animation:ah-dawn 9s ease-in-out 2.8s infinite alternate}
@keyframes ah-dawn{from{transform:translateY(0) scaleX(1)}to{transform:translateY(-40px) scaleX(1.06)}}

/* ---- 2 · cold open over the site ---- */
.ah-open__img{transform:translateY(80px) scale(.86)}
.kn-s .ah-open__img.b1{transform:translateY(120px) scale(.9)}
.kn-s[data-step="1"] .ah-open__img.b1{transform:translateY(80px) scale(.86)}
/* the crane reaches high: the site sits lower, clear of the headline */
.kn-s .ah-open__img--site.b1{transform:translateY(230px) scale(.8)}
.kn-s[data-step="1"] .ah-open__img--site.b1{transform:translateY(190px) scale(.76)}

/* ---- 12 · the builders ---- */
.ah-cos__copy{position:absolute;left:150px;top:150px;width:800px}
.ah-cos__copy .kn-h{font-size:72px}
.ah-cos__copy .kn-sub{font-size:32px;margin-top:24px!important}
.ah-cos{position:absolute;left:1040px;right:150px;top:170px;margin:0;padding:0;list-style:none}
.ah-cos li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:24px;padding:22px 0;border-bottom:1px solid var(--k-line);
  opacity:0;transform:translateX(40px);transition:opacity .7s var(--ease),transform 1.1s var(--expo)}
.kn-s.on .ah-cos li{opacity:1;transform:none;transition-delay:calc(.35s + var(--i) * .11s)}
.ah-cos b{font-size:52px;line-height:1.1;font-weight:700;letter-spacing:-.01em;white-space:nowrap}
.ah-cos em{font:500 30px/1 'Google Sans Code',monospace;font-style:normal;color:var(--ah-leaf-hi)}
.ah-cos__more b{font-size:36px;font-weight:600;color:var(--k-ink-dim)}
.ah-cos__more{border-bottom:0!important}
.ah-cos__sum{position:absolute;left:150px;top:660px;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:18px;width:860px}
.ah-cos__sum span{flex-basis:100%;margin-bottom:10px;font-size:30px;color:var(--k-ink-dim)}
.ah-cos__sum b{font-size:150px;line-height:1;font-weight:700;letter-spacing:-.04em;padding-right:.04em}
.ah-cos__sum small{font-size:40px;font-weight:600}

/* ---- 13 · the sector ---- */
.ah-big .kn-grad{font-size:300px}

/* ---- 14 · the lineup: words may run two lines ---- */
.ah-line span{font-size:30px}

/* ---- 15 · the turn ---- */
.ah-turn .kn-omt{color:var(--k-ink-dim);font-size:72px;opacity:0;transform:translateY(16px);transition:opacity .9s var(--ease) .2s,transform 1.2s var(--expo) .2s}
.ah-turn__logo{height:190px;width:auto;margin-top:48px;opacity:0;transform:scale(.92);filter:blur(10px);
  transition:opacity 1.2s var(--ease) .9s,transform 1.8s var(--expo) .9s,filter 1.2s var(--ease) .9s}
.ah-turn.on .kn-omt,.ah-turn.on .ah-turn__logo{opacity:1;transform:none;filter:none}

/* ---- 17 · the flow: phone → points → basket, a coin running the track ---- */
.ah-flow{position:absolute;left:150px;right:150px;top:330px;display:grid;grid-template-columns:repeat(3,1fr);gap:60px;text-align:center}
.ah-flow>div{position:relative;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(24px);
  transition:opacity .8s var(--ease),transform 1.1s var(--expo)}
.kn-s.on .ah-flow>div{opacity:1;transform:none;transition-delay:calc(.3s + var(--i) * .9s)}
.ah-flow__ic{display:grid;place-items:center;width:200px;height:200px;border-radius:50%;background:#0B110C;
  box-shadow:inset 0 0 0 2px rgba(143,219,134,.35),0 0 80px -10px rgba(61,177,73,.45)}
.ah-flow__ic svg{width:92px;height:92px;fill:none;stroke:var(--ah-leaf-hi);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ah-flow__k{margin-top:44px!important;font:600 26px/1 'Noto Sans Georgian',sans-serif;color:var(--ah-leaf-hi)}
.ah-flow b{display:block;margin-top:18px;font-size:50px;line-height:1.15;font-weight:700}
.ah-flow>div>span:last-child{display:block;margin-top:20px;max-width:440px;font-size:30px;line-height:1.45;color:var(--k-ink-dim);text-wrap:pretty}
.ah-flow__track{position:absolute;left:16.6%;right:16.6%;top:99px;height:4px;border-radius:2px;background:rgba(245,245,247,.1)}
.ah-flow__track>i{position:absolute;inset:0;border-radius:inherit;transform-origin:left;transform:scaleX(0);
  background:linear-gradient(90deg,var(--k-blue),var(--k-blue-hi));box-shadow:0 0 18px rgba(61,177,73,.6)}
.kn-s.on .ah-flow__track>i{animation:ah-fill 1.9s cubic-bezier(.6,0,.2,1) .6s both}
.ah-flow__coin{position:absolute;top:-10px;left:0;width:24px;height:24px;margin-left:-12px;border-radius:50%;opacity:0;
  background:radial-gradient(circle at 35% 35%,#fff,#C9F2B8 40%,#3DB149);box-shadow:0 0 22px 6px rgba(61,177,73,.7)}
.kn-s.on .ah-flow__coin{animation:ah-coin 2.6s cubic-bezier(.5,0,.3,1) 2.8s infinite}
@keyframes ah-coin{0%{left:0;opacity:0}10%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
@keyframes ah-fill{to{transform:scaleX(1)}}

/* ---- 18 · what earns points ---- */
.ah-side{position:absolute;right:-60px;top:0;width:1080px;height:1080px;object-fit:contain;
  -webkit-mask-image:radial-gradient(70% 70% at 50% 50%,#000 60%,transparent);mask-image:radial-gradient(70% 70% at 50% 50%,#000 60%,transparent);
  opacity:0;transition:opacity 1.4s var(--ease) .2s}
.kn-s.on .ah-side{opacity:.9}
.ah-earn li{grid-template-columns:220px 1fr}
.kn-s[data-step="3"] .ah-earn .b2{opacity:.4}

/* ---- 19 · tiers: three columns that rise ---- */
.ah-tiers{position:absolute;left:420px;right:420px;top:250px;height:620px;display:grid;grid-template-columns:repeat(3,1fr);gap:56px;align-items:end}
.ah-tiers>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.ah-tiers b{font-size:84px;line-height:1;font-weight:700;letter-spacing:-.03em;opacity:0;transform:translateY(20px);
  transition:opacity .6s var(--ease),transform .9s var(--expo)}
.ah-tiers i{display:block;width:100%;height:var(--h);margin-top:24px;border-radius:24px 24px 6px 6px;transform-origin:bottom;transform:scaleY(0);
  background:linear-gradient(180deg,rgba(143,219,134,.9),rgba(46,154,62,.35));box-shadow:0 0 60px -10px rgba(61,177,73,.55);
  transition:transform 1.3s var(--expo)}
.ah-tiers>div:nth-child(1) i{opacity:.55}.ah-tiers>div:nth-child(2) i{opacity:.78}
.ah-tiers span{margin-top:22px;font-size:30px;color:var(--k-ink-dim)}
.ah-tiers em{font:600 34px/1 'Google Sans Code',monospace;font-style:normal;color:var(--k-ink)}
.kn-s.on .ah-tiers i{transform:none;transition-delay:calc(.3s + var(--i) * .35s)}
.kn-s.on .ah-tiers b{opacity:1;transform:none;transition-delay:calc(1.1s + var(--i) * .35s)}
.ah-tiers__note{position:absolute;left:0;right:0;bottom:110px;text-align:center;font-size:34px;color:var(--k-ink-dim);
  opacity:0;transition:opacity 1s var(--ease) 2.4s}
.ah-tiers__note b{color:var(--k-ink)}
.kn-s.on .ah-tiers__note{opacity:1}

/* ---- 20–21 · the rewards screen, in the app's own kit (screens.css tokens) ---- */
.rw-bal .big b{font-size:52px;line-height:52px}
.rw-bar{height:8px;margin-top:14px;border-radius:4px;background:var(--inset);overflow:hidden}
.rw-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#2E9A3E,#6CCB5F)}
.rw-bal .nt b{color:var(--ink)}
.rw__n{font-style:normal;font-size:12px;color:var(--faint);margin-left:4px}
.rw b.ok{color:var(--ok)}
.rw-ah{display:grid;gap:8px;background:linear-gradient(160deg,#EAF7EC,#FFFFFF 70%)}
.rw-ah img{height:34px;width:auto}
.rw-ah p{margin:0;font-size:12.5px;line-height:18px;color:var(--muted)}
.bt--ah{background:#3DB149;color:#fff;margin-top:6px}
.rq{padding:12px 24px 34px;text-align:center}
.rq__ah{height:38px;width:auto;margin:4px auto 0}
.rq__pct{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-top:14px!important}
.rq__pct b{font-size:40px;line-height:1;font-weight:800;letter-spacing:-1px;color:#2E9A3E}
.rq__pct span{font-size:14px;color:var(--muted)}
.rq__code{width:214px;height:214px;margin:18px auto 0;padding:10px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px var(--line2)}
.rq__qr{display:block;width:100%;height:100%}
.rq__id{margin-top:12px!important;font-size:14px;letter-spacing:1px;color:var(--ink2)}
.rq__hint{margin-top:8px!important;font-size:12px;line-height:18px;color:var(--muted)}

/* ---- 22 · the receipt prints, line by line ---- */
.ah-rc{position:absolute;left:180px;top:190px;width:620px;padding:56px 54px 70px;background:#FBFBF7;color:#1D1D1F;
  font-family:'Google Sans Code','Noto Sans Georgian',monospace;box-shadow:0 60px 120px -40px rgba(61,177,73,.35);
  clip-path:polygon(0 0,100% 0,100% 0,0 0);
  -webkit-mask:radial-gradient(14px at 50% 100%,#0000 98%,#000) 50% 100%/28px 100% repeat-x;mask:radial-gradient(14px at 50% 100%,#0000 98%,#000) 50% 100%/28px 100% repeat-x}
.kn-s.on .ah-rc{animation:ah-print 2.2s steps(22,end) .3s both}
@keyframes ah-print{to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
.ah-rc__h{text-align:center}.ah-rc__h img{height:60px;width:auto;margin:0 auto}
.ah-rc__m{margin-top:14px!important;text-align:center;font-size:22px;color:#6E6E73}
.ah-rc ul{margin:40px 0 0;padding:26px 0 0;list-style:none;border-top:2px dashed #CFCFC8}
.ah-rc li{display:flex;justify-content:space-between;gap:20px;padding:12px 0;font:500 26px/1.35 'Noto Sans Georgian',sans-serif}
.ah-rc li b{font:600 28px/1.35 'Google Sans Code',monospace}
.ah-rc li.is-cip{color:#2E9A3E}
.ah-rc__t{display:flex;justify-content:space-between;margin-top:24px!important;padding-top:24px;border-top:2px dashed #CFCFC8;
  font:700 34px/1 'Noto Sans Georgian',sans-serif}
.ah-rc__t b{font:700 44px/1 'Google Sans Code',monospace}
.ah-rc__f{margin-top:34px!important;text-align:center;font-size:22px;color:#6E6E73}
.ah-rc__copy{position:absolute;left:960px;top:300px;width:820px}
.ah-rc__copy .kn-h{font-size:96px}
.ah-rc__save{display:flex;align-items:baseline;gap:20px;margin-top:40px!important;font-family:Onest,sans-serif}
.ah-rc__save .kn-grad{font-size:240px;line-height:.9;font-weight:700;letter-spacing:-.05em;padding-right:.04em}
.ah-rc__save small{font-size:96px;font-weight:700}
.ah-rc+.ah-rc__copy+.ah-src{left:180px}

/* ---- 23, 25 · three columns, one after another ---- */
.ah-cols{top:360px}
.ah-cols>div{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform 1.1s var(--expo)}
.kn-s.on .ah-cols>div{opacity:1;transform:none;transition-delay:calc(.3s + var(--i) * .5s)}
.ah-cols b{font-size:52px}

/* ---- 24 · the quote ---- */
.ah-sq--dim{opacity:.13;filter:grayscale(.4)}
.ah-quote{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center}
.ah-quote__q{font-size:150px;line-height:1.05;font-weight:700;letter-spacing:-.02em;transition:color .8s var(--ease),font-size 1s var(--ease)}
.ah-quote__a{margin-top:40px!important;font-size:44px;font-weight:600;color:var(--k-ink-dim)}
.ah-quote__b{margin-top:70px!important;font-size:76px;line-height:1.2;font-weight:700}
.kn-s[data-step="1"] .ah-quote__q{font-size:96px;color:rgba(245,245,247,.28);text-decoration:line-through;text-decoration-thickness:6px;text-decoration-color:rgba(143,219,134,.7)}

/* ---- 26 · everyone wins ---- */
.ah-tri{position:absolute;inset:0;width:1920px;height:1080px;overflow:visible}
.ah-tri__l{fill:none;stroke:rgba(143,219,134,.5);stroke-width:3;stroke-dasharray:1;stroke-dashoffset:1}
.kn-s.on .ah-tri__l{animation:ah-draw 1.1s cubic-bezier(.6,0,.2,1) calc(.4s + var(--t,0s)) both}
.ah-tri__p{fill:#DDF7D5;filter:drop-shadow(0 0 10px rgba(61,177,73,.9));opacity:0}
.kn-s.on .ah-tri__p{animation:ah-loop 5s linear 2s infinite}
@keyframes ah-loop{0%{offset-distance:0%;opacity:1}100%{offset-distance:100%;opacity:1}}
.ah-tri__hub{position:absolute;left:960px;top:657px;transform:translate(-50%,-50%) scale(.8);display:flex;flex-direction:column;align-items:center;gap:16px;
  opacity:0;transition:opacity 1s var(--ease) 1.6s,transform 1.4s var(--expo) 1.6s}
.kn-s.on .ah-tri__hub{opacity:1;transform:translate(-50%,-50%)}
.ah-tri__hub img{width:96px;height:96px;filter:brightness(0) invert(1)}
.ah-tri__hub span{font:700 40px/1 Onest,sans-serif;letter-spacing:-.02em}
.ah-tri__n{position:absolute;left:var(--x);top:var(--y);width:420px;margin-left:-210px;transform:translateY(-50%) scale(.9);
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:34px 30px;border-radius:32px;
  background:#0B110C;box-shadow:inset 0 0 0 2px rgba(143,219,134,.3),0 0 90px -20px rgba(61,177,73,.5);
  opacity:0;transition:opacity .8s var(--ease) var(--t),transform 1.2s var(--expo) var(--t)}
.kn-s.on .ah-tri__n{opacity:1;transform:translateY(-50%)}
.ah-tri__n i svg{width:64px;height:64px;fill:none;stroke:var(--ah-leaf-hi);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ah-tri__n b{font-size:44px;line-height:1.1;font-weight:700}
.ah-tri__n span{font-size:28px;line-height:1.35;color:var(--k-ink-dim)}
.ah-tri__n--ah img{height:70px;width:auto;margin:10px 0 8px}

/* ---- 27 · the map ---- */
.ah-map{position:absolute;left:80px;top:300px;width:1200px;height:620px;overflow:visible}
.ah-map__land{fill:rgba(245,245,247,.035);stroke:rgba(245,245,247,.42);stroke-width:1.6;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1}
.kn-s.on .ah-map__land{animation:ah-draw 2.6s cubic-bezier(.6,0,.2,1) .2s both}
@keyframes ah-draw{to{stroke-dashoffset:0}}
.ah-map__dot{fill:var(--ah-leaf-hi);opacity:0}
.ah-map__ring{fill:none;stroke:var(--ah-leaf-hi);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center}
.kn-s.on .ah-map__dot{animation:ah-pop .6s var(--expo) var(--t,2s) both}
.kn-s.on .ah-map__ring{animation:ah-ring 2.6s cubic-bezier(.2,.7,.3,1) var(--t,2s) infinite}
@keyframes ah-pop{from{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}
@keyframes ah-ring{0%{opacity:0;transform:scale(.3)}15%{opacity:.9}100%{opacity:0;transform:scale(2.6)}}
.ah-map__dot{transform-box:fill-box;transform-origin:center}
.ah-map__lbl{font:600 30px/1 'Noto Sans Georgian',sans-serif;fill:var(--k-ink);opacity:0}
.ah-map__lbl tspan.n{font-family:'Google Sans Code',monospace;font-weight:500;fill:var(--ah-leaf-hi)}
.ah-map__lead{stroke:rgba(245,245,247,.4);stroke-width:1.5;opacity:0}
.kn-s.on .ah-map__lbl,.kn-s.on .ah-map__lead{animation:kn-in .8s ease var(--t,2.4s) both}
.ah-sites{position:absolute;left:1400px;top:330px;width:400px;margin:0;padding:0;list-style:none}
.ah-sites li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--k-line);
  font-size:27px;line-height:1.3;color:var(--k-ink);opacity:0;transform:translateX(16px);transition:opacity .6s var(--ease),transform .8s var(--expo)}
.ah-sites li em{font:500 20px/1 'Google Sans Code',monospace;font-style:normal;color:var(--k-ink-dim)}
.ah-sites .ah-sites__h{display:block;border:0;padding:26px 0 6px;font:500 22px/1 'Noto Sans Georgian',sans-serif;letter-spacing:.02em;color:var(--k-ink-dim)}
.ah-sites .ah-sites__h:first-child{padding-top:0}
.kn-s.on .ah-sites li{opacity:1;transform:none;transition-delay:calc(1.6s + var(--i,0) * .06s)}
.ah-map__note{position:absolute;left:150px;bottom:90px;font-size:34px;font-weight:600;color:var(--k-ink-dim);opacity:0;transition:opacity 1s var(--ease) 3.2s}
.kn-s.on .ah-map__note{opacity:1}

/* ---- 28 · the first steps ---- */
.ah-pilot{position:absolute;left:150px;right:150px;top:380px;display:grid;grid-template-columns:repeat(3,1fr);gap:64px}
.ah-pilot>div{position:relative;padding-top:56px;opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform 1.1s var(--expo)}
.ah-pilot>div:nth-child(2){transition-delay:.9s}.ah-pilot>div:nth-child(3){transition-delay:1.8s}
.kn-s.on .ah-pilot>div{opacity:1;transform:none}
.ah-pilot__k{font:600 28px/1 'Noto Sans Georgian',sans-serif;color:var(--ah-leaf-hi)}
.ah-pilot b{display:block;margin-top:20px;font-size:58px;line-height:1.1;font-weight:700}
.ah-pilot span{display:block;margin-top:22px;font-size:32px;line-height:1.45;color:var(--k-ink-dim);text-wrap:pretty}
.ah-pilot__track{position:absolute;left:150px;right:150px;top:380px;height:4px;border-radius:2px;background:rgba(245,245,247,.12)}
.ah-pilot__track i{position:absolute;inset:0;border-radius:inherit;transform-origin:left;transform:scaleX(0);
  background:linear-gradient(90deg,var(--k-blue),var(--k-blue-hi));box-shadow:0 0 18px rgba(61,177,73,.6)}
.kn-s.on .ah-pilot__track i{animation:ah-fill 2.8s cubic-bezier(.6,0,.2,1) .3s both}
.ah-pilot__dot{position:absolute;top:-10px;left:0;width:24px;height:24px;border-radius:50%;background:#000;box-shadow:inset 0 0 0 3px var(--ah-leaf-hi)}
.ah-pilot__note{position:absolute;left:0;right:0;bottom:130px;text-align:center;font-size:44px;font-weight:600;color:var(--k-ink-dim);
  opacity:0;transition:opacity 1s var(--ease) 2.9s}
.kn-s.on .ah-pilot__note{opacity:1}
.ah-pilot__note b{color:var(--k-ink);font-weight:600}

/* ---- 30 · close ---- */
.ah-close__img{transform:translateY(170px) scale(.72)}
.ah-close__lock{display:flex;justify-content:center;align-items:center;gap:30px;margin-top:36px!important}
.ah-close__lock .cip{display:flex;align-items:center;gap:14px;font:600 36px/1 Onest,sans-serif;color:var(--k-ink-dim)}
.ah-close__lock .cip img{width:40px;height:40px;filter:brightness(0) invert(1);opacity:.75}
.ah-close__lock .x{font:300 36px/1 Onest,sans-serif;color:var(--k-ink-dim)}
.ah-close__lock .ah{height:40px;width:auto;opacity:.9}

/* reduced motion shows the end state */
@media (prefers-reduced-motion:reduce){
  .ah-lock *,.ah-sites li,.ah-pilot>div,.ah-cos li,.ah-flow>div,.ah-tiers *,.ah-cols>div,.ah-tri__n,.ah-tri__hub,.ah-turn *,.ah-side{transition:none!important}
  .ah-map *,.ah-pilot__track i,.ah-dawn,.ah-flow *,.ah-rc,.ah-tri *{animation:none!important}
  .ah-map__land,.ah-tri__l{stroke-dashoffset:0}.ah-map__dot,.ah-map__lbl,.ah-map__lead{opacity:1}
  .ah-pilot__track i,.ah-flow__track>i{transform:none}.ah-lock__rule{width:1100px}
  .ah-rc{clip-path:none}.ah-flow__coin,.ah-tri__p{display:none}
}
