/* Contact-only layout and lightweight SVG assistant. */
.contact-page .inner-hero{padding:48px 0 28px;border:0}
.contact-page .inner-hero h1{font-size:clamp(40px,5vw,66px);margin-bottom:14px}
.contact-page .inner-hero h1 span{display:inline}
.contact-page .inner-hero p{font-size:16px;margin-bottom:0}
.contact-page-section{padding:24px 0 80px}
.contact-page-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:28px;align-items:start}
.contact-aside{min-width:0;display:grid;gap:20px}
.contact-assistant{position:relative;display:flex;align-items:center;gap:2px;min-height:220px;padding:12px 22px 12px 6px;background:radial-gradient(ellipse at 25% 65%,#138cd42b,transparent 75%),linear-gradient(135deg,#142d43,#0e1d2e);border:1px solid #86c8ed42;border-radius:22px;overflow:hidden}
.contact-assistant[hidden]{display:none}
.robot-stage{width:52%;flex-shrink:0;perspective:500px}
.contact-robot{width:100%;height:auto;display:block;overflow:visible}
.contact-assistant .robot-stage{position:relative}
.seated-guide{transform-origin:50% 90%}
.guide-typing-dots{position:absolute;left:24%;top:49%;display:flex;gap:3px;padding:5px 7px;border-radius:8px;background:#0b1220e6;opacity:0;pointer-events:none;transition:opacity .15s ease}
.guide-typing-dots i{width:4px;height:4px;border-radius:50%;background:#8fd9ff}
.contact-assistant[data-typing="true"] .guide-seated-art{filter:url(#guideTypingHands)}
.contact-assistant[data-typing="true"] .guide-hand-motion{animation:guideKeyTap .22s ease-in-out infinite alternate}
.contact-assistant[data-typing="true"] .seated-guide{animation:guideTypingNod .65s ease-in-out infinite}
.contact-assistant[data-typing="true"] .guide-typing-dots{opacity:1}
.contact-assistant[data-typing="true"] .guide-typing-dots i{animation:guideTypingDot .6s ease-in-out infinite alternate}
.contact-assistant[data-typing="true"] .guide-typing-dots i:nth-child(2){animation-delay:.12s}
.contact-assistant[data-typing="true"] .guide-typing-dots i:nth-child(3){animation-delay:.24s}
@keyframes guideKeyTap{from{flood-color:rgb(112,92,128)}to{flood-color:rgb(144,164,128)}}
@keyframes guideTypingNod{0%,100%{transform:rotate(0)}50%{transform:translateY(1px) rotate(.6deg)}}
@keyframes guideTypingDot{to{transform:translateY(-3px);opacity:.45}}
@media(prefers-reduced-motion:reduce){.contact-assistant[data-typing] .guide-seated-art{filter:none}.contact-assistant[data-typing] :is(.seated-guide,.guide-hand-motion,.guide-typing-dots i){animation:none}.guide-typing-dots{transition:none}}
.robot-body{transform-origin:120px 150px;animation:robotHover 5s ease-in-out infinite}
.robot-head{transform-origin:120px 105px;transition:transform .35s ease}
.robot-eyes{transform:translate(var(--gaze-x,0px),var(--gaze-y,0px));transition:transform .22s ease}
.robot-hand-right{transform-origin:157px 137px;transition:transform .4s ease}
.contact-assistant[data-state="watch"] .robot-head{transform:rotate(5deg)}
.contact-assistant[data-state="watch"] .robot-hand-right{transform:rotate(-14deg)}
.robot-guide{position:relative;min-width:0;flex:1}
.robot-guide-label{font-size:9px;font-weight:650;letter-spacing:.12em;color:#8fd9ff;display:flex;align-items:center;gap:6px;line-height:1.5}
.robot-guide-label i{width:5px;height:5px;background:#78ddff;border-radius:50%;flex-shrink:0}
.robot-guide p{color:#e0effb;font-size:14px;line-height:1.6;margin:10px 0 0;min-height:66px}
.contact-page .contact-info{padding:24px;background:linear-gradient(140deg,#10263a,#0c1c2c);border-color:#81badb33;box-shadow:none}
.contact-page .contact-info h2{font-size:18px;margin-bottom:14px}
.contact-page .contact-info>a{padding-block:17px}
.contact-page .contact-info a strong{font-size:14px}
.contact-page .contact-info .contact-location{padding-top:17px}
.contact-page .contact-info .social-links:empty{display:none}
.contact-page .standalone-contact-form{padding:30px;background:linear-gradient(145deg,#142b41,#0d1d30);border:1px solid #82c5ee42;box-shadow:inset 0 1px 0 #d8f1ff0b,0 18px 45px #02091425}
.contact-form-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.contact-form-heading h2{font-size:24px;margin:0;letter-spacing:-.04em}
.contact-form-heading>span{font-size:11px;color:#b7cde0}
.contact-page .standalone-contact-form label>span{color:#cbdfee;font-size:13px}
.contact-page .standalone-contact-form :is(input:not([type="hidden"]),textarea){background:#091b2e;border-color:#7db3d63d;transition:border-color .22s ease,box-shadow .22s ease}
.contact-page .standalone-contact-form :is(input,textarea):focus{border-color:#48baff;box-shadow:0 0 0 3px #129cff15}
.contact-page .standalone-contact-form :is(input,textarea)::placeholder{color:#94aec5;opacity:1}
.contact-page .standalone-contact-form textarea{min-height:142px;resize:vertical}
.contact-page .form-helper{font-size:12px;color:#b6ccdf;margin:4px 0 20px}
.contact-page .form-status:empty{display:none}
.contact-page .form-status{margin-bottom:16px;color:#bde7ff}
.contact-page .form-status.is-success{padding:14px 16px;background:#1d9cc51a;border:1px solid #69d5e64d;border-radius:10px;color:#c3f8ed}
.contact-page .form-error[hidden]{display:none}
.contact-page .form-error{margin-bottom:20px}
.contact-page button[type="submit"]:disabled{cursor:default;opacity:.75;transform:none!important}
.contact-assistant[data-state="sending"] .robot-eyes{transform:translate(2px,4px) scaleY(.75);transform-origin:120px 92px}
.contact-assistant[data-state="success"] .robot-hand-right{animation:robotWave .36s ease-in-out 3 alternate}
.contact-assistant[data-state="success"] .robot-stage{animation:robotGoodbye 1.4s cubic-bezier(.22,.8,.2,1) forwards}
.contact-assistant[data-state="success"] .robot-guide{animation:robotHintExit 1.4s ease forwards}
@keyframes robotHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes robotWave{from{transform:rotate(-110deg)}to{transform:rotate(-145deg)}}
@keyframes robotGoodbye{0%,50%{transform:translateY(0);opacity:1}100%{transform:translateY(-65px) scale(.85);opacity:0}}
@keyframes robotHintExit{0%,65%{opacity:1}100%{opacity:0}}
@media(max-width:900px){.contact-page-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:20px}.contact-assistant{padding:10px;min-height:190px}.robot-guide p{font-size:12px}.contact-page .standalone-contact-form{padding:24px}}
@media(max-width:760px){
  .contact-page .inner-hero{padding:30px 0 20px}.contact-page .inner-hero h1{font-size:42px}
  .contact-page-section{padding-top:8px}.contact-page-grid{display:flex;flex-direction:column;gap:18px}.contact-aside{display:contents}
  .contact-assistant{order:0;position:sticky;top:82px;z-index:5;width:100%;min-height:0;padding:8px 18px 8px 10px;background:linear-gradient(135deg,#16334b,#0e2135);box-shadow:0 8px 24px #030b1833}.robot-stage{width:100px}.robot-guide p{font-size:13px;min-height:42px}
  .contact-page .standalone-contact-form :is(input,textarea,button){scroll-margin-top:230px}
  .contact-page .standalone-contact-form{order:1;width:100%;padding:22px}.contact-page .contact-info{order:2;width:100%}
  .contact-form-heading{margin-bottom:20px}.contact-page .standalone-contact-form .form-row{grid-template-columns:1fr}
  .contact-page .standalone-contact-form button[type="submit"]{width:100%;min-height:48px}
}
@media(max-width:360px){.robot-stage{width:100px}.contact-assistant{padding:10px}.robot-guide p{font-size:13px}.contact-page .inner-hero h1{font-size:36px}}
/* Leave room for the form when a phone's on-screen keyboard is open. */
@media(max-width:760px) and (max-height:600px){.contact-assistant{padding-block:4px}.robot-stage{width:58px}.robot-guide-label{display:none}.robot-guide p{min-height:0;margin:0;font-size:12px}.contact-page .standalone-contact-form :is(input,textarea,button){scroll-margin-top:175px}}
@media(prefers-reduced-motion:reduce){.robot-body,.contact-assistant[data-state="success"] .robot-hand-right,.contact-assistant[data-state="success"] .robot-stage,.contact-assistant[data-state="success"] .robot-guide{animation:none}.robot-head,.robot-eyes,.robot-hand-right{transition:none}}
