/* Page-specific styles (contact). Loaded last. */
/* ---------- contact layout ---------- */
.contact-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:56px;align-items:start}
/* ---------- contact info sidebar ---------- */
.info-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:28px;margin-bottom:20px}
.info-card h3{font-size:16px;margin-bottom:18px}
.info-row{display:flex;align-items:flex-start;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.info-row:last-child{border-bottom:none;padding-bottom:0}
.info-row:first-child{padding-top:0}
.info-row .ic{width:38px;height:38px;border-radius:9px;background:var(--brand-tint);display:grid;place-items:center;flex:none}
.info-row .ic svg{width:18px;height:18px;stroke:var(--brand-text);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.info-row .txt .k{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;color:var(--slate);text-transform:uppercase;margin-bottom:3px}
.info-row .txt .v{font-size:14.5px;font-weight:600;color:var(--ink)}
.info-row .txt .v a{color:var(--ink);border-bottom:1px solid transparent}
.info-row .txt .v a:hover{color:var(--brand-text);border-color:var(--brand)}
.info-row .txt .sub{font-size:12.5px;color:var(--slate);margin-top:2px}
.linkedin-card{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:22px 24px;transition:all .15s ease}
.linkedin-card:hover{border-color:var(--brand-line-strong);box-shadow:var(--shadow)}
.linkedin-card .ic{width:44px;height:44px;border-radius:10px;background:#0A66C2;display:grid;place-items:center;flex:none}
.linkedin-card .ic svg{width:22px;height:22px;stroke:#fff;fill:none;stroke-width:1.8}
.linkedin-card .t{font-family:var(--font-display);font-weight:600;font-size:14.5px;color:var(--ink)}
.linkedin-card .s{font-size:12.5px;color:var(--slate)}
.response-note{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--slate);margin-top:4px}
.response-note svg{width:16px;height:16px;stroke:var(--green);fill:none;stroke-width:2;flex:none}
@media (max-width:1020px){
  .contact-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:640px){
  .form-row{grid-template-columns:1fr}
}

/* ---------- two ways to get in touch (no form: both open the visitor's email app) ---------- */
.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.opt-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);padding:32px 30px 30px;display:flex;flex-direction:column;box-shadow:var(--shadow);transition:all .2s ease}
.opt-card:hover{border-color:var(--brand-line-strong);transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.opt-card .ic{width:52px;height:52px;border-radius:12px;background:var(--brand-tint);display:grid;place-items:center;margin-bottom:20px}
.opt-card .ic svg{width:26px;height:26px;stroke:var(--brand-text);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.opt-card h2{font-size:21px;margin-bottom:10px}
.opt-card p{font-size:14.5px;flex:1;margin-bottom:18px}
.opt-card .addr{font-family:var(--font-mono);font-size:13px;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin-bottom:16px;word-break:break-all}
.opt-card .go{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--brand-text)}
.opt-card .go svg{width:14px;height:14px;transition:transform .2s}
.opt-card:hover .go svg{transform:translateX(3px)}
.opt-note{grid-column:1 / -1;font-size:13.5px;color:var(--slate);line-height:1.6}
.opt-note a{color:var(--brand-text);text-decoration:underline;text-underline-offset:2px}
@media (max-width:780px){
  .contact-options{grid-template-columns:1fr}
}
