/* r42 clear path v3 (from r40 v2): shorter pin, lantern beam lights the path ahead, Outfit 800 headline. Default = final state. */
.cp{position:relative;overflow:clip;--cp-deep:#245B36;--cp-light:#FAF8F2;--cp-hdr:72px;
  background:radial-gradient(120% 90% at 85% 15%,#3E8046 0%,rgba(62,128,70,0) 60%),linear-gradient(160deg,#2F6E3E 0%,#3A7941 55%,#41844A 100%);color:var(--cp-light)}
.cp-copy{position:relative;z-index:2}
.cp.audience .cp-text{color:var(--cp-light);margin:0;text-wrap:balance;font-family:BywillWordmark,"Work Sans",sans-serif;font-weight:800;letter-spacing:-.03em;line-height:1;font-size:clamp(1.55rem,min(7.4vw,4.6vw + 1rem),4.1rem)}
.cp .cp-hl{display:block;color:#FFE9A3;text-shadow:0 0 .55em rgba(255,233,163,.45)}
.cp.audience .cp-sub{margin:.7rem 0 0;max-width:34rem;color:rgba(250,248,242,.86);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.45;text-wrap:pretty}
.cp-wrap{max-width:1380px;margin:0 auto;display:grid;gap:1.2rem}
.cp-art{position:relative;width:100%;aspect-ratio:1/1;max-height:80svh;margin:0 auto}
.cp-svg{position:absolute;inset:0;display:block;width:100%;height:100%;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 94%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 94%,transparent)}
.cp-tangle{fill:none;stroke:var(--cp-light);stroke-width:5;opacity:.16;stroke-linecap:round}
.cp-sh{fill:none;stroke:#1B4528;stroke-opacity:.35;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;transform:translate(4px,8px)}
.cp-way{fill:none;stroke:var(--cp-light);stroke-width:13;stroke-linecap:round;stroke-linejoin:round;opacity:.5}
.cp-bar-l{fill:none;stroke:var(--cp-light);stroke-width:4.5;stroke-linecap:round}
.cp-bar-b{fill:var(--cp-light)}
.cp-bar-s{fill:none;stroke:var(--cp-deep);stroke-width:4.5}
.cp-main use{fill:none;stroke-linecap:round;stroke-linejoin:round}
.cp-base{stroke:var(--cp-light);stroke-width:15;opacity:.42}
.cp-core{stroke:#FFFDF6;stroke-width:14}
.cp-glow{stroke:#F1FFE2;stroke-width:28;opacity:.34}
.cp-glow2{stroke:#E9FFD6;stroke-width:56;opacity:.13}
.cp-it{fill:#FFF8DC;stroke:#FFF8DC;stroke-width:3;stroke-linecap:round;opacity:.9}
.cp-it-t{fill:none;stroke:#BFE8A8}
.cp-spill{opacity:.9}
.cp-cone{fill:url(#cp-bm)}.cp-cone-w{opacity:.5}
.cp-pool{fill:url(#cp-pl)}
.cp-tip{fill:#F4FFE6;opacity:0;filter:drop-shadow(0 0 6px rgba(244,255,230,.9))}
.cp-rays{opacity:1}
.cp-frame,.cp-step{fill:none;stroke:var(--cp-light);stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.cp-frame-sh{fill:none;stroke:#1B4528;stroke-opacity:.35;stroke-width:9}
.cp-leaf rect{fill:var(--cp-deep);stroke:var(--cp-light);stroke-width:3}
.cp-panel{fill:none;stroke:#3A7941;stroke-width:3}
.cp-knob{fill:#F2C94C}
.cp-cup{fill:#6CBF5B;stroke:var(--cp-deep);stroke-width:2.5;stroke-linejoin:round}
.cp-cup-h{fill:none;stroke:var(--cp-deep);stroke-width:3.5;stroke-linecap:round}
.cp-cup-s{fill:#FFFBEA}
.cp-mote{fill:#FFF8DC;opacity:.55}
.cp-fsh{fill:#1B4528;opacity:.45}
.cp-leg{stroke:#1E3A27;stroke-width:4.6;stroke-linecap:round;fill:none}
.cp-arm{stroke:#EDE8DA;stroke-width:3.4;stroke-linecap:round;fill:none}
.cp-shirt{fill:var(--cp-light)}
.cp-skin{fill:#D9A27C}
.cp-beard,.cp-hair{fill:#2A1F19}
@media (min-width:769px){.cp{--cp-hdr:82px}}
@media (min-width:900px){
  .cp.audience .cp-text{font-size:clamp(2rem,3.4vw,3.2rem)}
  .cp-wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:2vw}
  .cp-art{max-height:none;width:min(100%,82svh)}
  .cp-svg{-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 10%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 7%,#000 93%,transparent);mask-composite:intersect}
}
/* pinned, scroll-scrubbed stage (JS adds .cp-anim; no-JS / reduced motion / short screens stay static) */
.cp.cp-anim{height:calc(100svh - var(--cp-hdr) + 65svh);padding-top:0;padding-bottom:0}
.cp-anim .cp-wrap{position:sticky;top:var(--cp-hdr);height:calc(100svh - var(--cp-hdr));grid-template-rows:auto minmax(0,1fr);padding:clamp(1.2rem,4svh,3rem) 0 .6rem;gap:.4rem}
.cp-anim.audience .cp-text{font-size:min(2.45rem,5svh,7.4vw)}
.cp-anim.audience .cp-sub{font-size:min(1rem,2.2svh);margin-top:.5rem}
.cp-anim .cp-base{opacity:.08}
.cp-anim .cp-sh{stroke-opacity:.22}
.cp-anim .cp-art{aspect-ratio:auto;height:100%;max-height:none}
@media (min-width:900px){
  .cp-anim .cp-wrap{grid-template-rows:minmax(0,1fr);padding:3svh 0}
  .cp-anim.audience .cp-text{font-size:clamp(2rem,min(3.4vw,7svh),3.2rem)}
  .cp-anim.audience .cp-sub{font-size:clamp(1rem,min(1.3vw,2.4svh),1.25rem);margin-top:1rem}
  .cp-anim .cp-art{width:100%}
}
