/* Contact page — token-driven, identical across themes (colors/fonts from critical.css). */

/* -- Page head -- */
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--accent)}
.pgh{padding:34px 0 4px}
.pgh-title{font-family:var(--font-head);font-weight:400;font-size:clamp(32px,6vw,52px);margin:12px 0 10px;text-wrap:balance}
.pgh-sub{color:var(--ink-2);max-width:62ch;font-size:15.5px;text-wrap:pretty}
.ct-h{font-family:var(--font-head);font-weight:400;font-size:22px;margin-bottom:16px}

/* -- Grid + cards -- */
.ct-grid{display:grid;gap:16px;align-items:start}
.ct-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 20px}
.ct-row{display:grid;gap:0 12px}
.ct-card textarea{width:100%;min-height:130px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);font:inherit;font-size:14px;resize:vertical}
.ct-card textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 12%,transparent)}

/* -- Info rows -- */
.ct-info{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line)}
.ct-info:last-of-type{border-bottom:none}
.ct-info svg{flex:none;color:var(--primary);margin-top:2px}
.ct-info b{display:block;font-size:14px}
.ct-info span{font-size:13px;color:var(--muted);line-height:1.5}
.ct-info a{color:var(--ink-2)}
.ct-info a:hover{color:var(--primary)}

/* -- Socials -- */
.ct-soc{display:flex;gap:10px;margin-top:14px}
.ct-soc a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--pill);color:var(--ink-2);transition:border-color .18s,color .18s}
.ct-soc a:hover{border-color:var(--primary);color:var(--primary)}

/* -- Map (embed + placeholder fallback) -- */
.ct-map-frame{margin-top:16px;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;height:340px;background:var(--surface-2)}
.ct-map-frame iframe{width:100%;height:100%;border:0;display:block}
.ct-map{margin-top:16px;min-height:300px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-2);background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:42px 42px}
.ct-pin{display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);text-align:center}
.ct-pin svg{color:var(--primary)}
.ct-pin b{font-family:var(--font-head);font-weight:400;font-size:17px}
.ct-pin span{font-size:13px;color:var(--ink-2)}

@media (min-width:768px){
	.ct-grid{grid-template-columns:1.15fr .85fr;gap:20px}
	.ct-row{grid-template-columns:1fr 1fr}
	.ct-card{padding:28px 26px}
}
