/* =====================================================================
   3D MOTION SCENES (2.8)
   Same language as the passport animation: CSS 3D panels in navy, white and
   brand blue, tilted in perspective. They assemble when scrolled into view,
   then loop quietly. Sizes use the stage width (cqw) so a scene scales as one.
   ===================================================================== */
.c3{--n:#042045;--n2:#0B3068;--b:#0169FE;--b2:#3D8BFF;--l:#DCE6F5;--ink:#5A6A82;--ez:cubic-bezier(.2,.8,.2,1);
  position:relative;width:100%;aspect-ratio:520/420;container-type:inline-size;perspective:1700px;perspective-origin:50% 35%;
  font-family:var(--display,Poppins,sans-serif);color:var(--n);user-select:none}
.c3__glow{position:absolute;inset:4% 2% 0;border-radius:50%;background:radial-gradient(closest-side,rgba(1,105,254,.42),rgba(1,105,254,.12) 55%,transparent 75%);filter:blur(4px)}
.c3__world{position:absolute;inset:0;transform-style:preserve-3d;
  transform:translateX(-3%) rotateX(calc(18deg - var(--py,0) * 6deg)) rotateY(calc(-14deg + var(--px,0) * 9deg)) rotateZ(3deg);transition:transform .9s var(--ez)}
.c3__sway{position:absolute;inset:0;transform-style:preserve-3d}
.c3.in .c3__sway{animation:c3sway 12s ease-in-out 2.2s infinite}
@keyframes c3sway{0%,100%{transform:rotateY(0) translateZ(0)}50%{transform:rotateY(5deg) translateZ(1cqw)}}

/* panels */
.c3p{position:absolute;left:calc(var(--x) * 1%);top:calc(var(--y) * 1%);width:calc(var(--w) * 1%);height:calc(var(--h) * 1%);
  transform-style:preserve-3d;transform:translateZ(var(--z));border-radius:2.4cqw;padding:3.2cqw;display:flex;flex-direction:column;gap:1.8cqw;
  --bg:linear-gradient(150deg,#fff 0%,#EEF4FC 100%);--ring:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(4,32,69,.06);
  box-shadow:0 4cqw 7cqw -3cqw rgba(0,8,30,.55);--edge:#B7C8E3;opacity:0;scale:.94;translate:0 5cqw}
/* the face sits behind the content (z-index -1); the edge sits behind the face, a little deeper, to give the panel thickness */
.c3p::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:var(--bg);box-shadow:var(--ring);pointer-events:none}
.c3p::before{content:"";position:absolute;inset:0;z-index:-2;border-radius:inherit;background:var(--edge);transform:translateZ(-1.1cqw);pointer-events:none}
.c3.in .c3p{animation:c3in 1.1s var(--ez) var(--d) both}
.c3.in .c3fl{animation:c3in 1.1s var(--ez) var(--d) both,c3float var(--f,7s) ease-in-out calc(var(--d) + 1.2s) infinite}
@keyframes c3in{from{opacity:0;scale:.94;translate:0 5cqw}to{opacity:1;scale:1;translate:0 0}}
@keyframes c3float{0%,100%{transform:translateZ(var(--z))}50%{transform:translateZ(calc(var(--z) + 2.2cqw))}}
.c3p--base{--bg:radial-gradient(rgba(140,187,255,.22) 1px,transparent 1.3px) 0 0/2.6cqw 2.6cqw,linear-gradient(150deg,rgba(255,255,255,.1),rgba(255,255,255,.03));--ring:inset 0 0 0 1px rgba(140,187,255,.22);box-shadow:none;--edge:rgba(2,15,40,.55);border-radius:4cqw}
.c3p--navy{--bg:linear-gradient(150deg,#14438F 0%,#06224F 100%);--ring:inset 0 1px 0 rgba(255,255,255,.12);color:#fff;--edge:#021431;box-shadow:0 4cqw 7cqw -3cqw rgba(0,8,30,.65)}
.c3p--blue{--bg:linear-gradient(150deg,#4B95FF 0%,#0157E0 100%);--ring:inset 0 1px 0 rgba(255,255,255,.3);color:#fff;--edge:#0A3B9C;box-shadow:0 4cqw 7cqw -3cqw rgba(1,60,170,.7)}
.c3p--round{border-radius:50%;padding:0;display:grid;place-items:center}
.c3p--free{box-shadow:none;padding:0}
.c3p--free::before,.c3p--free::after{display:none}

/* atoms */
.c3-k{display:block;font-size:1.8cqw;letter-spacing:.16em;text-transform:uppercase;font-weight:700;color:var(--ink);line-height:1.3}
.c3-k--light,.c3p--navy .c3-k,.c3p--blue .c3-k{color:#B9D3FF}
.c3-big{display:block;font-size:6.4cqw;font-weight:800;line-height:1;color:var(--n);letter-spacing:-.01em}
.c3-big--m{font-size:4.2cqw}.c3-big--s{font-size:3.4cqw}
.c3p--navy .c3-big,.c3p--blue .c3-big{color:#fff}
.c3-lines{display:grid;gap:1.1cqw}
.c3-lines i{display:block;height:1.1cqw;border-radius:1cqw;background:var(--l)}
.c3p--navy .c3-lines i,.c3-lines--d i{background:rgba(255,255,255,.18)}
.c3-row{display:flex;align-items:center;gap:1.8cqw;min-width:0}
.c3-row>div{flex:1;min-width:0;display:grid;gap:1cqw}
.c3-head{display:flex;justify-content:space-between;align-items:center;gap:1.4cqw}
.c3-ic{display:grid;place-items:center;flex:none;width:7.2cqw;height:7.2cqw;border-radius:2cqw;color:var(--b);background:linear-gradient(150deg,#F6F9FF,#DDEBFF);box-shadow:inset 0 0 0 1px rgba(1,105,254,.14)}
.c3-ic svg{width:58%;height:58%}
.c3-ic .ic-d{opacity:.26}
.c3-ic--w{color:#fff;background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.c3-ic--s{width:5.4cqw;height:5.4cqw}
.c3-ic--fly{background:none;box-shadow:none;color:#fff;width:70%;height:70%}
.c3-ic--fly svg{width:78%;height:78%;transform:rotate(45deg)}
.c3-tick{display:grid;place-items:center;flex:none;width:5.2cqw;height:5.2cqw;border-radius:50%;color:#fff;background:linear-gradient(150deg,#4B95FF,#0157E0);box-shadow:0 1cqw 2cqw -1cqw rgba(1,105,254,.8)}
.c3-tick svg{width:56%;height:56%}
.c3-tick--s{width:4cqw;height:4cqw}
.c3-tick--w{background:#fff;color:var(--b)}
.c3-pill{display:inline-flex;align-self:flex-start;align-items:center;padding:.8cqw 1.8cqw;border-radius:9cqw;font-size:1.5cqw;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.c3-pill--soft{background:#E6F0FF;color:var(--b)}
.c3-pill--blue{background:var(--b);color:#fff;box-shadow:0 1cqw 2.4cqw -1cqw rgba(1,105,254,.9)}
.c3-pill--w{background:#fff;color:var(--n)}
.c3-pill--line{box-shadow:inset 0 0 0 1px #C5D5EE;color:var(--ink)}
.c3-pill--pin{font-size:2.2cqw;padding:1.2cqw 2.4cqw}
.c3-crest{width:12cqw;height:12cqw;border-radius:50%;border:.35cqw solid rgba(255,255,255,.35);display:grid;place-items:center;color:#9CC3FF;align-self:center}
.c3-crest svg{width:55%;height:55%}
.c3-crest .ic-d{opacity:.2}
.c3-cover{display:flex;flex-direction:column;justify-content:space-between;height:100%;text-align:center}
.c3-cover>b{font-size:2cqw;letter-spacing:.2em;text-transform:uppercase;color:#fff}
.c3-cover--s .c3-crest{width:9cqw;height:9cqw}
.c3-photo{width:9cqw;height:11cqw;border-radius:1cqw;background:linear-gradient(160deg,#D8E7FF,#fff);box-shadow:inset 0 0 0 1px var(--l);flex:none}
.c3-dots{display:flex;gap:.9cqw}
.c3-dots i{width:1.6cqw;height:1.6cqw;border-radius:50%;background:#9CC3FF}

/* visa */
.c3-stamp{position:absolute;right:3cqw;bottom:3.2cqw;transform:translateZ(.6cqw) rotate(-12deg);padding:.9cqw 1.8cqw;border:.4cqw solid var(--b);border-radius:1cqw;color:var(--b);font-size:1.7cqw;font-weight:800;letter-spacing:.14em;text-transform:uppercase;background:rgba(255,255,255,.7);opacity:0}
.c3.in .c3-stamp{animation:c3stamp 8s var(--ez) 1.6s infinite}
@keyframes c3stamp{0%{opacity:0;scale:1.7}8%,86%{opacity:1;scale:1}96%,100%{opacity:0;scale:1}}
.c3-pass{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1.6cqw;height:100%;padding-right:9cqw}
.c3-route{flex:1;position:relative;height:3cqw;color:var(--b);display:grid;place-items:center}
.c3-route::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:.3cqw dashed #9DBDF0}
.c3-route svg{position:relative;width:3.4cqw;height:3.4cqw;transform:rotate(90deg);background:#F5F8FE;border-radius:50%}
.c3.in .c3-route svg{animation:c3hop 4s ease-in-out 2s infinite}
@keyframes c3hop{0%,100%{translate:-110% 0}50%{translate:110% 0}}
.c3-stub{position:absolute;right:-3.2cqw;top:-3.2cqw;bottom:-3.2cqw;width:9cqw;border-radius:0 2.4cqw 2.4cqw 0;background:linear-gradient(160deg,#4B95FF,#0157E0);display:flex;gap:.6cqw;justify-content:center;align-items:center;padding:2cqw 0}
.c3-stub i{width:.5cqw;height:60%;background:rgba(255,255,255,.85);border-radius:.3cqw}
.c3-stub i:nth-child(3n){width:.9cqw}

/* admissions */
.c3-field{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.8cqw 1.4cqw;padding-top:1.4cqw;border-top:1px solid var(--l)}
.c3-field .c3-k{grid-column:2}
.c3-field .c3-fill{grid-column:2}
.c3-field .c3-tick{grid-column:1;grid-row:1/3}
.c3-fill{height:1.3cqw;border-radius:1cqw;background:var(--l);position:relative;overflow:hidden}
.c3-fill::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--b2),var(--b));transform-origin:left;scale:0 1}
.c3-field .c3-tick{opacity:0;scale:.4}
.c3.in .c3-fill::after{animation:c3fill 9s var(--ez) calc(1.4s + var(--i) * .7s) infinite}
.c3.in .c3-field .c3-tick{animation:c3pop 9s var(--ez) calc(1.9s + var(--i) * .7s) infinite}
@keyframes c3fill{0%{scale:0 1}12%,88%{scale:1 1}96%,100%{scale:0 1}}
@keyframes c3pop{0%{opacity:0;scale:.4}8%,86%{opacity:1;scale:1}94%,100%{opacity:0;scale:.4}}
.c3-letter{display:grid;gap:1.6cqw}

/* bars (scholarships, english) */
.c3-bars{display:grid;gap:2.2cqw;margin-top:1cqw}
.c3-barrow{display:grid;gap:.9cqw}
.c3-bar{display:block;height:2.6cqw;border-radius:1.4cqw;width:var(--v);transform-origin:left}
.c3-bar--grey{background:#D3DFF1}
.c3-bar--blue{background:linear-gradient(90deg,var(--b2),var(--b))}
.c3-bar--navy{background:linear-gradient(90deg,#14438F,var(--n))}
.c3.in .c3-grow{animation:c3grow 8s var(--ez) calc(1.4s + var(--i,0) * .25s) infinite}
.c3.in .c3-shrink{animation:c3shrink 8s var(--ez) 1.4s infinite}
@keyframes c3grow{0%{scale:0 1}14%,88%{scale:1 1}100%{scale:0 1}}
@keyframes c3shrink{0%{scale:1.7 1}14%,88%{scale:1 1}100%{scale:1.7 1}}
.c3-score{display:flex;align-items:flex-end;gap:1.6cqw;margin:.4cqw 0 .6cqw}
.c3-score .c3-big{font-size:9cqw;color:var(--b)}
.c3-score span{font-size:1.6cqw;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);line-height:1.25;padding-bottom:.8cqw}
.c3-band{display:grid;grid-template-columns:14.5cqw 4.4cqw 1fr;align-items:center;gap:1.4cqw}
.c3-band>b{font-size:1.9cqw;font-weight:800;color:var(--n);grid-column:2;grid-row:1}
.c3-band>.c3-bar{grid-column:3;grid-row:1}
.c3-band .c3-bar{height:1.6cqw}
.c3-wave{display:flex;align-items:center;gap:.9cqw;height:7cqw}
.c3-wave i{flex:1;height:30%;border-radius:1cqw;background:#9CC3FF}
.c3.in .c3-wave i{animation:c3wave 1.4s ease-in-out infinite}
.c3-wave i:nth-child(2n){animation-delay:-.4s!important}.c3-wave i:nth-child(3n){animation-delay:-.8s!important}.c3-wave i:nth-child(4n){animation-delay:-1.1s!important}
@keyframes c3wave{0%,100%{height:24%}50%{height:96%}}

/* onshore steps */
.c3-steps{display:grid;gap:2.4cqw;position:relative;padding-left:5cqw;margin-top:1cqw}
.c3-steps::before{content:"";position:absolute;left:1.5cqw;top:1cqw;bottom:2cqw;border-left:.3cqw solid var(--l)}
.c3-step{position:relative;display:grid}
.c3-step>div{display:grid;gap:.9cqw}
.c3-node{position:absolute;left:-5cqw;top:0;width:3.4cqw;height:3.4cqw;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 .35cqw var(--l)}
.c3.in .c3-node{animation:c3node 9s var(--ez) calc(1.4s + var(--i) * .8s) infinite}
@keyframes c3node{0%{background:#fff;box-shadow:inset 0 0 0 .35cqw var(--l)}8%,88%{background:var(--b);box-shadow:inset 0 0 0 .35cqw var(--b),0 0 0 1.2cqw rgba(1,105,254,.15)}100%{background:#fff;box-shadow:inset 0 0 0 .35cqw var(--l)}}

/* about: globe */
.c3-globe{position:relative;width:100%;height:100%;transform-style:preserve-3d}
.c3-globe::before{content:"";position:absolute;left:50%;top:50%;width:84%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#7DB6FF 0%,#1E6EEA 38%,#0A3B9C 72%,#06224F 100%);box-shadow:0 4cqw 8cqw -3cqw rgba(0,8,30,.7),inset -2cqw -2cqw 4cqw rgba(2,15,40,.5)}
.c3-globe::after{content:"";position:absolute;left:50%;top:50%;width:84%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;
  background:repeating-linear-gradient(90deg,transparent 0 9%,rgba(255,255,255,.13) 9% 9.6%),repeating-linear-gradient(0deg,transparent 0 12%,rgba(255,255,255,.1) 12% 12.6%);
  -webkit-mask:radial-gradient(circle,#000 62%,transparent 71%);mask:radial-gradient(circle,#000 62%,transparent 71%)}
.c3-globe i{position:absolute;left:50%;top:50%;width:112%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;border:.3cqw dashed rgba(156,195,255,.55);transform:rotateX(72deg)}
.c3-globe i:nth-child(2){width:128%;border-style:solid;border-color:rgba(156,195,255,.22);transform:rotateX(72deg) rotateY(18deg)}
.c3-globe i:nth-child(3){width:96%;border-color:rgba(255,255,255,.3);transform:rotateX(80deg) rotateY(-24deg)}
.c3.in .c3-globe i{animation:c3orbit 18s linear infinite}
.c3.in .c3-globe i:nth-child(2){animation-duration:26s;animation-direction:reverse}
@keyframes c3orbit{to{rotate:z 360deg}}

/* book */
.c3-calhead{margin:-3.2cqw -3.2cqw 0;padding:2.4cqw 3.2cqw;border-radius:2.4cqw 2.4cqw 0 0;background:linear-gradient(150deg,#4B95FF,#0157E0);color:#fff;display:flex;justify-content:space-between;align-items:center}
.c3-calhead b{font-size:1.8cqw;letter-spacing:.16em;text-transform:uppercase}
.c3-cal{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2cqw;flex:1}
.c3-cal i{border-radius:1cqw;background:#E6EFFD}
.c3-cal i.off{background:#F3F6FB}
.c3-cal i.on{background:var(--b);box-shadow:0 0 0 0 rgba(1,105,254,.5)}
.c3.in .c3-cal i.on{animation:c3ping 2.4s ease-out 1.6s infinite}
@keyframes c3ping{0%{box-shadow:0 0 0 0 rgba(1,105,254,.55)}100%{box-shadow:0 0 0 2.4cqw rgba(1,105,254,0)}}
.c3-slots{display:grid;gap:1.3cqw}
.c3-slot{display:flex;justify-content:space-between;align-items:center;padding:1.4cqw 1.8cqw;border-radius:1.6cqw;box-shadow:inset 0 0 0 1px #CFDDF2;background:#fff}
.c3-slot b{font-size:2.1cqw;font-weight:800}
.c3-slot span{font-size:1.4cqw;color:var(--ink);font-weight:600}
.c3.in .c3-slot{animation:c3slot 9s var(--ez) calc(1.6s + var(--i) * 2.6s) infinite}
@keyframes c3slot{0%,22%,100%{background:#fff;color:var(--n);box-shadow:inset 0 0 0 1px #CFDDF2}3%,19%{background:var(--b);color:#fff;box-shadow:0 1.4cqw 2.4cqw -1.4cqw rgba(1,105,254,.9)}}
.c3.in .c3-slot span{animation:inherit;animation-name:c3slotsub}
@keyframes c3slotsub{0%,22%,100%{color:var(--ink)}3%,19%{color:#D7E7FF}}

/* contact */
.c3-chathead{margin:-3.2cqw -3.2cqw 0;padding:2.2cqw 3.2cqw;border-radius:2.4cqw 2.4cqw 0 0;background:linear-gradient(150deg,#14438F,#06224F);color:#fff;display:flex;align-items:center;gap:1.6cqw}
.c3-chathead b{font-size:1.9cqw;flex:1}
.c3-chathead span{font-size:1.4cqw;color:#9CC3FF;font-weight:600}
.c3-msgs{display:grid;gap:1.8cqw;align-content:start;flex:1;padding-top:.6cqw}
.c3-msg{padding:1.8cqw;border-radius:2cqw;max-width:78%;opacity:0;translate:0 2cqw}
.c3-msg--in{background:#E9F1FD;border-bottom-left-radius:.5cqw}
.c3-msg--out{background:linear-gradient(150deg,#4B95FF,#0157E0);justify-self:end;border-bottom-right-radius:.5cqw}
.c3-msg--out .c3-lines i{background:rgba(255,255,255,.55)}
.c3-msg .c3-lines{width:28cqw}
.c3-typing{display:flex;gap:.9cqw;padding:1.8cqw 2.2cqw;background:#E9F1FD;border-radius:2cqw;justify-self:start;opacity:0}
.c3-typing i{width:1.4cqw;height:1.4cqw;border-radius:50%;background:#7EA9E8}
.c3.in .c3-msg,.c3.in .c3-typing{animation:c3msg 10s var(--ez) calc(1.4s + var(--i) * .9s) infinite}
.c3.in .c3-typing i{animation:c3blink 1.2s ease-in-out infinite}
.c3-typing i:nth-child(2){animation-delay:.2s!important}.c3-typing i:nth-child(3){animation-delay:.4s!important}
@keyframes c3msg{0%{opacity:0;translate:0 2cqw}6%,86%{opacity:1;translate:0 0}94%,100%{opacity:0;translate:0 0}}
@keyframes c3blink{0%,100%{opacity:.35}50%{opacity:1}}
.c3-disc{display:grid;place-items:center;flex:none;width:6cqw;height:6cqw;border-radius:50%;color:#fff;background:linear-gradient(150deg,#4B95FF,#0157E0)}
.c3p--blue .c3-disc{background:#fff;color:var(--b)}
.c3-disc svg{width:56%;height:56%}
.c3-disc .ic-d{opacity:.3}

/* faq */
.c3-qa{display:grid;gap:0;margin-top:.6cqw}
.c3-q{display:flex;justify-content:space-between;align-items:center;gap:2cqw;padding:2cqw 0;border-top:1px solid var(--l)}
.c3-q span{flex:1}
.c3-q .c3-lines{width:100%}
.c3-q em{font-style:normal;font-weight:700;font-size:2.6cqw;color:var(--b);line-height:1;transition:rotate .4s}
.c3-q--open em{rotate:45deg}
.c3-q--open .c3-lines i{background:#9DBDF0}
.c3-a{padding:0 0 1.6cqw;transform-origin:top}
.c3.in .c3-a{animation:c3open 8s var(--ez) 1.8s infinite}
@keyframes c3open{0%{opacity:0;scale:1 .2}10%,84%{opacity:1;scale:1 1}94%,100%{opacity:0;scale:1 .2}}
.c3-qmark{display:grid;place-items:center;height:100%;font-size:15cqw;font-weight:800;color:#fff;line-height:1;text-shadow:0 1cqw 3cqw rgba(0,20,70,.4)}
.c3-type{flex:1;height:2.2cqw;position:relative}
.c3-type::before{content:"";position:absolute;left:0;top:30%;height:40%;width:0;border-radius:1cqw;background:#C9D9F2}
.c3-type::after{content:"";position:absolute;top:0;bottom:0;left:0;width:.3cqw;background:var(--b)}
.c3.in .c3-type::before{animation:c3typew 6s steps(14) 1.8s infinite}
.c3.in .c3-type::after{animation:c3typec 6s steps(14) 1.8s infinite,c3blink .9s step-end infinite}
@keyframes c3typew{0%{width:0}60%,90%{width:80%}100%{width:0}}
@keyframes c3typec{0%{left:0}60%,90%{left:82%}100%{left:0}}

/* privacy */
.c3-datarow{display:flex;justify-content:space-between;align-items:center;gap:2cqw;padding:2cqw 0;border-top:1px solid var(--l)}
.c3-datarow:first-child{border-top:0}
.c3-mask{font-size:2.6cqw;letter-spacing:.06em;color:#9DBDF0;line-height:1}
.c3p--shield{border-radius:0;padding:0;align-items:center;justify-content:center;gap:2cqw;
  clip-path:polygon(50% 0,100% 13%,100% 52%,92% 72%,74% 89%,50% 100%,26% 89%,8% 72%,0 52%,0 13%)}
.c3p--shield::before{display:none}
.c3p--shield{box-shadow:none;filter:drop-shadow(0 3cqw 4cqw rgba(0,8,30,.55))}
.c3-lock{position:relative;width:12cqw;height:14cqw}
.c3-shackle{position:absolute;left:50%;top:0;width:8.4cqw;height:9cqw;translate:-50% 0;border:1.4cqw solid #fff;border-bottom:0;border-radius:5cqw 5cqw 0 0}
.c3-body{position:absolute;left:0;right:0;bottom:0;height:8.4cqw;border-radius:1.6cqw;background:#fff;box-shadow:0 1.4cqw 2.4cqw -1cqw rgba(0,20,70,.5)}
.c3-body::after{content:"";position:absolute;left:50%;top:30%;width:1.8cqw;height:3.2cqw;translate:-50% 0;border-radius:1cqw;background:var(--n)}
.c3.in .c3-shackle{animation:c3lock 7s var(--ez) 1.6s infinite}
@keyframes c3lock{0%{translate:-50% -2.6cqw}10%,88%{translate:-50% 0}100%{translate:-50% -2.6cqw}}

/* terms */
.c3-seal{display:grid;place-items:center;width:6.4cqw;height:6.4cqw;border-radius:50%;color:#fff;background:linear-gradient(150deg,#4B95FF,#0157E0)}
.c3-seal svg{width:62%;height:62%}
.c3-seal .ic-d{opacity:.3}
.c3-sign{width:56%;height:auto;margin-top:auto}
.c3-sign path{fill:none;stroke:var(--b);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:420;stroke-dashoffset:0}
.c3.in .c3-sign path{animation:c3sign 7s ease-in-out 1.6s infinite}
@keyframes c3sign{0%{stroke-dashoffset:420}40%,88%{stroke-dashoffset:0}100%{stroke-dashoffset:420}}
.c3-signline{display:block;height:.3cqw;width:62%;background:var(--l);margin-top:-1.2cqw}

/* partners */
.c3-link{position:relative;height:100%;display:flex;align-items:center}
.c3-link::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:.4cqw dashed #9CC3FF}
.c3-link i{position:absolute;top:50%;left:0;width:4cqw;height:3cqw;margin-top:-1.5cqw;border-radius:.8cqw;background:#fff;box-shadow:0 1cqw 2cqw -1cqw rgba(0,8,30,.6);opacity:0}
.c3.in .c3-link i{animation:c3packet 4.5s ease-in-out infinite}
.c3-link i:nth-child(2){animation-delay:1.5s!important}.c3-link i:nth-child(3){animation-delay:3s!important}
@keyframes c3packet{0%{left:0;opacity:0}12%,88%{opacity:1}100%{left:calc(100% - 4cqw);opacity:0}}

/* ambassadors */
.c3-url{display:flex;align-items:center;gap:1.2cqw;padding:1.3cqw 1.8cqw;border-radius:1.6cqw;background:#E9F1FD;color:var(--b);font-size:1.6cqw;font-weight:700;white-space:nowrap;overflow:hidden}
.c3-url svg{width:2.6cqw;height:2.6cqw;flex:none}
.c3-url .ic-d{opacity:.26}
.c3-ref{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.8cqw 1.6cqw;padding-top:1.6cqw;border-top:1px solid var(--l)}
.c3-ref .c3-av{grid-row:1/3}
.c3-ref .c3-pill{grid-column:2}
.c3-av{width:5cqw;height:5cqw;border-radius:50%;background:linear-gradient(150deg,#D8E7FF,#9CC3FF)}
.c3.in .c3-ref .c3-pill{animation:c3pop 9s var(--ez) calc(1.6s + var(--i) * .6s) infinite}

/* how it works */
.c3-num{font-size:5.6cqw;font-weight:800;line-height:1;color:var(--b)}
.c3p--navy .c3-num,.c3p--blue .c3-num{color:#fff}

/* blog */
.c3-thumb{height:42%;margin:-1.4cqw -1.4cqw 0;border-radius:1.6cqw;display:grid;place-items:center;color:#fff;background:linear-gradient(150deg,#4B95FF,#0157E0)}
.c3-thumb--1{background:linear-gradient(150deg,#14438F,#06224F)}
.c3-thumb--2{background:linear-gradient(150deg,#8CBBFF,#3D8BFF)}
.c3-thumb svg{width:34%;height:auto}
.c3-thumb .ic-d{opacity:.3}

/* 404 */
.c3-map{width:100%;height:100%}
.c3-map .c3-route{fill:none;stroke:var(--b);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:4 7}
.c3.in .c3-map .c3-route{animation:c3dash 10s linear infinite}
@keyframes c3dash{to{stroke-dashoffset:-220}}

/* reduced motion and editor: final state, no loops */
@media (prefers-reduced-motion:reduce){
  .c3 *,.c3.in *{animation:none!important}
  .c3p{opacity:1;scale:1;translate:0 0}
  .c3-stamp,.c3-msg,.c3-typing,.c3-field .c3-tick{opacity:1;scale:1;translate:0 0}
  .c3-fill::after{scale:1 1}
  .c3__world{transition:none}
}
.c3--static .c3p,.c3--static .c3-stamp,.c3--static .c3-msg,.c3--static .c3-typing,.c3--static .c3-field .c3-tick{opacity:1;scale:1;translate:0 0}
.c3--static .c3-fill::after{scale:1 1}
.c3-band .c3-k{letter-spacing:.08em;grid-column:1;grid-row:1}
