/* Partprice.ai — contact page. Loads after base.css */

:root { --green: #15803d; }  /* dark-green for success text on this page */

/* PAGE */
    .contact { max-width:1080px; margin:0 auto; padding:128px 24px 90px; }
    .page-head { max-width:640px; margin-bottom:48px; }
    .eyebrow { display:inline-block; font-size:12.5px; font-weight:700; color:var(--blue); text-transform:uppercase; letter-spacing:.09em; margin-bottom:16px; }
    h1 { font-family:'DM Serif Display',serif; font-weight:400; font-size:clamp(34px,5vw,46px); line-height:1.12; color:var(--navy); letter-spacing:-.4px; margin-bottom:16px; }
    .page-sub { font-size:18px; color:var(--muted); line-height:1.6; }

    .contact-grid { display:grid; grid-template-columns:0.8fr 1.2fr; gap:52px; align-items:start; }

    /* LEFT: info */
    .info-block { margin-bottom:30px; }
    .info-label { font-size:12px; font-weight:700; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; margin-bottom:8px; }
    .info-value { font-size:16px; color:var(--navy); font-weight:600; }
    .info-value a { color:var(--blue); text-decoration:none; }
    .info-value a:hover { text-decoration:underline; }
    .info-note { font-size:14px; color:var(--muted); line-height:1.6; margin-top:4px; }
    .info-card { background:var(--bg); border:1px solid var(--border); border-radius:var(--radius-lg); padding:22px 22px; }
    .info-card .info-block:last-child { margin-bottom:0; }

    /* RIGHT: form */
    .form-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); box-shadow:var(--shadow); padding:32px; }

    .banner { padding:14px 16px; border-radius:10px; font-size:14px; margin-bottom:24px; display:none; line-height:1.5; }
    .banner.show { display:block; }
    .banner-ok { background:var(--green-lt); color:var(--green); border:1px solid #bbf7d0; }
    .banner-err { background:#fdecea; color:var(--red); border:1px solid #f3c0bb; }

    .field { margin-bottom:20px; }
    .field-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    label { display:block; font-size:13.5px; font-weight:600; color:var(--navy); margin-bottom:7px; }
    label .req { color:var(--blue); }
    input, select, textarea {
      width:100%; padding:12px 14px; font-size:15px; font-family:inherit; color:var(--text);
      border:1.5px solid var(--border); border-radius:10px; background:#fff;
      transition:border-color .2s, box-shadow .2s;
    }
    input::placeholder, textarea::placeholder { color:#a0aec0; }
    input:focus, select:focus, textarea:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(85,110,230,.12); }
    select { appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23718096' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; cursor:pointer; }
    textarea { min-height:148px; resize:vertical; line-height:1.6; }
    .hint { font-size:12.5px; color:var(--muted); margin-top:7px; }

    /* honeypot — hidden from humans, bots may fill it */
    .hp { position:absolute; left:-9999px; top:-9999px; width:1px; height:1px; overflow:hidden; }

    .submit-row { display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:4px; }
    button[type=submit] {
      padding:13px 32px; font-size:15px; font-weight:600; color:#fff; background:var(--blue);
      border:none; border-radius:10px; cursor:pointer; box-shadow:0 4px 18px rgba(85,110,230,.4);
      transition:background .2s, transform .15s;
    }
    button[type=submit]:hover { background:var(--blue-dk); transform:translateY(-2px); }
    button[type=submit]:active { transform:translateY(0); }
    .submit-note { font-size:13px; color:var(--muted); }

    @media (max-width:780px) {
      .contact-grid { grid-template-columns:1fr; gap:36px; }
      .field-row { grid-template-columns:1fr; gap:20px; }
      .form-card { padding:24px; }
    }
  
