:root{--c-ink:#241537;--c-night:#15091f;--c-cream:#fff9f1;--c-pink:#f34e9a;--c-gold:#f5b942;--c-blue:#50aee8}
.contactPage{overflow-x:hidden;background:var(--c-night);color:var(--c-cream)}.contactPage .nav,.contactPage .nav .brand{color:var(--c-ink)}.contactPage main{background:transparent}.contactPage a:focus-visible{outline:4px solid var(--c-blue);outline-offset:5px}
.contactHero{position:relative;padding:clamp(54px,6vw,92px) clamp(24px,6vw,96px);isolation:isolate;background:radial-gradient(circle at 88% 12%,rgba(243,78,154,.16),transparent 27%),linear-gradient(135deg,#15091f 0,#24102f 52%,#13081d 100%)}
.contactConsole{width:min(100%,1440px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.72fr);border:7px solid #09040e;background:rgba(19,8,28,.96);box-shadow:18px 22px 0 rgba(0,0,0,.4),inset 0 0 0 2px rgba(245,185,66,.22)}.heroMessage{position:relative;padding:clamp(34px,4.2vw,64px);border-left:8px solid var(--c-pink);box-shadow:-9px 0 0 var(--c-gold)}.roomPlate,.routingRoom>header>p{margin:0 0 20px;color:var(--c-gold);font:900 10px/1 monospace;letter-spacing:.16em;text-transform:uppercase}.heroMessage h1{margin:0;font:700 clamp(54px,6.7vw,104px)/.88 Georgia,serif;letter-spacing:-.06em}.heroMessage h1 span{display:block;margin-top:9px;color:var(--c-pink)}.contactLede{max-width:760px;margin:30px 0;color:#e5dae9;font-size:clamp(18px,1.45vw,21px);line-height:1.55}
.directLines{display:flex;gap:12px;flex-wrap:wrap}.directLines a{min-height:84px;padding:16px 19px;display:flex;flex-direction:column;justify-content:center;border:4px solid #09040e;color:var(--c-ink);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.directLines span,.directLines b{display:block}.directLines span{margin-bottom:7px;font:900 8px/1 monospace;letter-spacing:.12em;text-transform:uppercase}.directLines b{font-size:15px;overflow-wrap:anywhere}.emailLine{flex:1 1 330px;background:var(--c-gold);box-shadow:8px 9px 0 var(--c-pink)}.calendarLine{flex:1 1 210px;background:var(--c-cream);box-shadow:8px 9px 0 var(--c-blue)}.directLines a:hover{transform:translate(-4px,-5px)}.emailLine:hover{box-shadow:12px 14px 0 var(--c-pink)}.calendarLine:hover{box-shadow:12px 14px 0 var(--c-blue)}
.professorExchange{position:relative;min-width:0;margin:0;display:grid;place-items:end center;overflow:hidden;border-left:7px solid #09040e;background:radial-gradient(circle at 50% 44%,rgba(243,78,154,.2),transparent 48%),linear-gradient(145deg,#452554,#21102d);box-shadow:inset 0 0 0 3px rgba(245,185,66,.28)}.professorExchange:before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:12px;background:linear-gradient(90deg,var(--c-gold) 0 34%,var(--c-pink) 34% 68%,var(--c-blue) 68%)}.professorExchange img{position:relative;z-index:0;width:min(100%,430px);max-height:550px;display:block;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 12px rgba(0,0,0,.28))}
.routingRoom{padding:clamp(80px,9vw,140px) clamp(24px,7vw,112px);color:var(--c-cream);background:radial-gradient(circle at 84% 22%,rgba(80,174,232,.15),transparent 24%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px),var(--c-night);background-size:auto,36px 36px,36px 36px,auto}.routingRoom>header{max-width:950px;margin-bottom:55px}.routingRoom h2{margin:0;font:700 clamp(50px,6.6vw,92px)/.9 Georgia,serif;letter-spacing:-.055em}.routingRoom>header>span{display:block;margin-top:22px;color:#cfc2d5;font-size:18px}.routingStage{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(600px,1.18fr);border:9px solid #08030c;background:linear-gradient(#4b2a5a,#31183f);box-shadow:18px 21px 0 rgba(0,0,0,.34),inset 0 0 0 4px #78518a}.routingConsole{display:grid;grid-template-columns:repeat(2,1fr);padding:24px;gap:14px;border-left:8px solid #08030c}
.routeProfessor{position:relative;min-width:0;min-height:690px;margin:0;display:grid;place-items:end center;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 45%,rgba(80,174,232,.32),transparent 37%),linear-gradient(160deg,#341542,#15091f)}.routeProfessor:before{content:"";position:absolute;z-index:-1;width:min(72%,390px);aspect-ratio:1;border:4px dashed rgba(245,185,66,.55);border-radius:50%;box-shadow:0 0 65px rgba(243,78,154,.3);animation:contact-orbit 18s linear infinite}.routeProfessor img{position:relative;z-index:2;width:min(96%,560px);height:650px;object-fit:contain;object-position:center bottom;filter:drop-shadow(12px 15px 0 rgba(0,0,0,.25));transform-origin:center bottom;transition:transform .3s cubic-bezier(.16,.9,.25,1.3)}.routeProfessor.changing img{animation:contact-professor-switch .45s cubic-bezier(.16,.9,.25,1.25)}
.signalChannel{--signal:var(--c-pink);position:relative;min-height:300px;padding:29px 24px 24px;display:flex;flex-direction:column;isolation:isolate;border:5px solid #08030c;color:var(--c-cream);background:#1b0c25;box-shadow:inset 0 -12px 0 var(--signal);text-decoration:none;overflow:visible;transition:transform .22s cubic-bezier(.16,.9,.25,1.3),filter .2s ease,box-shadow .2s ease}.signalChannel:before{content:"";position:absolute;z-index:0;inset:-14px;padding:12px;background:conic-gradient(from 25deg,#ff4fa0,#ffd34e,#75ff83,#49c9ff,#ab6cff,#ff4fa0);filter:blur(5px);opacity:0;pointer-events:none;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}.signalChannel>*{position:relative;z-index:2}.teachChannel{--signal:var(--c-gold)}.organizationChannel{--signal:var(--c-blue)}.correctionChannel{--signal:#b87ad6}.signalChannel>span{width:61px;height:61px;display:grid;place-items:center;border:4px solid #08030c;border-radius:50%;background:var(--signal);font-size:29px}.signalChannel p{margin:35px 0 10px;color:var(--signal);font:900 9px/1 monospace;letter-spacing:.13em;text-transform:uppercase}.signalChannel h3{margin:0;font:700 clamp(25px,2.4vw,36px)/.98 Georgia,serif}.signalChannel b{margin-top:auto;color:var(--c-gold);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}.signalChannel>em{position:absolute;left:50%;top:50%;z-index:4;font-style:normal;font-size:34px;opacity:0;pointer-events:none}.signalChannel>em:nth-of-type(1){--ex:-120px;--ey:-100px}.signalChannel>em:nth-of-type(2){--ex:115px;--ey:-92px}.signalChannel>em:nth-of-type(3){--ex:112px;--ey:88px}.signalChannel:hover,.signalChannel:focus-visible,.signalChannel.active{z-index:2;transform:translateY(-11px) rotate(-.7deg);filter:saturate(1.25);box-shadow:10px 13px 0 var(--signal),0 0 34px rgba(255,255,255,.34)}.signalChannel:nth-child(even):hover,.signalChannel:nth-child(even):focus-visible,.signalChannel:nth-child(even).active{transform:translateY(-11px) rotate(.7deg)}.signalChannel:hover:before,.signalChannel:focus-visible:before,.signalChannel.active:before{animation:contact-button-rainbow 1.25s ease-out both}.signalChannel:hover>em,.signalChannel:focus-visible>em{animation:contact-channel-pop .7s cubic-bezier(.16,.9,.25,1.3) both}
@keyframes contact-orbit{to{transform:rotate(1turn)}}@keyframes contact-professor-switch{0%{opacity:.15;transform:translateY(18px) scale(.84) rotate(-2deg)}100%{opacity:1;transform:none}}@keyframes contact-button-rainbow{0%{opacity:0;transform:scale(.88)}35%{opacity:.92}100%{opacity:.58;transform:scale(1.01)}}@keyframes contact-channel-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}55%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--ex)),calc(-50% + var(--ey))) scale(1)}}
@media(max-width:1100px){.contactConsole{grid-template-columns:1fr}.professorExchange{min-height:520px;border-top:7px solid #09040e;border-left:0}.professorExchange img{width:min(88%,430px);max-height:510px}.routingStage{grid-template-columns:1fr}.routeProfessor{min-height:600px}.routeProfessor img{height:570px}.routingConsole{grid-template-columns:1fr 1fr;border-top:8px solid #08030c;border-left:0}}
@media(max-width:650px){.contactHero{padding:40px 20px 54px}.contactConsole{border-width:5px;box-shadow:10px 13px 0 rgba(0,0,0,.4)}.heroMessage{padding:34px 20px;border-left-width:6px;box-shadow:-7px 0 0 var(--c-gold)}.heroMessage h1{font-size:clamp(48px,14.5vw,68px)}.directLines{display:grid}.emailLine,.calendarLine{width:100%}.professorExchange{min-height:430px;border-top-width:5px}.professorExchange img{width:min(96%,380px);max-height:420px}.routingRoom{padding-left:20px;padding-right:20px}.routingStage{border-width:6px}.routeProfessor{min-height:430px}.routeProfessor img{width:100%;height:410px}.routeProfessor:before{width:78%}.routingConsole{grid-template-columns:1fr;padding:15px;border-top-width:6px}.signalChannel{min-height:220px}}
@media(prefers-reduced-motion:reduce){.directLines a,.signalChannel,.routeProfessor img{transition:none}.routeProfessor:before,.routeProfessor.changing img,.signalChannel:hover:before,.signalChannel:focus-visible:before,.signalChannel.active:before,.signalChannel:hover>em,.signalChannel:focus-visible>em{animation:none}.signalChannel.active:before{opacity:.45}.signalChannel>em{opacity:0}}
