/* Contact Us v2 (contact-us.php). Tokens and type match the v2 pages + Insiders signup (css/insiders-signup.css). */
@font-face { font-family:'Averta CY Web'; src:url('../fonts/om/AvertaCY-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'Averta CY Web'; src:url('../fonts/om/AvertaCY-Semibold.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }

.ctv2 { --ink:#1D1D1B; --body:#4a505c; --muted:#5b6270; --line:#e3e7ef; --soft:#f7f9fc;
  --blue:#4DAAE8; --green:#98C355; --yellow:#F7CA50; --red:#DB4B46; --err:#C23A35; --ok:#4d7a1f;
  --font:'Averta CY Web','Averta CY',system-ui,-apple-system,'Segoe UI',sans-serif;
  position:relative; overflow:hidden; color:var(--ink); font-family:var(--font); -webkit-font-smoothing:antialiased;
  background:radial-gradient(700px 420px at 88% 18%,rgba(77,170,232,.12),transparent 70%),radial-gradient(520px 360px at 6% 92%,rgba(152,195,85,.10),transparent 70%),var(--soft);
  padding:clamp(28px,5vh,52px) 0 clamp(36px,6vh,60px); }
.ctv2 *, .ctv2 *::before, .ctv2 *::after { box-sizing:border-box; }
.ctv2 h1, .ctv2 h2, .ctv2 p, .ctv2 ul, .ctv2 label { margin:0; padding:0; font-family:var(--font); text-transform:none; letter-spacing:0; }
.ctv2 ul { list-style:none; }
.ctv2__wrap { max-width:1200px; margin:0 auto; padding:0 24px; display:grid; grid-template-columns:1fr minmax(0,560px); gap:56px; align-items:center; }

.ctv2-eyebrow { display:inline-flex; align-items:center; gap:5px; background:rgba(77,170,232,.12); color:#2479B3; border-radius:999px; padding:6px 14px 6px 12px; font-size:12.5px; font-weight:600; letter-spacing:.1em !important; text-transform:uppercase !important; }
.ctv2-eyebrow i { width:6px; height:6px; border-radius:50%; background:var(--blue); }
.ctv2-eyebrow i:nth-child(2) { background:var(--green); } .ctv2-eyebrow i:nth-child(3) { background:var(--yellow); } .ctv2-eyebrow i:nth-child(4) { background:var(--red); margin-right:6px; }
.ctv2 .ctv2__title { font-weight:600; font-size:clamp(34px,3.4vw,48px); line-height:1.1; letter-spacing:-.02em; margin:16px 0 14px; color:var(--ink); max-width:560px; }
.ctv2 .ctv2__title em { font-style:normal; color:var(--blue); }
.ctv2 .ctv2__lead { font-size:18px; line-height:1.55; color:var(--body); max-width:520px; margin-bottom:24px; }

.ctv2-tiles { display:grid; grid-template-columns:1fr 1fr; gap:12px; max-width:560px; }
.ctv2-tile { display:flex; gap:12px; align-items:center; padding:12px; border-radius:16px; font-size:15px; line-height:1.3; background:#fff; border:1px solid #edf0f5; box-shadow:0 10px 24px -20px rgba(29,29,27,.3); }
.ctv2-tile b { display:block; font-weight:600; color:var(--ink); }
.ctv2-tile small { display:block; font-size:13px; color:var(--muted); margin-top:2px; }
.ctv2-chip { flex:0 0 40px; width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:#fff; }
.ctv2-chip svg { width:20px; height:20px; display:block; }
.ctv2-chip--b { background:linear-gradient(145deg,#6cbcf0,#4DAAE8); box-shadow:0 8px 18px -8px #4DAAE8; }
.ctv2-chip--g { background:linear-gradient(145deg,#aed173,#98C355); box-shadow:0 8px 18px -8px #98C355; }
.ctv2-chip--y { background:linear-gradient(145deg,#ffd86f,#F7CA50); box-shadow:0 8px 18px -8px #F7CA50; color:#1D1D1B; }
.ctv2-chip--r { background:linear-gradient(145deg,#e86d68,#DB4B46); box-shadow:0 8px 18px -8px #DB4B46; }
.ctv2 .ctv2-alt { margin-top:22px; font-size:15px; color:var(--muted); }
.ctv2-alt a { color:var(--ink); font-weight:600; text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--blue); white-space:nowrap; }
.ctv2-alt a:hover { color:#2479B3; }

/* Card + form */
.ctv2-card { background:#fff; border-radius:24px; padding:26px 28px 20px; border:1px solid #edf0f5; box-shadow:0 24px 60px -34px rgba(29,29,27,.35); position:relative; }
.ctv2-card::before { content:""; position:absolute; left:28px; right:28px; top:0; height:3px; border-radius:0 0 3px 3px; background:linear-gradient(90deg,#4DAAE8 0 25%,#98C355 25% 50%,#F7CA50 50% 75%,#DB4B46 75%); }
.ctv2 .ctv2-card__title { font-size:22px; font-weight:600; color:var(--ink); line-height:1.25; }
.ctv2 .ctv2-card__sub { font-size:13px; color:var(--muted); margin:4px 0 14px; }
.ctv2-req { color:var(--red); font-weight:600; }
.ctv2 .wpcf7 form .row { display:grid; grid-template-columns:1fr 1fr; gap:12px 14px; margin:0 !important; }
.ctv2 .wpcf7 form .row > div { width:auto; max-width:none; padding:0; margin:0 !important; flex:none; }
.ctv2 .wpcf7 form .row > .col-md-12 { grid-column:1 / -1; }
.ctv2 .wpcf7 form .row > .col-md-12:nth-child(3), .ctv2 .wpcf7 form .row > .col-md-12:nth-child(4) { grid-column:auto; }
.ctv2 .contact-input { position:relative; display:flex; flex-direction:column; }
.ctv2 .ctv2-lab, .ctv2 .contact-custom-label { display:block; order:-1; font-size:13.5px !important; font-weight:600; color:var(--ink); margin:0 0 6px !important; line-height:1.3; }
.ctv2 .ctv2-lab small { font-weight:400; color:var(--muted); font-size:12.5px; }
.ctv2 .contact-select-wrapper, .ctv2 .contact-textarea-wrapper { position:relative; }
.ctv2 .ctv2-ic { position:absolute; left:14px; top:37px; width:20px; height:20px; color:#8a91a0; pointer-events:none; z-index:2; transition:color .2s; }
.ctv2 .contact-select-wrapper .ctv2-ic { top:14px; }
.ctv2 .contact-textarea-wrapper .ctv2-ic { top:14px; }
.ctv2 .ctv2-ic svg { display:block; }
.ctv2 .wpcf7-form-control-wrap { display:block; position:relative; }
.ctv2 .contact-field { width:100%; height:48px; margin:0; border:1.5px solid var(--line); border-radius:14px; background:#fff; padding:0 14px 0 44px !important; font:400 16px/1.3 var(--font); color:var(--ink); box-shadow:none; transition:border-color .2s, box-shadow .2s, background .2s; }
.ctv2 .contact-field::placeholder { color:#9aa1ae; opacity:1; }
.ctv2 .contact-field:hover { border-color:#c9d0dd; }
.ctv2 .contact-field:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 4px rgba(77,170,232,.18); }
.ctv2 .contact-input:focus-within .ctv2-ic { color:var(--blue); }
.ctv2 select.contact-field { appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:40px !important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D1B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/16px; }
.ctv2 select.contact-field:invalid, .ctv2 select.contact-field.ctv2-empty { color:#9aa1ae; }
.ctv2 select.contact-field option { color:var(--ink); }
.ctv2 textarea.contact-field { height:96px; min-height:96px; padding-top:12px !important; resize:vertical; line-height:1.45; }
/* error + success */
.ctv2 .contact-field.wpcf7-not-valid, .ctv2 .contact-field[aria-invalid=true] { border-color:var(--err); background:#fffafa; }
.ctv2 .contact-field.wpcf7-not-valid:focus, .ctv2 .contact-field[aria-invalid=true]:focus { box-shadow:0 0 0 4px rgba(219,75,70,.16); }
.ctv2 .contact-input:has([aria-invalid=true]) .ctv2-ic { color:var(--err); }
.ctv2 .contact-field.ctv2-ok { border-color:var(--green); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2398C355' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; background-size:16px; padding-right:38px !important; }
.ctv2 select.contact-field.ctv2-ok { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D1D1B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-size:16px; }
.ctv2 .contact-field:focus-visible { outline:none !important; }
.ctv2 .wpcf7-not-valid-tip, .ctv2 .opti-err { font-family:var(--font); display:flex; align-items:center; gap:5px; color:var(--err); font-size:12.5px; font-weight:600; margin-top:5px; line-height:1.3; }
.ctv2 .wpcf7-not-valid-tip::before, .ctv2 .opti-err::before { content:"!"; flex:0 0 15px; height:15px; border-radius:50%; background:var(--err); color:#fff; font-size:10.5px; display:grid; place-items:center; }
.ctv2 .wpcf7 .wpcf7-response-output { margin:14px 0 0 !important; padding:11px 14px !important; border-radius:12px; border:1.5px solid var(--line) !important; font-size:14px; line-height:1.4; color:var(--ink); }
.ctv2 .wpcf7 form.invalid .wpcf7-response-output, .ctv2 .wpcf7 form.unaccepted .wpcf7-response-output, .ctv2 .wpcf7 form.failed .wpcf7-response-output, .ctv2 .wpcf7 form.aborted .wpcf7-response-output, .ctv2 .wpcf7 form.spam .wpcf7-response-output { border-color:rgba(219,75,70,.45) !important; background:#fdf1f0; color:#8f2a26; }
.ctv2 .wpcf7 form.sent .wpcf7-response-output { border-color:rgba(152,195,85,.6) !important; background:#f2f8ea; color:#3f6418; }
/* primary button */
.ctv2 .contact-btn { width:100%; min-height:54px; margin-top:4px; display:flex; align-items:center; justify-content:center; gap:10px; border:0; border-radius:999px; background:#1D1D1B; color:#fff; font:600 16.5px/1.2 var(--font); cursor:pointer; box-shadow:0 10px 24px -12px rgba(29,29,27,.7); transition:transform .15s, box-shadow .2s, background .2s; position:relative; }
.ctv2 .contact-btn .ctv2-ic { position:static; color:#fff; width:20px; height:20px; transition:transform .2s; }
.ctv2 .contact-btn:hover { background:#000; transform:translateY(-1px); box-shadow:0 14px 28px -12px rgba(29,29,27,.75); }
.ctv2 .contact-btn:hover .ctv2-ic { transform:translateX(3px); }
.ctv2 .contact-btn:focus-visible { outline:3px solid var(--blue); outline-offset:3px; }
.ctv2 .wpcf7 form.submitting .contact-btn { opacity:.7; cursor:progress; }
.ctv2 .wpcf7-spinner { position:absolute; right:16px; margin:0; background:#fff; }
.ctv2 .ctv2-fine { display:flex; gap:7px; align-items:flex-start; justify-content:center; font-size:12.5px; color:#7a808c; margin-top:12px; line-height:1.45; text-align:center; }
.ctv2 .ctv2-fine svg { flex:0 0 15px; margin-top:1px; color:#98C355; }
.ctv2-fine a { color:inherit; text-decoration:underline; }

@media (max-width:991px) {
  .ctv2__wrap { grid-template-columns:1fr; gap:32px; max-width:640px; }
}
@media (max-width:600px) {
  .ctv2 { padding:24px 0 40px; }
  .ctv2__wrap { padding:0 16px; gap:26px; }
  .ctv2 .ctv2__title { font-size:32px; }
  .ctv2 .ctv2__lead { font-size:16.5px; margin-bottom:18px; }
  .ctv2-tiles { grid-template-columns:1fr 1fr; gap:8px; }
  .ctv2-tile { padding:10px; gap:10px; font-size:14px; align-items:flex-start; }
  .ctv2-tile small { font-size:12.5px; }
  .ctv2-chip { flex-basis:34px; width:34px; height:34px; border-radius:10px; }
  .ctv2-chip svg { width:18px; height:18px; }
  .ctv2-card { padding:22px 16px 16px; border-radius:20px; }
  .ctv2-card::before { left:16px; right:16px; }
  .ctv2 .wpcf7 form .row { grid-template-columns:1fr; }
  .ctv2 .wpcf7 form .row > div, .ctv2 .wpcf7 form .row > .col-md-12:nth-child(3), .ctv2 .wpcf7 form .row > .col-md-12:nth-child(4) { grid-column:1 / -1; }
}
.ctv2 .contact-custom-label::after { content:" *"; color:var(--red); font-weight:600; }
.ctv2 .opti-err + .wpcf7-not-valid-tip { display:none; }
