.purpose-triangle{margin:0 0 100px;padding:60px 30px 40px;background:transparent;border-radius:28px;overflow:hidden}.triangle-heading{text-align:center}.triangle-heading h2{font-size:clamp(28px,3.6vw,44px);line-height:1.2;margin:14px 0 35px}.triangle-stage{position:relative;width:min(650px,100%);aspect-ratio:600/480;margin:auto}.triangle-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke-width:1.5}.triangle-base{stroke:#aec4d6}.triangle-trace{stroke:#bf9d47;stroke-width:3;stroke-dasharray:160 1000;animation:triangle-flow 7s linear infinite;filter:drop-shadow(0 0 5px #d5b767)}.triangle-node{position:absolute;transform:translate(-50%,-50%);width:155px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;background:#fff;color:#153a55;box-shadow:0 12px 40px #123b5714;border:1px solid #dce7ef;animation:triangle-glow 5s ease-in-out infinite}.triangle-node span{color:#a78947;font-size:12px;letter-spacing:.15em}.triangle-node h3{font-size:20px;line-height:1.35;margin:8px 0 0}.node-research{left:50%;top:13.54%}.node-scholars{left:11.67%;top:79.17%;animation-delay:1.6s}.node-exchange{left:88.33%;top:79.17%;animation-delay:3.2s}.triangle-center{position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);font:46px 'Cormorant Garamond',serif;color:#174462;letter-spacing:.05em}.purpose-triangle+.page-intro{margin-top:0}@keyframes triangle-flow{to{stroke-dashoffset:-1160}}@keyframes triangle-glow{0%,100%{box-shadow:0 12px 40px #123b5714}50%{box-shadow:0 12px 45px #174e7930,0 0 0 8px #c7dce82b}}@media(max-width:650px){.purpose-triangle{padding:35px 22px 26px;margin-bottom:55px;border-radius:20px}.triangle-heading h2{margin-bottom:45px}.triangle-stage{width:100%;margin:0 auto 12px;aspect-ratio:600/530}.triangle-lines{height:90.57%}.triangle-node{width:105px;height:105px}.triangle-node h3{font-size:14px}.triangle-node span{font-size:10px}.node-research{top:12.26%}.node-scholars,.node-exchange{top:71.7%}.node-scholars{left:13%}.node-exchange{left:87%}.triangle-center{font-size:32px;top:49%}}@media(prefers-reduced-motion:reduce){.triangle-trace,.triangle-node{animation:none}}.triangle-heading h2{max-width:950px;margin:0 auto 70px}.triangle-heading h2 span{display:block;font-size:.58em;font-weight:500;line-height:1.6;color:#587080;margin-top:16px}.triangle-base{stroke:#cbd5dd;stroke-dasharray:1160;animation:triangle-draw 2.4s ease-out both}.triangle-spark{stroke:#d8b45a;stroke-width:6;stroke-linecap:round;stroke-dasharray:2 1158;animation:triangle-flow 7s linear infinite;filter:drop-shadow(0 0 7px #bf9d47)}.triangle-orbit{stroke:#c5a358;stroke-width:1;stroke-dasharray:35 80 4 40;opacity:.38;transform-origin:300px 257px;animation:triangle-orbit 24s linear infinite}.orbit-inner{stroke:#174462;opacity:.16;stroke-dasharray:3 22;animation-direction:reverse;animation-duration:32s}.triangle-node:before,.triangle-node:after{content:"";position:absolute;inset:-8px;border:1px solid #c3a25366;border-radius:50%;pointer-events:none}.triangle-node:before{border-color:transparent;border-top-color:#b79748;border-right-color:#b7974866;animation:node-orbit 8s linear infinite}.triangle-node:after{inset:-15px;border-style:dotted;opacity:.35;animation:node-orbit 22s linear infinite reverse}.node-scholars:before{animation-delay:-2.6s}.node-exchange:before{animation-delay:-5.3s}.triangle-center{animation:center-breathe 6s ease-in-out infinite}@keyframes triangle-draw{from{stroke-dashoffset:1160}to{stroke-dashoffset:0}}@keyframes triangle-orbit{to{transform:rotate(360deg)}}@keyframes node-orbit{to{transform:rotate(360deg)}}@keyframes center-breathe{0%,100%{opacity:.75;letter-spacing:.05em}50%{opacity:1;letter-spacing:.09em}}@media(max-width:650px){.triangle-heading h2{margin-bottom:60px;font-size:29px}.triangle-heading h2 span{font-size:18px}.purpose-triangle{padding-left:27px;padding-right:27px}.triangle-node:after{inset:-10px}.triangle-node:before{inset:-5px}}@media(prefers-reduced-motion:reduce){.triangle-base,.triangle-spark,.triangle-orbit,.triangle-node:before,.triangle-node:after,.triangle-center{animation:none}}.triangle-heading h2 span{letter-spacing:normal}