/* ===================================================================
   Frosten Energy Solutions — Contact Page Stylesheet
   Additive to catalogue.css: only new classes, reuses existing
   design tokens (--bg, --panel, --panel-2, --frost, --text, --muted).
   =================================================================== */

.contact-hero{padding:44px 0 8px}
.contact-hero h1{font-size:clamp(1.9rem,4vw,2.7rem)}
.contact-hero p{color:var(--muted);max-width:680px;font-size:1.02rem}
.contact-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}

.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:start;margin:36px 0}
@media (max-width:860px){.contact-layout{grid-template-columns:1fr}}

.contact-form-card{background:var(--panel-2);border:1px solid #ffffff12;border-radius:14px;padding:28px}
.contact-form-card h2{font-size:1.2rem;margin-bottom:6px}
.contact-form-card>p{color:var(--muted);font-size:.9rem;margin-bottom:20px}

.contact-info-stack{display:flex;flex-direction:column;gap:20px}
.contact-info-card{background:var(--panel-2);border:1px solid #ffffff12;border-radius:14px;padding:24px}
.contact-info-card h2{font-size:1.05rem;margin-bottom:14px}
.contact-info-card dl{margin:0;display:flex;flex-direction:column;gap:12px}
.contact-info-card dt{font-size:.72rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--frost);margin-bottom:2px}
.contact-info-card dd{margin:0;color:var(--text);font-size:.94rem;line-height:1.5}
.contact-info-card dd a{color:var(--text);transition:color .15s ease}
.contact-info-card dd a:hover{color:var(--frost)}

.map-frame{border-radius:14px;overflow:hidden;border:1px solid #ffffff12;aspect-ratio:4/3;background:var(--navy)}
.map-frame iframe{width:100%;height:100%;border:0;display:block}
.map-link{display:inline-block;margin-top:12px;font-size:.85rem;font-weight:600;color:var(--frost)}
.map-link:hover{text-decoration:underline}

.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:8px}
.step-card{background:var(--panel-2);border:1px solid #ffffff12;border-radius:14px;padding:22px}
.step-card .step-num{font-family:"Space Grotesk",sans-serif;font-weight:700;font-size:1.4rem;color:var(--frost);margin-bottom:10px}
.step-card h3{font-size:1rem;margin:0 0 6px}
.step-card p{color:var(--muted);font-size:.88rem;line-height:1.55;margin:0}

.gallery-cta-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;background:var(--panel-2);border:1px solid #ffffff12;border-radius:14px;padding:22px 26px;margin:36px 0}
.gallery-cta-strip p{margin:0;color:var(--muted);font-size:.94rem}
.gallery-cta-strip strong{display:block;color:var(--text);font-size:1.02rem;margin-bottom:4px}

.form-success{background:#55c9c214;border:1px solid #55c9c240;border-radius:12px;padding:20px;margin-bottom:20px}
.form-success h3{color:var(--frost);font-size:1rem;margin-bottom:6px}
.form-success p{color:var(--muted);font-size:.9rem;margin:0}
