/* ============================================================
   Contact (/contact/) — page-UNIQUE CSS. Ported from prototype
   08-contact.html. FAQ reuses sections.css. Scoped .nct-main.
   ============================================================ */

/* Quick contact cards */
.nct-main .qcards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:-5rem;position:relative;z-index:6}
@media(max-width:980px){.nct-main .qcards{grid-template-columns:1fr 1fr;margin-top:1rem}}
@media(max-width:520px){.nct-main .qcards{grid-template-columns:1fr}}
.nct-main .qcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:1.6rem 1.4rem;text-align:center;box-shadow:0 14px 40px rgba(15,29,61,.1);transition:.3s;display:block}
.nct-main .qcard:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(15,29,61,.16);border-color:transparent}
.nct-main .qcard .qc-ic{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;margin:0 auto 1rem;transition:.3s}
.nct-main .qcard .qc-ic svg{width:27px;height:27px;stroke:#fff;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nct-main .qc-ic.blue{background:linear-gradient(135deg,var(--deep),var(--light))}
.nct-main .qc-ic.green{background:#25d366}
.nct-main .qc-ic.green svg{stroke:none;fill:#fff}
.nct-main .qc-ic.orange{background:var(--orange)}
.nct-main .qc-ic.ink{background:linear-gradient(135deg,var(--navy),#24407e)}
.nct-main .qcard h3{font-size:1.05rem;font-weight:600;margin-bottom:.3rem;color:var(--ink)}
.nct-main .qcard .qc-val{font-size:.95rem;color:var(--deep);font-weight:600;word-break:break-word}
.nct-main .qcard .qc-sub{font-size:.8rem;color:var(--muted);margin-top:.25rem}

/* Form + info grid */
.nct-main .contact-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,4vw,3.5rem);align-items:start}
@media(max-width:920px){.nct-main .contact-grid{grid-template-columns:1fr}}
.nct-main .form-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(1.6rem,3vw,2.6rem);box-shadow:0 18px 50px rgba(15,29,61,.08)}
.nct-main .form-card h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem;color:var(--ink)}
.nct-main .form-card>p{color:var(--muted);margin-bottom:1.8rem;line-height:1.6}
.nct-main .field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}
.nct-main .field label{font-size:.84rem;font-weight:600;color:var(--ink)}
.nct-main .field label .req{color:var(--no)}
.nct-main .field input,.nct-main .field select,.nct-main .field textarea{font-family:inherit;font-size:.96rem;color:var(--ink);background:var(--sky-2);border:1.5px solid transparent;border-radius:12px;padding:.85em 1em;transition:.2s;width:100%}
.nct-main .field input::placeholder,.nct-main .field textarea::placeholder{color:#9aa7c0}
.nct-main .field input:focus,.nct-main .field select:focus,.nct-main .field textarea:focus{outline:none;background:#fff;border-color:var(--deep);box-shadow:0 0 0 4px rgba(24,64,224,.1)}
.nct-main .field textarea{resize:vertical;min-height:130px}
.nct-main .frow{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-bottom:1.1rem}
@media(max-width:560px){.nct-main .frow{grid-template-columns:1fr}}
.nct-main .frow .field{margin-bottom:0}
.nct-main .form-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.4rem}
.nct-main .form-foot .ff-note{font-size:.82rem;color:var(--muted);display:flex;align-items:center;gap:.4rem}
.nct-main .form-foot .ff-note svg{width:15px;height:15px;stroke:var(--ok);fill:none;stroke-width:2}
.nct-main .form-ok{background:#e8f8f1;border:1px solid #b7ead0;color:#127a4a;border-radius:12px;padding:1em 1.2em;margin-bottom:1.2rem;font-weight:500}

/* Info sidebar */
.nct-main .info-stack{display:grid;gap:1.2rem}
.nct-main .info-card{background:linear-gradient(165deg,#fff,var(--sky-2));border:1px solid var(--line);border-radius:20px;padding:1.6rem}
.nct-main .info-card h3{font-size:1.1rem;font-weight:600;margin-bottom:1.1rem;display:flex;align-items:center;gap:.6rem;color:var(--ink)}
.nct-main .info-card h3 svg{width:20px;height:20px;stroke:var(--deep);fill:none;stroke-width:2}
.nct-main .info-list{display:grid;gap:1rem;list-style:none}
.nct-main .info-list li{display:flex;gap:.8rem;align-items:flex-start}
.nct-main .info-list .il-ic{width:38px;height:38px;border-radius:11px;background:var(--sky-2);display:grid;place-items:center;flex:0 0 auto}
.nct-main .info-list .il-ic svg{width:18px;height:18px;stroke:var(--deep);fill:none;stroke-width:2}
.nct-main .info-list .il-tx small{display:block;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:.1rem}
.nct-main .info-list .il-tx a,.nct-main .info-list .il-tx span{font-size:.96rem;font-weight:500;color:var(--ink)}
.nct-main .info-list .il-tx a:hover{color:var(--deep)}
.nct-main .hours{display:grid;gap:.6rem}
.nct-main .hours-row{display:flex;justify-content:space-between;font-size:.92rem;padding:.3rem 0}
.nct-main .hours-row span:first-child{color:var(--muted)}
.nct-main .hours-row span:last-child{font-weight:600}
.nct-main .hours-row.open span:last-child{color:var(--ok)}
.nct-main .info-licence{background:linear-gradient(135deg,var(--deep),var(--light));color:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 16px 40px rgba(24,64,224,.22)}
.nct-main .info-licence .il-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.85;font-weight:600;margin-bottom:.3rem}
.nct-main .info-licence b{font-size:1.15rem;font-weight:600;display:block;margin-bottom:.2rem}
.nct-main .info-licence p{font-size:.88rem;opacity:.9;margin-bottom:1rem;line-height:1.5}
.nct-main .info-licence .btn{width:100%;justify-content:center}

/* Map */
.nct-main .map-wrap{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 50px rgba(15,29,61,.1);height:420px;position:relative}
.nct-main .map-wrap iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.2)}
