/* The original particle bot reforms above a quiet final invitation. */
.future-home .terminal-contact{position:relative;display:flex;align-items:center;min-height:82svh;padding:130px 0 145px;overflow:hidden;background:radial-gradient(ellipse 42% 42% at 50% 51%,#12332632,transparent 75%);scroll-margin-top:72px}
.future-home .terminal-contact:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#060a0900,#060a0938 44%,#060a0900)}
.terminal-contact-inner{position:relative;z-index:1;text-align:center}
.terminal-bot{position:relative;width:min(25vw,260px);aspect-ratio:1;margin:0 auto 24px;pointer-events:none}
/* Same as every section label (.sec-label): mint number, muted name, hairline —
   mirrored on both sides because this one is centred. */
.terminal-kicker{display:flex;align-items:center;justify-content:center;gap:14px;color:#7fb3a0;font:10px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.15em;text-transform:uppercase;font-variant-numeric:tabular-nums}
.terminal-kicker .sec-num{color:var(--mint);font-size:11px}
.terminal-kicker:before,.terminal-kicker:after{content:'';height:1px;width:56px;background:linear-gradient(90deg,transparent,#64d7b166)}
.terminal-kicker:after{background:linear-gradient(90deg,#64d7b166,transparent)}
.future-home .terminal-contact h2{margin:52px auto 30px;color:#eff9f4;font:400 clamp(34px,5.3vw,88px)/1.12 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:-.055em;white-space:nowrap}
.terminal-contact h2 a{display:inline-flex;align-items:center;justify-content:center;gap:.17em;color:inherit;transition:color .25s ease}
.terminal-contact h2 a:hover{color:#baffdf}
.terminal-prompt{color:#71f6d1;margin-right:.1em}
.terminal-underscore{margin-left:-.13em}
.terminal-caret{display:inline-block;width:.46em;height:.89em;background:#71f6d1;box-shadow:0 0 28px #71f6d12a;animation:terminal-blink 1.4s steps(1,end) infinite}
@keyframes terminal-blink{0%,68%{opacity:1}69%,100%{opacity:.14}}
.terminal-contact p{max-width:440px;margin:0 auto;color:#a6bcb1;font-size:14px;line-height:1.75;text-wrap:balance}
.terminal-email{display:inline-block;margin-top:18px;color:#71f6d1;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em;border-bottom:1px solid #71f6d177;padding-bottom:4px}
.terminal-email:hover{color:#baffdf;border-color:#baffdf}
/* Styled as the page's other text links (.text-link / .cap-link). */
.terminal-form-link{display:flex;align-items:center;justify-content:center;gap:22px;width:max-content;max-width:100%;margin:34px auto 0;padding:14px 0 10px;color:var(--mint);font:11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid #71f6d145;transition:gap .25s,border-color .25s}
.terminal-form-link:hover{gap:30px;border-bottom-color:var(--mint)}
.terminal-form-link .line-icon{width:16px;height:16px;color:#71f6d1}
@media(max-width:960px){.future-home .terminal-contact{min-height:68svh;padding:100px 0}.future-home .terminal-contact h2{font-size:clamp(32px,6vw,60px);white-space:normal}}
@media(max-width:600px){.future-home .terminal-contact{min-height:64svh;padding:88px 0 100px}.terminal-bot{width:min(52vw,190px);margin-bottom:20px}.terminal-kicker{font-size:11px;gap:10px;letter-spacing:.1em}.future-home .terminal-contact h2{font-size:clamp(28px,8vw,43px);margin:40px auto 24px;letter-spacing:-.05em}.terminal-contact h2 a{display:block;white-space:normal}.terminal-prompt{margin-right:.25em}.terminal-contact p{font-size:15px;line-height:1.65}.terminal-form-link{font-size:11px}}
@media(prefers-reduced-motion:reduce){.terminal-caret{animation:none}}

/* The form lives on its own page. Same ink, plate and hairline as the rest
   of the site. contact-flow.js draws the window behind the plate. */
.contact-page-intro{position:relative;padding:148px 0 48px;border-bottom:1px solid var(--line);background:transparent}
.contact-page-intro h1{max-width:12em;margin:0 0 18px;color:#f2fbf7;font-size:clamp(40px,4.8vw,68px);font-weight:600;line-height:1.04;letter-spacing:-.05em}
.contact-page-intro p{max-width:38em;margin:0;color:#b7cfc7;font-size:16px;line-height:1.7}
.contact-page .home-contact{padding-top:72px;background:transparent}
.contact-page .home-contact:before{display:none}
.contact-page .contact-quick-actions a{
  border-radius:0;border-color:rgba(113,246,209,.28);background:#08110f;color:#e8fff7;
  font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase}
.contact-page .contact-quick-actions a:hover{
  --mag-lift:0px;border-color:rgba(113,246,209,.72);background:#0d1a17;
  transform:translate3d(var(--mag-x,0px),calc(var(--mag-y,0px) + var(--mag-lift,0px)),0)}
.contact-page .contact-form-shell{
  --tick:#71f6d1;
  padding:0;border:1px solid rgba(113,246,209,.28);border-radius:0;
  background-color:#08110f;
  background-image:
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick));
  background-repeat:no-repeat;
  background-size:14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px,14px 1px,1px 14px;
  background-position:left top,left top,right top,right top,left bottom,left bottom,right bottom,right bottom;
  box-shadow:none}
.contact-page .contact-form-shell:before,.contact-page .contact-form-shell:after{display:none}
.contact-frame{position:absolute;z-index:0;left:0;top:-36px;width:calc(100% + 28px);height:calc(100% + 48px);pointer-events:none}
.contact-page .contact-form-top,.contact-page .contact-form-card,.contact-page .contact-form-bottom{position:relative;z-index:1}
.contact-page .contact-form-top{margin:0;padding:16px 22px;border-bottom:1px solid rgba(214,234,227,.12)}
.contact-page .contact-form-bottom{margin:0;padding:14px 22px 16px;border-top:1px solid rgba(214,234,227,.12)}
.contact-page .contact-form-card{border:0;border-radius:0;background:transparent;box-shadow:none;padding:22px 28px 18px}
.contact-page .form-status-dot{box-shadow:none}
.contact-page .lead-field input,.contact-page .lead-field textarea{
  border-radius:0;border-color:rgba(214,234,227,.18);background:transparent;box-shadow:none}
.contact-page .lead-field input:focus,.contact-page .lead-field textarea:focus{
  border-color:var(--mint);background:transparent;box-shadow:none}
.contact-page .lead-submit{
  --tick:#71f6d1;
  border-radius:0;border:1px solid rgba(113,246,209,.32);background-color:#08110f;
  background-image:
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick));
  background-repeat:no-repeat;
  background-size:8px 1px,1px 8px,8px 1px,1px 8px,8px 1px,1px 8px,8px 1px,1px 8px;
  background-position:left top,left top,right top,right top,left bottom,left bottom,right bottom,right bottom;
  box-shadow:inset 0 0 0 1px rgba(113,246,209,.05);
  color:#e8fff7;font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.16em;text-transform:uppercase}
.contact-page .lead-submit:hover{
  --mag-lift:0px;border-color:rgba(113,246,209,.72);background-color:#0d1a17;
  background-image:
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick)),
    linear-gradient(var(--tick),var(--tick)),linear-gradient(var(--tick),var(--tick));
  color:#fff;box-shadow:inset 0 0 0 1px rgba(113,246,209,.14);
  transform:translate3d(var(--mag-x,0px),calc(var(--mag-y,0px) + var(--mag-lift,0px)),0)}
.contact-page .lead-submit .line-icon{width:14px;height:14px}
@media(max-width:960px){
  .contact-page-intro{padding:128px 0 40px}
  .contact-page .home-contact{padding-top:56px}
  .contact-frame{top:-24px;width:calc(100% + 16px);height:calc(100% + 32px)}
}
@media(max-width:600px){
  .contact-page-intro{padding:112px 0 32px}
  .contact-page-intro h1{font-size:clamp(36px,10vw,48px)}
  .contact-page-intro p{font-size:15px}
  .contact-page .home-contact{padding-top:40px}
  .contact-page .contact-form-card{padding:18px 16px 14px}
  .contact-page .contact-form-top,.contact-page .contact-form-bottom{padding-left:16px;padding-right:16px}
  .contact-frame{top:-18px;width:calc(100% + 12px);height:calc(100% + 24px)}
}
