.closing-section{position:relative;isolation:isolate;overflow:hidden;background:#f5f5ff;margin-top:-54px;padding:130px 48px 30px;color:#242726;font-family:Montserrat,sans-serif}.closing-wrap{position:relative;max-width:700px;text-align:center;margin:0 auto 85px}.closing-eyebrow{display:block;font:700 11px/1.6 Firs,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#717fae;margin-bottom:18px}.closing-wrap h2{margin:0;font:700 clamp(42px,5vw,66px)/1.06 Firs,sans-serif;letter-spacing:-.045em}.closing-wrap h2 span{color:#687fe5}.closing-wrap>p{font:500 14px/1.9 Montserrat,sans-serif;color:#606a83;max-width:475px;margin:25px auto 28px}.closing-button{display:inline-flex;gap:27px;align-items:center;background:#687fe5;color:white;padding:17px 27px;border-radius:12px;text-decoration:none;font:700 17px/1.3 Firs,sans-serif;box-shadow:0 5px 0 #dce1f9;transition:transform .6s cubic-bezier(.2,.8,.25,1),box-shadow .6s ease,background .6s ease}.closing-button:hover{transform:translateY(-4px) scale(1.025);background:#5e72d6;box-shadow:0 9px 0 #dce1f9}.closing-button span{transition:transform .6s ease}.closing-button:hover span{transform:translate(2px,-2px)}.closing-options{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 18px;margin-top:23px;font:500 11px/1.6 Montserrat,sans-serif;color:#95a0bb}.closing-options a{color:#6677ba;text-underline-offset:4px;text-decoration-color:#bdc7e7}.closing-halo{position:absolute;width:650px;height:650px;left:50%;top:-85px;transform:translateX(-50%);border-radius:50%;border:1px solid #dfe4f5;z-index:-1;animation:closing-orbit 12s ease-in-out infinite}.closing-halo::before,.closing-halo::after{content:'';position:absolute;border:1px solid #e2e6f6;border-radius:50%;inset:35px}.closing-halo::after{inset:-50px;border-style:dashed;opacity:.5}.landing-footer{position:relative;max-width:1120px;margin:auto;border-top:1px solid #dce1f2;padding-top:28px;display:grid;grid-template-columns:1fr auto;gap:23px;align-items:center}.footer-name{font:700 17px/1.3 Firs,sans-serif;color:#30364a;text-decoration:none}.footer-name span{display:block;margin-top:7px;font:500 10px/1.5 Montserrat,sans-serif;color:#7b849f}.landing-footer nav{display:flex;flex-wrap:wrap;gap:22px}.landing-footer nav a{font:500 11px/1.5 Montserrat,sans-serif;color:#68769d;text-decoration:none}.landing-footer nav a:hover{text-decoration:underline;text-underline-offset:4px}.landing-footer small{grid-column:1/-1;font:500 9px/1.6 Montserrat,sans-serif;color:#929bb0}.closing-section a:focus-visible{outline:3px solid #8799eb;outline-offset:5px}.closing-animated .closing-wrap>*{opacity:0;transform:translateY(15px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.25,1)}.closing-animated .closing-section.is-visible .closing-wrap>*{opacity:1;transform:translateY(0)}.closing-wrap h2{transition-delay:.12s!important}.closing-wrap>p{transition-delay:.28s!important}.closing-wrap>.closing-button{transition-delay:.4s}.closing-wrap>.closing-options{transition-delay:.55s}@keyframes closing-orbit{50%{rotate:8deg;scale:1.035}}@media(max-width:700px){.closing-section{margin-top:-28px;padding:90px 24px 25px}.closing-wrap{margin-bottom:57px}.closing-wrap h2{font-size:44px}.closing-wrap>p{font-size:13px}.closing-halo{width:450px;height:450px;top:-15px}.landing-footer{grid-template-columns:1fr;gap:23px}.landing-footer nav{gap:16px}.closing-options{gap:10px 13px;font-size:10px}}@media(prefers-reduced-motion:reduce){.closing-halo{animation:none}.closing-animated .closing-wrap>*{opacity:1;transform:none;transition:none}.closing-button,.closing-button span{transition:none}}
.closing-button{transition:opacity .9s ease,transform .6s ease,translate .6s ease,scale .6s ease,box-shadow .6s ease,background .6s ease!important}.closing-button:hover{translate:0 -4px;scale:1.025}
/* Keep section three's clipped diagonal above the closing background. */
.recognition-section{z-index:2}
.closing-section{z-index:1}
/* Each earlier section sits above the next to preserve its diagonal edge. */
.hero-transition{position:relative;z-index:4;clip-path:polygon(0 0,100% 0,100% calc(100% - 54px),0 100%)}
.about-section{position:relative;z-index:3;margin-top:-54px;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 54px))}
.recognition-section{position:relative;z-index:2;margin-top:-54px;clip-path:polygon(0 0,100% 0,100% calc(100% - 54px),0 100%)}
.closing-section{position:relative;z-index:1;margin-top:-54px}
@media(max-width:700px){
.hero-transition{clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),0 100%)}
.about-section{margin-top:-28px;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 28px))}
.recognition-section{margin-top:-28px;clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),0 100%)}
.closing-section{margin-top:-28px}
}
.closing-stars{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.closing-star{position:absolute;opacity:.35;animation:closing-star-float var(--star-time) ease-in-out var(--star-delay) infinite alternate;transform-origin:center}.closing-wrap{max-width:720px}.closing-search{max-width:330px;margin:30px auto 0}.closing-search p{font:500 11px/1.7 Montserrat,sans-serif;color:#7a849d;margin:0 0 11px}.closing-search form{display:flex;border:1px solid #cfd7ef;border-radius:8px;background:#ffffffb3;overflow:hidden}.closing-search input{min-width:0;width:100%;padding:12px 14px;border:0;background:transparent;font:500 12px Montserrat,sans-serif;color:#30364a}.closing-search input:focus{outline:2px solid #8c9deb;outline-offset:-2px}.closing-search button{border:0;padding:0 15px;background:transparent;color:#6576bb;font-size:27px;cursor:pointer}.closing-search button:hover{background:#e7ebff}.landing-footer nav{gap:16px}.closing-wrap>.closing-search{transition-delay:.65s}@keyframes closing-star-float{0%{transform:translateY(-8px) rotate(-12deg)}100%{transform:translateY(12px) rotate(var(--star-turn))}}@media(max-width:700px){.closing-star{opacity:.25}.closing-options{max-width:310px;margin-inline:auto}}@media(prefers-reduced-motion:reduce){.closing-star{animation:none}}
@keyframes closing-star-float{0%{transform:translate(-8px,-18px) rotate(-30deg)}100%{transform:translate(10px,22px) rotate(var(--star-turn))}}
.closing-star{opacity:.43}
.closing-section{z-index:1;clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 54px));padding-bottom:105px}
.closing-wrap{margin-bottom:0}
.site-footer{position:relative;z-index:0;background:#eef0f6;margin-top:-54px;padding:110px 48px 32px;color:#5e6981;font-family:Montserrat,sans-serif}
.site-footer-wrap{max-width:1120px;margin:auto}.site-footer .footer-name{display:inline-block;margin-bottom:30px}.footer-columns{display:grid;grid-template-columns:.65fr 1.3fr .85fr 1.3fr;gap:38px}.footer-columns h3{font:700 12px/1.5 Firs,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#404c68;margin:0 0 17px}.footer-columns p{font:500 11px/1.9 Montserrat,sans-serif;margin:0}.footer-columns a{font:500 11px/1.9 Montserrat,sans-serif;color:#6c7ca7;text-decoration:none}.footer-columns nav a{display:block;margin-bottom:5px}.footer-columns a:hover{text-decoration:underline;text-underline-offset:4px}.footer-email{overflow-wrap:anywhere}.site-footer small{display:block;border-top:1px solid #dce1ed;margin-top:34px;padding-top:20px;font:500 9px/1.6 Montserrat,sans-serif;color:#8792a9}.site-footer a:focus-visible{outline:3px solid #8799eb;outline-offset:4px}
@media(max-width:900px){.footer-columns{grid-template-columns:1fr 1fr;gap:30px 38px}}
@media(max-width:700px){.closing-section{clip-path:polygon(0 0,100% 0,100% 100%,0 calc(100% - 28px));padding-bottom:72px}.site-footer{margin-top:-28px;padding:75px 24px 25px}.footer-columns{gap:28px 23px}.footer-columns>div:last-child{grid-column:1/-1}}
@media(max-width:360px){.footer-columns{grid-template-columns:1fr}}
.site-footer{background:#faf9f6}
.footer-animated .site-footer .footer-name,.footer-animated .footer-columns>* ,.footer-animated .site-footer small{opacity:0;transform:translateY(20px);transition:opacity .95s ease,transform .95s cubic-bezier(.2,.8,.25,1)}
.footer-animated .site-footer.is-visible .footer-name,.footer-animated .site-footer.is-visible .footer-columns>*,.footer-animated .site-footer.is-visible small{opacity:1;transform:translateY(0)}
.footer-columns>:nth-child(1){transition-delay:.12s}.footer-columns>:nth-child(2){transition-delay:.24s}.footer-columns>:nth-child(3){transition-delay:.36s}.footer-columns>:nth-child(4){transition-delay:.48s}.site-footer small{transition-delay:.6s}
.site-footer{overflow:hidden;padding-bottom:150px}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:100;width:48px;height:48px;border:1px solid #d5dcff;border-radius:50%;background:#687fe5;color:white;font-size:29px;cursor:pointer;box-shadow:0 4px 18px #374a8c24;transition:scale .35s ease,background .35s ease}
.back-to-top:hover{scale:1.08;background:#536aca}.back-to-top:focus-visible,.footer-connor:focus-visible{outline:3px solid #e3af52;outline-offset:5px}.back-to-top[hidden],.footer-connor[hidden]{display:none}
.footer-connor{position:absolute;right:86px;bottom:0;width:145px;height:145px;border:0;padding:0;background:none;cursor:pointer;touch-action:manipulation;z-index:2}.footer-connor-art{display:block;width:100%;height:100%;background:url('assets/connor-footer-sprites.png') 0 0/200% 100% no-repeat}.footer-connor.is-angry .footer-connor-art{background-position:100% 0}
@media(max-width:700px){.site-footer{padding-bottom:130px}.back-to-top{width:44px;height:44px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom));font-size:26px}.footer-connor{width:120px;height:120px;right:70px}.closing-button{min-height:48px}.closing-options a,.footer-columns nav a{padding-block:7px}.footer-columns{gap:28px 20px}}
@media(prefers-reduced-motion:reduce){.footer-animated .site-footer .footer-name,.footer-animated .footer-columns>*,.footer-animated .site-footer small{opacity:1;transform:none;transition:none}.back-to-top{transition:none}}
/* Sleeping Connor stays within the footer contact column. */
.site-footer{padding-bottom:32px}
.footer-columns>div:last-child{position:relative}
.footer-connor{position:relative;right:auto;bottom:auto;display:block;width:180px;height:180px;max-width:100%;margin:12px 0 0;overflow:visible}
.footer-connor-art{background-image:url('assets/connor-footer-sleeping.png');transform-origin:50% 78%;animation:connor-sleep-breathe 3.6s ease-in-out infinite}
@keyframes connor-sleep-breathe{0%,100%{transform:scale(1,1)}50%{transform:scale(1.015,1.035)}}
@media(max-width:700px){.site-footer{padding-bottom:25px}.footer-connor{width:160px;height:160px;margin-top:8px}}
@media(prefers-reduced-motion:reduce){.footer-connor-art{animation:none}}
.footer-columns>div:last-child{min-height:230px}@media(max-width:700px){.footer-columns>div:last-child{min-height:210px}}
.footer-connor-art{animation:none}
.connor-zz{position:absolute;left:63%;top:10%;width:50px;height:50px;color:#8795c8;font:700 16px/1 Firs,sans-serif;pointer-events:none;opacity:1;transition:opacity .45s ease}
.connor-zz i{position:absolute;font-style:normal;animation:connor-dream 3.6s ease-in-out infinite;bottom:0;left:0}.connor-zz i:nth-child(2){animation-delay:-1.2s;font-size:19px}.connor-zz i:nth-child(3){animation-delay:-2.4s;font-size:23px}
@keyframes connor-dream{0%{opacity:0;transform:translate(0,7px) scale(.75)}20%{opacity:.8}80%{opacity:.6}100%{opacity:0;transform:translate(20px,-29px) scale(1.05)}}
.footer-connor.is-angry .connor-zz{opacity:0}.footer-connor.is-angry .connor-zz i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.connor-zz i{animation:none;opacity:.6}.connor-zz i:nth-child(2){left:13px;bottom:12px}.connor-zz i:nth-child(3){left:28px;bottom:25px}.connor-zz{transition:none}}
/* Preserve the sleeping body: only the irritated eye changes. */
.footer-connor.is-angry .footer-connor-art{background-position:0 0}
.footer-connor-art{position:relative}
.connor-annoyed-eye{position:absolute;inset:0;background:url('assets/connor-footer-sleeping.png') 100% 0/200% 100% no-repeat;clip-path:ellipse(12% 7% at 26% 64%);visibility:hidden}
.footer-connor.is-angry .connor-annoyed-eye{visibility:visible}
.footer-connor{margin-top:-25px;height:155px}.footer-connor-art{height:180px}
.connor-zz{top:17%}
@media(max-width:700px){.footer-connor{margin-top:-22px;height:138px}.footer-connor-art{height:160px}}
.footer-email{position:relative;z-index:5;display:inline-block}.footer-connor{z-index:1}
.footer-columns>div:last-child{min-height:0}.site-footer small{margin-top:18px;padding-top:14px}.site-footer{padding-bottom:24px}@media(max-width:700px){.footer-columns>div:last-child{min-height:0}.site-footer{padding-bottom:20px}.site-footer small{margin-top:16px}}
.site-footer{padding-top:72px}.site-footer .footer-name{margin-bottom:24px}@media(max-width:700px){.site-footer{padding-top:48px}.site-footer .footer-name{margin-bottom:20px}}
