.contact-layout { padding-block: 100px; display: grid; grid-template-columns: 1fr .85fr; gap: 90px; align-items: start; }
.contact-intro { max-width: 760px; }
.contact-availability { margin-top: 40px; padding: 24px; border-left: 3px solid var(--accent); background: var(--soft); }
.contact-availability span { color: var(--accent); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; }
.contact-availability p { margin: 8px 0 0; }
.contact-card { padding: 38px; background: var(--white); border: 1px solid var(--line); box-shadow: var(--shadow); }
.contact-item { padding: 20px 0; border-bottom: 1px solid var(--line); }
.contact-item:first-child { padding-top: 0; }
.contact-item span { display: block; margin-bottom: 6px; color: var(--accent); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-item a { color: var(--ink); font-weight: 600; text-decoration: none; overflow-wrap: anywhere; }
.contact-item a:hover { color: var(--accent); }
.contact-item p { margin: 0; }
.contact-map-section { padding: 90px 0; background: var(--soft); }
.contact-map-section iframe { width: 100%; height: 520px; border: 0; box-shadow: var(--shadow); }
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:44px}.contact-card{padding:28px}.contact-map-section iframe{height:400px}}
