/* =============================================
       CONTACT PAGE — STYLES (Figma node 80:1441)
    ============================================= */

    /* Hero */
    .ct-hero {
      position: relative;
      width: 100%;
      height: 480px;
      overflow: hidden;
      display: flex;
      align-items: flex-end;
      border-bottom: 1px solid #262b27;
    }

    .ct-hero__bg {
      position: absolute;
      inset: 0;
      background: url('../images/hero-mountains.png') center 25% / cover no-repeat;
      transform: scaleY(-1);
      opacity: 0.5;
    }

    .ct-hero__gradient {
      position: absolute;
      inset: 0;
      background: linear-gradient(98.2deg, #000 0.47%, rgba(0,0,0,0) 97.87%);
    }

    .ct-hero__content {
      position: relative;
      z-index: 1;
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      padding: 56px 64px;
    }

    .ct-hero__left { display: flex; flex-direction: column; gap: 16px; max-width: 576px; }

    .ct-breadcrumb {
      display: flex;
      gap: 8px;
      align-items: center;
    }
    .ct-breadcrumb a {
      font: 400 13px/1 'Barlow', sans-serif;
      color: #a3a8a2;
      text-decoration: none;
    }
    .ct-breadcrumb a:hover { color: #f4f3ee; }
    .ct-breadcrumb__sep { font: 400 13px/1 'Barlow', sans-serif; color: #a3a8a2; }
    .ct-breadcrumb__cur { font: 400 13px/1 'Barlow', sans-serif; color: #f4f3ee; }

    .ct-hero__title {
      font: 800 128px/0.92 'Barlow Condensed', sans-serif;
      letter-spacing: 0.64px;
      text-transform: uppercase;
      color: #f4f3ee;
      margin: 0;
    }
    .ct-hero__title span { display: block; color: #c6ff00; }

    .ct-hero__sub {
      font: 400 20px/1.5 'Barlow', sans-serif;
      color: #c9ccc6;
      margin: 0;
    }

    /* Response-time stat cards */
    .ct-hero__stats {
      display: flex;
      gap: 12px;
      flex-shrink: 0;
    }

    .ct-stat {
      padding: 24px 20px 20px;
      display: flex;
      flex-direction: column;
      gap: 6px;
      min-width: 216px;
    }
    .ct-stat--lime { background: #1a1e1b; border-top: 4px solid #c6ff00; }
    .ct-stat--cyan { background: #1a1e1b; border-top: 4px solid #29dce8; }
    .ct-stat--orange { background: #1a1e1b; border-top: 4px solid #ff713c; }

    .ct-stat__val {
      font: 800 36px/1 'Barlow Condensed', sans-serif;
      letter-spacing: 0.18px;
      text-transform: uppercase;
    }
    .ct-stat--lime .ct-stat__val { color: #c6ff00; }
    .ct-stat--cyan .ct-stat__val { color: #29dce8; }
    .ct-stat--orange .ct-stat__val { color: #ff713c; }

    .ct-stat__lbl { font: 400 13px/1.3 'Barlow', sans-serif; color: #a3a8a2; }

    /* Emergency note bar */
    .ct-emergency {
      background: #2a1a12;
      border-bottom: 1px solid #3a2418;
      display: flex;
      align-items: center;
      gap: 16px;
      padding: 0 64px;
      height: 72px;
    }

    .ct-emergency__icon { flex-shrink: 0; color: #ff713c; }
    .ct-emergency__text {
      font: 400 15px/1 'Barlow', sans-serif;
      color: #f4f3ee;
    }
    .ct-emergency__text strong { font-weight: 700; color: #ff713c; }

    /* Main two-column layout */
    .ct-main {
      background: #101310;
      padding: 50px 64px;
      display: flex;
      gap: 48px;
      align-items: flex-start;
    }

    /* Left: Contact form panel */
    .ct-form-panel {
      flex: 1;
      min-width: 0;
      background: #1a1e1b;
      padding: 32px;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .ct-panel-title {
      font: 800 40px/1 'Barlow Condensed', sans-serif;
      letter-spacing: 0.2px;
      text-transform: uppercase;
      color: #f4f3ee;
      margin: 0;
    }

    /* Topic selector */
    .ct-topics-label {
      font: 600 13px/1 'Barlow', sans-serif;
      color: #a3a8a2;
      margin: 0 0 10px;
    }

    .ct-topics {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
    }

    .ct-topic {
      background: #101310;
      border: 1px solid #2e332f;
      padding: 14px 16px;
      display: flex;
      flex-direction: column;
      gap: 3px;
      cursor: pointer;
      transition: border-color 0.2s, background 0.2s;
      text-align: left;
    }
    .ct-topic:hover { border-color: #4a504a; }
    .ct-topic.is-active { border-color: #c6ff00; background: #141c14; }

    .ct-topic__name { font: 700 14px/1 'Barlow', sans-serif; color: #f4f3ee; }
    .ct-topic__desc { font: 400 12px/1.3 'Barlow', sans-serif; color: #a3a8a2; }

    /* Form fields */
    .ct-divider { border: none; border-top: 1px solid #2e332f; margin: 0; }

    .ct-row { display: flex; gap: 12px; }
    .ct-field { display: flex; flex-direction: column; gap: 8px; flex: 1; }
    .ct-field--half { flex: 0 0 calc(50% - 6px); }

    .ct-label { font: 600 13px/1 'Barlow', sans-serif; color: #a3a8a2; }
    .ct-hint { font: 400 12px/1 'Barlow', sans-serif; color: #a3a8a2; margin-top: 4px; }

    .ct-input,
    .ct-select,
    .ct-textarea {
      background: #101310;
      border: 1px solid #2e332f;
      color: #f4f3ee;
      font: 400 16px/1 'Barlow', sans-serif;
      padding: 0 16px;
      height: 52px;
      width: 100%;
      outline: none;
      transition: border-color 0.2s;
    }
    .ct-input::placeholder { color: #757575; }
    .ct-input:focus, .ct-select:focus, .ct-textarea:focus { border-color: #c6ff00; }

    .ct-textarea {
      height: 126px;
      padding: 14px 16px;
      resize: vertical;
      line-height: 1.5;
    }
    .ct-textarea::placeholder { color: #757575; }

    /* File attach */
    .ct-attach {
      border: 1px dashed #2e332f;
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 17px 20px;
    }

    .ct-attach__label { font: 400 13px/1 'Barlow', sans-serif; color: #a3a8a2; }

    .ct-attach__browse {
      font: 700 13px/1 'Barlow', sans-serif;
      color: #c6ff00;
      cursor: pointer;
      background: none;
      border: none;
      padding: 0;
    }
    .ct-attach__browse:hover { text-decoration: underline; }

    /* Consent */
    .ct-consent-row {
      display: flex;
      gap: 12px;
      align-items: flex-start;
    }
    .ct-checkbox {
      width: 16px;
      height: 16px;
      border: 1px solid #5e5e5e;
      accent-color: #c6ff00;
      flex-shrink: 0;
      margin-top: 2px;
      cursor: pointer;
    }
    .ct-consent-label { font: 400 13px/1.55 'Barlow', sans-serif; color: #c9ccc6; max-width: 590px; }

    /* Submit */
    .ct-submit-row { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }

    .ct-btn-submit {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      background: #c6ff00;
      color: #101310;
      border: none;
      padding: 17px 32px;
      font: 700 14px/1 'Barlow', sans-serif;
      letter-spacing: 1.12px;
      text-transform: uppercase;
      cursor: pointer;
      transition: background 0.2s, transform 0.15s;
    }
    .ct-btn-submit:hover { background: #d4ff33; }
    .ct-btn-submit:active { transform: scale(0.98); }
    .ct-btn-submit svg { transition: transform 0.2s; }
    .ct-btn-submit:hover svg { transform: translateX(4px); }

    .ct-submit-note { font: 400 13px/1 'Barlow', sans-serif; color: #a3a8a2; }

    /* Right: Info panel */
    .ct-info-panel {
      width: 296px;
      flex-shrink: 0;
      display: flex;
      flex-direction: column;
      gap: 24px;
    }

    .ct-info-section { display: flex; flex-direction: column; gap: 14px; }

    .ct-info-label {
      font: 600 11px/1 'Barlow', sans-serif;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: #a3a8a2;
    }

    .ct-info-item { display: flex; gap: 14px; align-items: flex-start; }

    .ct-info-item__icon { color: #c6ff00; flex-shrink: 0; margin-top: 2px; }

    .ct-info-item__sub { font: 400 12px/1.3 'Barlow', sans-serif; color: #a3a8a2; margin-bottom: 3px; }
    .ct-info-item__val { font: 600 15px/1.3 'Barlow', sans-serif; color: #f4f3ee; }
    .ct-info-item__val a { color: #c6ff00; text-decoration: none; }
    .ct-info-item__val a:hover { text-decoration: underline; }

    .ct-info-divider { border: none; border-top: 1px solid #262b27; }

    /* Map placeholder */
    .ct-map {
      width: 100%;
      aspect-ratio: 16/10;
      background: #141a14;
      border: 1px solid #2e332f;
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
      overflow: hidden;
    }

    .ct-map__pin {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 6px;
    }

    .ct-map__pin-icon {
      background: #c6ff00;
      border-radius: 50% 50% 50% 0;
      transform: rotate(-45deg);
      width: 28px;
      height: 28px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .ct-map__pin-dot {
      width: 10px;
      height: 10px;
      background: #101310;
      border-radius: 50%;
      transform: rotate(45deg);
    }

    .ct-map__label {
      font: 600 12px/1 'Barlow', sans-serif;
      color: #c6ff00;
      text-align: center;
    }

    .ct-address {
      background: #1a1e1b;
      padding: 18px;
      display: flex;
      flex-direction: column;
      gap: 4px;
    }

    .ct-address__title {
      font: 700 12px/1 'Barlow', sans-serif;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #a3a8a2;
      margin-bottom: 6px;
    }

    .ct-address__line {
      font: 400 13px/1.5 'Barlow', sans-serif;
      color: #c9ccc6;
    }

    /* Bottom CTA section */
    .ct-cta-section {
      display: grid;
      grid-template-columns: 1fr 1fr;
      border-top: 1px solid #1e221e;
    }

    .ct-cta-lime {
      background: #1a2200;
      padding: 56px 64px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      border-right: 1px solid #2a3800;
    }

    .ct-cta-dark {
      background: #1a1e1b;
      padding: 56px 64px;
      display: flex;
      flex-direction: column;
      gap: 20px;
      position: relative;
      overflow: hidden;
    }

    .ct-cta-dark__bg {
      position: absolute;
      inset: 0;
      background: url('../images/hero-mountains.png') center / cover no-repeat;
      opacity: 0.1;
    }

    .ct-cta-dark__content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 20px; }

    .ct-cta__eyebrow {
      font: 600 11px/1 'Barlow', sans-serif;
      letter-spacing: 2px;
      text-transform: uppercase;
      margin: 0;
    }

    .ct-cta__title {
      font: 800 48px/1 'Barlow Condensed', sans-serif;
      letter-spacing: 0.24px;
      text-transform: uppercase;
      color: #f4f3ee;
      margin: 0;
    }

    .ct-cta__body { font: 400 15px/1.6 'Barlow', sans-serif; color: #a3a8a2; margin: 0; }

    .ct-cta__btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      border: 1px solid #c6ff00;
      color: #c6ff00;
      font: 700 14px/1 'Barlow', sans-serif;
      letter-spacing: 1.12px;
      text-transform: uppercase;
      padding: 13px 22px;
      text-decoration: none;
      transition: background 0.2s, color 0.2s;
      align-self: flex-start;
    }
    .ct-cta__btn:hover { background: #c6ff00; color: #101310; }

    .ct-cta__download-btn {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      border: 1px solid #2e332f;
      color: #f4f3ee;
      font: 700 14px/1 'Barlow', sans-serif;
      letter-spacing: 1.12px;
      text-transform: uppercase;
      padding: 13px 22px;
      text-decoration: none;
      transition: border-color 0.2s, background 0.2s;
      align-self: flex-start;
    }
    .ct-cta__download-btn:hover { border-color: #f4f3ee; background: rgba(255,255,255,0.04); }

    .ct-cta__press-email {
      font: 700 13px/1 'Barlow', sans-serif;
      letter-spacing: 0.5px;
      text-transform: uppercase;
      color: #ff713c;
      text-decoration: none;
    }
    .ct-cta__press-email:hover { text-decoration: underline; }

    /* Sent confirmation (toast-style) */
    .ct-sent-toast {
      position: fixed;
      bottom: 32px;
      left: 50%;
      transform: translateX(-50%) translateY(80px);
      background: #1a1e1b;
      border: 1px solid #2e332f;
      border-left: 4px solid #c6ff00;
      padding: 18px 24px;
      display: flex;
      align-items: center;
      gap: 14px;
      z-index: 9999;
      opacity: 0;
      pointer-events: none;
      transition: transform 0.4s cubic-bezier(0.16,1,0.3,1), opacity 0.3s;
      min-width: 340px;
      max-width: 480px;
    }
    .ct-sent-toast.is-visible {
      transform: translateX(-50%) translateY(0);
      opacity: 1;
      pointer-events: all;
    }
    .ct-sent-toast__icon { color: #c6ff00; flex-shrink: 0; }
    .ct-sent-toast__text { font: 400 14px/1.5 'Barlow', sans-serif; color: #f4f3ee; }
    .ct-sent-toast__text strong { font-weight: 700; }

    /* Responsive */
    @media (max-width: 1100px) {
      .ct-hero { height: auto; }
      .ct-hero__content { flex-direction: column; align-items: flex-start; gap: 32px; padding: 48px 40px; }
      .ct-hero__title { font-size: 88px; }
      .ct-main { flex-direction: column; padding: 40px; gap: 32px; }
      .ct-info-panel { width: 100%; }
      .ct-cta-section { grid-template-columns: 1fr; }
      .ct-cta-lime { border-right: none; border-bottom: 1px solid #2a3800; }
      .ct-topics { grid-template-columns: 1fr 1fr; }
      .ct-emergency { padding: 0 40px; }
    }
    @media (max-width: 768px) {
      .ct-hero__title { font-size: 60px; }
      .ct-hero__content, .ct-main { padding: 32px 24px; }
      .ct-form-panel { padding: 24px; }
      .ct-topics { grid-template-columns: 1fr 1fr; }
      .ct-row { flex-direction: column; }
      .ct-cta-lime, .ct-cta-dark { padding: 40px 24px; }
      .ct-cta__title { font-size: 36px; }
      .ct-emergency { padding: 0 24px; height: auto; padding-top: 16px; padding-bottom: 16px; flex-wrap: wrap; }
    }
    @media (max-width: 480px) {
      .ct-hero__title { font-size: 48px; }
      .ct-topics { grid-template-columns: 1fr; }
      .ct-hero__stats { flex-direction: column; }
    }