/* Contact lives in the page: three direct routes, followed by a calm writing space. */
.contact-opening{padding:35px var(--p) 0;background:#051a2f;overflow:hidden}
.contact-opening .breadcrumb{font-size:9px;letter-spacing:1px;color:#91a8bf}
.contact-opening-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:4vw;padding:55px 0 52px}
.contact-opening .eyebrow{font-size:8px;letter-spacing:1.6px;color:#9d89fc}
.contact-opening h1{font:400 clamp(60px,7.3vw,110px)/1.06 Anton;max-width:none;margin:24px 0;letter-spacing:-.015em}
.contact-opening h1 em{background:none;color:#9d89fc;-webkit-text-fill-color:initial}
.contact-opening-grid p{font-size:16px;line-height:1.8;color:#c8ddf1}
.contact-start{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:44px;margin-top:24px;padding:10px 0;border-bottom:1px solid #9d89fc70;font-size:12px}.contact-start span{font-size:23px;font-weight:300;transition:transform .3s}.contact-start:hover span{transform:rotate(90deg)}
.contact-constellation{position:relative;max-width:500px;width:100%;aspect-ratio:500/420;justify-self:end}
.contact-constellation svg{display:block;width:100%;height:100%}.contact-orbit-lines{transform-origin:250px 210px;animation:contact-orbit-drift 55s ease-in-out infinite alternate}
.contact-constellation>span{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:7px;letter-spacing:2px;color:#93abc1}
@keyframes contact-orbit-drift{from{transform:rotate(-8deg)}to{transform:rotate(12deg)}}
.contact-routes{display:grid;grid-template-columns:1.1fr 1.1fr 1fr;gap:38px;border-top:1px solid #c8ddf130;padding:30px 0 42px}
.contact-routes>div{display:flex;flex-direction:column;align-items:start;min-width:0}.contact-route-number{font-size:8px;letter-spacing:1.5px;color:#9d89fc;margin-bottom:20px}
.contact-routes a,.contact-routes p{font-size:clamp(16px,1.6vw,23px);font-weight:400;line-height:1.5;letter-spacing:-.4px}
.contact-routes a{min-height:38px;transition:color .2s}.contact-routes a:hover{color:#9d89fc}
.contact-routes a.contact-secondary-mail{font-size:12px;letter-spacing:0;color:#93abc1;min-height:30px;margin-top:3px}
.contact-route-note{font-size:11px;color:#93abc1;line-height:1.5;margin-top:10px}.contact-routes p>span{font-size:14px;color:#c8ddf1;letter-spacing:0}
.contact-message{display:grid;grid-template-columns:1fr 1.25fr;gap:9vw;padding:80px var(--p);background:#f6f7fb;color:#051a2f;scroll-margin-top:0}
.contact-message .eyebrow{font-size:8px;letter-spacing:1.5px;color:#6a46bb}
.contact-message h2{font:400 clamp(38px,4.4vw,65px)/1.12 Anton;margin:24px 0}.contact-message h2 em{color:#6e50bc}
.contact-message-intro>p{font-size:14px;line-height:1.8;max-width:340px;color:#38516b}
.contact-people{display:flex;align-items:center;gap:16px;margin-top:32px}.contact-avatars{display:flex;padding-right:5px}.contact-avatars img{object-fit:cover;width:52px;height:52px;border-radius:50%;border:3px solid #f6f7fb}.contact-avatars img+img{margin-left:-10px}.contact-people strong{display:block;font-size:12px;font-weight:500}.contact-people small{display:block;font-size:10px;color:#56708a;margin-top:5px}
.contact-about{display:inline-flex;align-items:center;gap:25px;min-height:40px;border-bottom:1px solid #8a71c570;margin-top:22px;padding:6px 0;font-size:11px}.contact-about>span{color:#6e50bc;font-size:18px}
.contact-message-form{display:flex;flex-direction:column;gap:32px;justify-content:center}.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.contact-message-form label{color:#243f59;font-size:11px;gap:10px;line-height:1.5}
.contact-message-form input,.contact-message-form textarea{border:0;border-bottom:1px solid #051a2f40;border-radius:0;background:transparent;color:#051a2f;padding:10px 0 14px;font:14px/1.6 'DM Sans',sans-serif;resize:vertical;outline-offset:4px;transition:border-color .2s}
.contact-message-form input:focus,.contact-message-form textarea:focus{outline:0;border-bottom:2px solid #7957c7;padding-bottom:13px}
.contact-message-form input::placeholder,.contact-message-form textarea::placeholder{color:#8291a3;opacity:1}
.contact-form-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px}.contact-form-bottom>small{font-size:10px;color:#61758a;line-height:1.65;max-width:230px}
.contact-message-form button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:48px;border:1px solid #051a2f;background:#051a2f;color:white;padding:13px 20px;border-radius:28px;font:500 11px 'DM Sans';white-space:nowrap;transition:background .2s}.contact-message-form button:hover{background:#17314b}.contact-message-form button span{font-size:20px;font-weight:300;line-height:1}
.contact-message-form .form-result{color:#29455e;font-size:12px;line-height:1.7;border-left:2px solid #9d89fc;padding-left:15px;margin:0}
.contact-return{padding:0 var(--p) 45px}
@media(max-width:900px){.contact-opening-grid{gap:0}.contact-routes{gap:25px}.contact-message{gap:6vw}.contact-form-row{grid-template-columns:1fr;gap:24px}.contact-form-bottom{flex-direction:column;align-items:start}.contact-form-bottom>small{max-width:none}.contact-message-form{gap:25px}}
@media(max-width:600px){
 .contact-opening{padding-top:24px}.contact-opening-grid{grid-template-columns:1fr;padding:30px 0 32px;position:relative}
 .contact-opening .eyebrow{font-size:6px;letter-spacing:1px;max-width:100%;display:block}
 .contact-opening h1{font-size:clamp(44px,12.5vw,66px);margin:20px 0;position:relative;z-index:1}
 .contact-opening-grid p{font-size:13px;line-height:1.7;position:relative;z-index:1}
 .contact-constellation{position:absolute;right:-75px;top:16px;width:220px;opacity:.45;pointer-events:none;z-index:0}.contact-constellation>span{display:none}
 .contact-start{font-size:11px;margin-top:18px;gap:25px;position:relative;z-index:1}
 .contact-routes{grid-template-columns:1fr;gap:0;padding:0 0 15px;border-top:1px solid #c8ddf130}
 .contact-routes>div{padding:22px 0;border-bottom:1px solid #c8ddf120}.contact-routes>div:last-child{border-bottom:0}
 .contact-route-number{font-size:7px;margin-bottom:12px;letter-spacing:1.1px}.contact-routes a,.contact-routes p{font-size:20px;min-height:32px}.contact-routes a.contact-secondary-mail{font-size:12px;min-height:32px}.contact-routes p>span{font-size:14px}.contact-route-note{font-size:10px;margin-top:6px}
 .contact-message{grid-template-columns:1fr;padding-top:42px;padding-bottom:42px;gap:40px}
 .contact-message h2{font-size:38px;margin:18px 0}.contact-message-intro>p{font-size:13px;max-width:100%}.contact-message .eyebrow{font-size:7px}.contact-people{margin-top:22px}.contact-about{margin-top:16px}
 .contact-message-form{gap:25px}.contact-message-form input,.contact-message-form textarea{font-size:16px}.contact-message-form label{font-size:11px}.contact-form-bottom{gap:18px}.contact-message-form button{width:100%;min-height:48px}.contact-form-bottom>small{font-size:10px}
 .contact-return{padding-bottom:90px}
}
@media(prefers-reduced-motion:reduce){.contact-orbit-lines{animation:none}.contact-start span{transition:none}}
@media(min-width:601px){
 .contact-opening{padding-top:24px}
 .contact-opening-grid{padding-top:35px;padding-bottom:32px}
 .contact-opening h1{font-size:clamp(54px,6.2vw,96px);margin:18px 0}
 .contact-start{margin-top:18px}
 .contact-constellation{max-width:400px}
 .contact-routes{padding-top:24px;padding-bottom:32px}
 .contact-route-number{margin-bottom:14px}
}
