/* Existing page layout, scoped to the v2 preview. */
.landing .v2-page *{box-sizing: border-box;}
.landing .v2-page a{color: inherit; text-decoration: none;}
.landing .v2-page .wrap{width: min(1240px, calc(100% - 48px));
      margin: 0 auto;}
.landing .v2-page .contact-shell{padding: 64px 0 90px;}
.landing .v2-page .contact-grid{display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(360px, 520px);
      gap: 56px;
      align-items: start;}
.landing .v2-page .contact-eyebrow{margin: 0 0 14px;
      color: rgb(var(--hero-from));
      font-size: 12.5px;
      font-weight: 760;
      letter-spacing: 0.1em;
      text-transform: uppercase;}
html.dark .landing .v2-page .contact-eyebrow{color: rgb(147 197 253);}
.landing .v2-page .contact-copy h1{margin: 0;
      font-size: calc(clamp(30px, 3.4vw, 42px) + 1px);
      line-height: 1.12;
      font-weight: 700;
      letter-spacing: -0.01em;}
.landing .v2-page .contact-lead{margin: 18px 0 0;
      max-width: 560px;
      color: rgb(var(--muted));
      font-size: 17px;
      line-height: 1.65;}
.landing .v2-page .contact-paths{display: grid;
      margin-top: 42px;
      border-top: 1px solid rgb(var(--line));}
.landing .v2-page .contact-path{display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      gap: 14px;
      padding: 20px 0;
      border-bottom: 1px solid rgb(var(--line));}
.landing .v2-page .contact-path-index{color: rgb(var(--hero-from));
      font: 700 13px/1.5 var(--font-mono);}
html.dark .landing .v2-page .contact-path-index{color: rgb(147 197 253);}
.landing .v2-page .contact-path h2{margin: 0;
      font-size: 16px;
      line-height: 1.3;
      font-weight: 700;}
.landing .v2-page .contact-path p{margin: 6px 0 0;
      color: rgb(var(--muted));
      font-size: 14px;
      line-height: 1.58;}
.landing .v2-page .contact-note{margin: 22px 0 0;
      color: rgb(var(--soft));
      font-size: 14px;
      line-height: 1.6;}
.landing .v2-page .contact-note a{color: rgb(var(--accent)); font-weight: 600;}
.landing .v2-page .contact-panel{border: 1px solid rgb(var(--line));
      border-radius: 10px;
      background: rgb(var(--surface));
      overflow: hidden;}
.landing .v2-page .contact-panel-head{padding: 26px 30px 0;}
.landing .v2-page .contact-panel-head h2{margin: 0 0 6px;
      font-size: 21px;
      font-weight: 700;
      line-height: 1.25;}
.landing .v2-page .contact-panel-head p{margin: 0;
      color: rgb(var(--muted));
      font-size: 14.5px;
      line-height: 1.55;}
.landing .v2-page .contact-form{display: grid;
      gap: 16px;
      padding: 22px 30px 30px;}
.landing .v2-page .contact-form .row{display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;}
.landing .v2-page .contact-form label{display: grid;
      gap: 7px;
      color: rgb(var(--soft));
      font-size: 12px;
      font-weight: 760;
      letter-spacing: 0.055em;
      text-transform: uppercase;}
.landing .v2-page .contact-form label em{color: rgb(var(--muted));
      font-style: normal;
      font-weight: 500;
      letter-spacing: 0;
      text-transform: none;}
.landing .v2-page .contact-form input,
.landing .v2-page .contact-form select,
.landing .v2-page .contact-form textarea{width: 100%;
      border: 1px solid rgb(var(--line));
      border-radius: 7px;
      background: rgb(var(--bg));
      color: rgb(var(--text));
      font: 500 15px/1.45 var(--font-sans);
      outline: none;}
.landing .v2-page .contact-form input::placeholder,
.landing .v2-page .contact-form textarea::placeholder{color: rgb(var(--soft) / 0.7);
      font-size: 14px;}
.landing .v2-page .contact-form input,
.landing .v2-page .contact-form select{height: 44px;
      padding: 0 13px;}
.landing .v2-page .contact-form textarea{min-height: 146px;
      padding: 12px 13px;
      resize: vertical;}
.landing .v2-page .contact-form input:focus,
.landing .v2-page .contact-form select:focus,
.landing .v2-page .contact-form textarea:focus{border-color: rgb(var(--accent));
      box-shadow: 0 0 0 3px rgb(var(--accent) / 0.12);}
.landing .v2-page .contact-honeypot{position: absolute;
      left: -9999px;
      width: 1px;
      height: 1px;
      overflow: hidden;}
.landing .v2-page .contact-privacy{margin: 0;
      color: rgb(var(--soft));
      font-size: 13px;
      line-height: 1.55;}
.landing .v2-page .contact-privacy a{color: rgb(var(--accent));}
.landing .v2-page .contact-feedback-msg{display: none;
      padding: 10px 12px;
      border: 1px solid transparent;
      border-radius: 6px;
      font-size: 14px;}
.landing .v2-page .contact-feedback-msg.is-error{display: block;
      border-color: #fecaca;
      background: #fef2f2;
      color: #991b1b;}
html.dark .landing .v2-page .contact-feedback-msg.is-error{border-color: #f87171;
      background: rgb(127 29 29 / 0.24);
      color: #fecaca;}
.landing .v2-page .contact-submit{min-height: 46px;
      border: 1px solid rgb(var(--accent));
      border-radius: 7px;
      background: rgb(var(--accent));
      color: #ffffff;
      font-size: 15px;
      font-weight: 760;
      cursor: pointer;
      transition: background 160ms ease;}
.landing .v2-page .contact-submit:hover:not(:disabled){background: #1e40af;}
.landing .v2-page .contact-submit:disabled{cursor: wait; opacity: 0.64;}
.landing .v2-page .contact-success-dialog{width: min(500px, calc(100vw - 32px));
      max-height: calc(100vh - 32px);
      margin: auto;
      padding: 0;
      overflow: auto;
      border: 1px solid rgb(var(--line));
      border-radius: 12px;
      background: rgb(var(--surface));
      color: rgb(var(--text));
      box-shadow: 0 30px 90px rgba(2, 6, 23, 0.28);}
.landing .v2-page .contact-success-dialog::backdrop{background: rgba(2, 10, 24, 0.62);
      backdrop-filter: blur(5px);}
.landing .v2-page .contact-success-panel{position: relative;
      display: flex;
      min-height: 320px;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 58px 34px 50px;
      text-align: center;}
.landing .v2-page .contact-success-close{position: absolute;
      top: 14px;
      right: 16px;
      border: 0;
      background: transparent;
      color: rgb(var(--muted));
      font-size: 25px;
      line-height: 1;
      cursor: pointer;}
.landing .v2-page .contact-success-mark{display: grid;
      width: 58px;
      height: 58px;
      place-items: center;
      margin: 0 auto 20px;
      border-radius: 50%;
      background: rgb(var(--accent) / 0.08);
      color: rgb(var(--accent));
      font-size: 26px;
      font-weight: 800;}
html.dark .landing .v2-page .contact-success-mark{color: rgb(147 197 253);}
.landing .v2-page .contact-success-kicker{margin: 0 0 8px;
      color: rgb(var(--accent));
      font-size: 11.5px;
      font-weight: 800;
      letter-spacing: 0.13em;
      text-transform: uppercase;}
html.dark .landing .v2-page .contact-success-kicker{color: rgb(147 197 253);}
.landing .v2-page .contact-success-panel h2{margin: 0 0 8px; font-size: 23px; line-height: 1.2;}
.landing .v2-page .contact-success-panel p{margin: 0 0 22px;
      color: rgb(var(--muted));
      font-size: 15px;
      line-height: 1.6;}
.landing .v2-page .contact-success-link{color: rgb(var(--accent));
      font-size: 15px;
      font-weight: 650;}
@media (max-width: 980px) {
.landing .v2-page .contact-grid{grid-template-columns: 1fr; gap: 40px;}
}
@media (max-width: 640px) {
.landing .v2-page .contact-shell{padding: 44px 0 64px;}
.landing .v2-page .contact-form{padding: 20px 20px 24px;}
.landing .v2-page .contact-panel-head{padding: 22px 20px 0;}
.landing .v2-page .contact-form .row{grid-template-columns: 1fr;}
}
