/* contact page styles (ported). */
.c-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 130% at 80% 25%, #7a41ad 0%, #5d2f88 38%, #3c1c5c 78%, #281340 100%)}
  .c-hero .wrap{position:relative;z-index:3;padding-block:60px 40px}
  .c-hero h1{font-size:clamp(2rem,4.4vw,3.05rem);font-weight:800;letter-spacing:-.015em;line-height:1.08;margin:16px 0 0;text-transform:uppercase}
  .c-hero .lead{color:rgba(255,255,255,.82);font-size:1.08rem;line-height:1.7;margin:18px 0 0;max-width:60ch}

  .c-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:start}

  /* routes */
  .routes{display:flex;flex-direction:column;gap:16px}
  .route{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px 22px;box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
  .route:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:var(--lilac)}
  .route .ic-wrap{flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:var(--lilac-soft);color:var(--purple);display:flex;align-items:center;justify-content:center}
  .route.wa .ic-wrap{background:#e8f8ee;color:#1c8a45}
  .route h3{font-size:1.06rem;margin:0 0 3px}
  .route p{font-size:.9rem;color:var(--ink);opacity:.78;line-height:1.5;margin:0 0 8px}
  .route a.val{font-weight:700;color:var(--purple);font-size:.98rem;word-break:break-word}
  .route.wa a.val{color:#1c8a45}

  .infobox{margin-top:26px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px}
  .infobox h4{font-size:.95rem;margin:0 0 12px;color:var(--purple);text-transform:uppercase;letter-spacing:.05em}
  .infobox .line{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px;font-size:.94rem;color:var(--ink);opacity:.86;line-height:1.5}
  .infobox .line:last-child{margin-bottom:0}
  .infobox .line .ic{flex:0 0 auto;color:var(--purple);margin-top:2px}

  /* form */
  .formcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow-lg)}
  .formcard h2{font-size:1.4rem;margin:0 0 6px}
  .formcard .fsub{font-size:.94rem;color:var(--muted);margin:0 0 22px;line-height:1.5}
  .field{margin-bottom:16px}
  .field label{display:block;font-size:.82rem;font-weight:600;color:var(--ink);margin-bottom:6px}
  .field label .req{color:var(--orange)}
  /* 16px is the floor — anything smaller makes iOS Safari zoom the page on focus */
  .field input,.field select,.field textarea{width:100%;font-family:inherit;font-size:16px;color:var(--ink);
    padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;
    -webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
  .field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%236C6178' stroke-width='1.8'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px rgba(93,47,136,.12)}
  .field textarea{resize:vertical;min-height:120px}
  .frow{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .form-note{font-size:.8rem;color:var(--muted);line-height:1.5;margin:14px 0 0}
  .form-note a{color:var(--purple);font-weight:600}
  .btn-submit{width:100%;justify-content:center;margin-top:6px;cursor:pointer;border:none;font-size:1rem}
  /* form temporarily disabled: fieldset[disabled] turns off every control inside.
     To re-enable, delete the two <fieldset ...> tags and the .form-off note below. */
  .formcard fieldset{border:0;margin:0;padding:0;min-width:0;display:block}
  .formcard fieldset[disabled]{opacity:.65}
  .formcard fieldset[disabled] input,
  .formcard fieldset[disabled] select,
  .formcard fieldset[disabled] textarea,
  .formcard fieldset[disabled] .btn-submit{cursor:not-allowed;background:var(--paper)}
  .form-off{margin:0 0 20px;padding:12px 16px;border-radius:10px;font-size:.9rem;line-height:1.5;
    color:var(--purple-ink);background:var(--lilac-soft);border:1px solid var(--lilac-line)}
  .form-off b{font-weight:600}
  .form-status{display:none;margin-top:14px;padding:12px 16px;border-radius:10px;font-size:.9rem}
  .form-status.ok{display:block;background:#e8f8ee;color:#1c6b39;border:1px solid #b9e3c8}
  .form-status.err{display:block;background:#fdecec;color:#9a2323;border:1px solid #f2c2c2}

  @media(max-width:960px){.c-grid{grid-template-columns:1fr;gap:32px}.frow{grid-template-columns:1fr}}
  @media(max-width:480px){
    .c-hero .wrap{padding-block:44px 30px}
    .c-grid{gap:26px}
    .formcard{padding:24px 18px;border-radius:16px}
    .formcard h2{font-size:1.25rem}
    .route{padding:18px 16px;gap:13px}
    .route .ic-wrap{width:40px;height:40px}
    .route h3{font-size:1rem}
    .infobox{padding:20px 18px}
    /* long addresses and emails must wrap rather than widen the page */
    .route a.val{font-size:.94rem;overflow-wrap:anywhere}
  }
