/* Rivmedia – Contact Us (contact-us) */
.hero .glow-a { width: 540px; height: 540px; right: -140px; top: -160px;
  background: radial-gradient(circle, color-mix(in srgb, var(--cyan) 30%, transparent), transparent 70%); }
.hero > .wrap { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: calc(2 * var(--leading)) clamp(32px, 5vw, 80px); align-items: start; }
.cways { display: grid; gap: var(--half); margin-top: calc(1.5 * var(--leading)); }
.cw { display: grid; grid-template-columns: 46px 1fr; gap: 14px; align-items: center; padding: 16px 18px;
  background: var(--glass); border: 1px solid var(--glass-border); border-radius: var(--r-md); backdrop-filter: blur(8px); }
.cw .ic { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; color: #fff;
  font-family: var(--font-heading); font-weight: 800; font-size: 16px; background: linear-gradient(135deg, var(--blue-bright), var(--magenta)); }
.cw .l { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: color-mix(in srgb, var(--paper) 60%, transparent); }
.cw a { display: block; font-family: var(--font-heading); font-weight: 800; font-size: 18px; color: var(--paper); text-decoration: none; overflow-wrap: anywhere; }
.cw a:hover { color: var(--cyan); }
.formcard { background: var(--paper); color: var(--ink); border-radius: var(--r-lg); box-shadow: var(--soft-md);
  padding: calc(1.5 * var(--leading)); display: grid; gap: 14px; }
.formcard h2 { font-family: var(--font-heading); font-weight: 800; font-size: 20px; margin: 0; color: var(--navy); }
.fl { display: grid; gap: 6px; }
.fl label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--ink) 60%, transparent); }
.fl input, .fl select, .fl textarea { border: 1px solid var(--hairline); border-radius: 12px; padding: 12px 14px;
  font-size: 15px; font-family: inherit; color: var(--ink); background: var(--paper); width: 100%; box-sizing: border-box; }
.fl input:focus, .fl select:focus, .fl textarea:focus { outline: 2px solid var(--blue-bright); outline-offset: 1px; border-color: transparent; }
.frow { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 640px) { .frow { grid-template-columns: 1fr; } }
@media (max-width: 900px) { .hero > .wrap { grid-template-columns: 1fr; } }
/* next steps */
.nexts { padding: calc(4 * var(--leading)) 0; }
.nexts .head { margin-bottom: calc(2 * var(--leading)); }
.nxgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--leading); }
.nx { background: var(--tint); border-radius: var(--r-lg); padding: calc(1.25 * var(--leading)) var(--leading); display: grid; gap: 8px; align-content: start; }
.nx .n { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; color: #fff;
  font-family: var(--font-heading); font-weight: 800; font-size: 14px; background: var(--magenta); }
.nx:nth-child(2) .n { background: var(--blue-bright); }
.nx:nth-child(3) .n { background: var(--navy); }
.nx h3 { font-family: var(--font-heading); font-weight: 800; font-size: 17px; margin: 0; color: var(--navy); }
.nx p { font-size: 14.5px; line-height: 21px; margin: 0; color: color-mix(in srgb, var(--ink) 72%, transparent); }
@media (max-width: 900px) { .nxgrid { grid-template-columns: 1fr; } }
/* info strip */
.infostrip { background: var(--tint); }
.infostrip .wrap { display: grid; grid-template-columns: repeat(4, auto); justify-content: space-between; gap: var(--leading);
  padding-top: calc(1.5 * var(--leading)); padding-bottom: calc(1.5 * var(--leading)); }
.is b { display: block; font-family: var(--font-heading); font-weight: 800; font-size: 15px; color: var(--navy); }
.is span { font-size: 13px; color: color-mix(in srgb, var(--ink) 62%, transparent); }
@media (max-width: 800px) { .infostrip .wrap { grid-template-columns: repeat(2, auto); justify-content: start; } }

/* — Gravity Forms inside the contact card — */
.riv-gf .gform_wrapper.gravity-theme .gform_fields { grid-row-gap: 14px; grid-column-gap: 14px; }
.riv-gf .gform_wrapper .gfield_label, .riv-gf .gform_wrapper.gravity-theme .gfield_label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: color-mix(in srgb, var(--ink) 62%, transparent); margin-bottom: 6px; }
.riv-gf .gform_wrapper .gfield_required { color: var(--magenta); }
.riv-gf .gform_wrapper.gravity-theme input:not([type=submit]):not([type=checkbox]):not([type=radio]), .riv-gf .gform_wrapper.gravity-theme select, .riv-gf .gform_wrapper.gravity-theme textarea,
.riv-gf .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]), .riv-gf .gform_wrapper select, .riv-gf .gform_wrapper textarea {
  width: 100%; border: 1px solid var(--hairline); border-radius: 12px; padding: 12px 14px; font: inherit; font-size: 15px; color: var(--ink); background: var(--paper); box-shadow: none; }
.riv-gf .gform_wrapper textarea { min-height: 130px; resize: vertical; }
.riv-gf .gform_wrapper input:focus, .riv-gf .gform_wrapper select:focus, .riv-gf .gform_wrapper textarea:focus { outline: 2px solid var(--blue-bright); outline-offset: 1px; border-color: transparent; }
.riv-gf .gform_wrapper .gfield_description, .riv-gf .gform_wrapper .gform_footer .gform_ajax_spinner + span { font-size: 13px; color: color-mix(in srgb, var(--ink) 60%, transparent); }
.riv-gf .gform_wrapper .gform_footer { margin-top: 18px; padding: 0; }
.riv-gf .gform_wrapper .gform_button, .riv-gf .gform_wrapper.gravity-theme .gform_footer input[type=submit], .riv-gf .gform_wrapper .gform_footer button {
  width: 100%; border: 0; border-radius: 999px; padding: 14px 24px; font: inherit; font-weight: 800; font-size: 15px; color: var(--paper); background: var(--magenta); cursor: pointer; transition: background .18s ease, box-shadow .18s ease, transform .18s ease; }
.riv-gf .gform_wrapper .gform_button:hover, .riv-gf .gform_wrapper .gform_footer input[type=submit]:hover { background: var(--magenta-deep); box-shadow: 0 8px 28px rgba(230,0,126,.35); }
.riv-gf .gform_wrapper .gform_button:active { transform: scale(.98); }
.riv-gf .gform_wrapper .gfield_error input, .riv-gf .gform_wrapper .gfield_error textarea, .riv-gf .gform_wrapper .gfield_error select { border-color: var(--magenta); }
.riv-gf .gform_wrapper .gfield_validation_message, .riv-gf .gform_wrapper .validation_message, .riv-gf .gform_wrapper .gform_validation_errors { background: rgba(230,0,126,.06); border: 1px solid rgba(230,0,126,.35); border-radius: 12px; color: var(--magenta-deep); padding: 8px 12px; font-size: 13px; }
.riv-gf .gform_wrapper .gform_validation_errors h2 { font-size: 15px; color: var(--magenta-deep); margin: 0; }
.riv-gf .gform_confirmation_message { padding: 14px 16px; border-radius: 12px; background: rgba(18,153,107,.1); color: #0b6b4a; font-size: 15px; }
.riv-gf .gform_wrapper .ginput_container_consent label { font-size: 14px; text-transform: none; letter-spacing: 0; font-weight: 500; }
.riv-gf .gform_wrapper .gform_required_legend { display: none; }
.riv-gf .gform_wrapper.gravity-theme .gfield--width-half { grid-column: span 6; }
@media (max-width: 640px) { .riv-gf .gform_wrapper.gravity-theme .gfield--width-half { grid-column: 1 / -1; } }
