/* ===== CONTACT PAGE ===== */
.contact-grid{display:flex;flex-direction:column;gap:clamp(36px,5vw,60px);}
@media (min-width:900px){.contact-grid{flex-direction:row;align-items:start;}}
.contact-form-wrap{flex:1.3;}
.contact-info{flex:1;}

.contact-form-wrap h2{font-family:var(--font-display);
  font-size:clamp(1.4rem,3vw,2rem);font-weight:800;color:var(--text-main);
  letter-spacing:-0.02em;margin-bottom:8px;}
.contact-form-wrap>p{font-size:clamp(0.85rem,2vw,0.9rem);color:var(--text-muted);
  margin-bottom:32px;line-height:1.7;}
.contact-form{display:flex;flex-direction:column;gap:clamp(14px,2.5vw,20px);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,2vw,16px);}
@media (max-width:540px){.form-row{grid-template-columns:1fr;}}

.form-group{display:flex;flex-direction:column;gap:6px;}
.form-group label{font-size:clamp(0.76rem,1.8vw,0.8rem);font-weight:600;
  color:var(--text-body);letter-spacing:0.02em;}
.form-group input,.form-group select,.form-group textarea{
  background:var(--off-white);border:1.5px solid var(--border);border-radius:var(--radius-sm);
  padding:clamp(11px,1.8vw,13px) clamp(12px,2vw,16px);color:var(--text-main);
  font-size:clamp(0.85rem,2vw,0.9rem);transition:border-color var(--t),box-shadow var(--t);
  outline:none;width:100%;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  border-color:var(--accent);box-shadow:0 0 0 3px rgba(232,92,44,0.08);background:var(--white);}
.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-dim);}
.form-group select{appearance:none;cursor:pointer;}
.form-group select option{background:var(--white);}
.form-group textarea{resize:vertical;min-height:clamp(100px,15vw,130px);}
.form-error{font-size:0.76rem;color:#dc2626;min-height:16px;}
.form-group input.error,.form-group textarea.error{border-color:#dc2626;}
.form-success{background:rgba(22,163,74,0.08);border:1px solid rgba(22,163,74,0.25);
  border-radius:var(--radius-sm);padding:14px 18px;color:#16a34a;
  font-size:clamp(0.84rem,2vw,0.9rem);font-weight:500;
  display:flex;align-items:center;gap:10px;}

.contact-info-inner{background:var(--off-white);border:1px solid var(--border);
  border-radius:var(--radius-xl);padding:clamp(24px,4vw,48px) clamp(20px,3.5vw,40px);}
@media (min-width:900px){.contact-info-inner{position:sticky;top:clamp(80px,10vw,100px);}}
.contact-info-inner h3{font-family:var(--font-display);
  font-size:clamp(1.1rem,2.5vw,1.3rem);font-weight:800;color:var(--text-main);
  letter-spacing:-0.02em;margin-bottom:10px;}
.contact-info-inner>p{font-size:clamp(0.82rem,1.8vw,0.875rem);color:var(--text-muted);
  line-height:1.75;margin-bottom:28px;}
.contact-items{display:flex;flex-direction:column;gap:clamp(8px,1.5vw,12px);margin-bottom:32px;}
.contact-item{display:flex;align-items:flex-start;gap:12px;
  padding:clamp(12px,2vw,16px);background:var(--white);
  border:1px solid var(--border);border-radius:var(--radius-md);transition:var(--t);}
.contact-item:hover{border-color:rgba(232,92,44,0.2);box-shadow:var(--shadow-xs);}
.contact-icon{font-size:clamp(1rem,2.5vw,1.2rem);flex-shrink:0;margin-top:2px;}
.contact-item strong{display:block;font-size:clamp(0.68rem,1.5vw,0.72rem);
  font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:4px;}
.contact-item a,.contact-item span{font-size:clamp(0.82rem,1.8vw,0.875rem);
  color:var(--text-body);transition:color var(--t);}
.contact-item a:hover{color:var(--accent);}

.contact-social h4{font-size:0.72rem;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--text-dim);margin-bottom:12px;}
.social-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px;}
.social-pill{padding:7px 16px;border:1.5px solid var(--border);border-radius:var(--radius-full);
  font-size:clamp(0.74rem,1.8vw,0.78rem);font-weight:600;color:var(--text-muted);
  transition:var(--t);-webkit-tap-highlight-color:transparent;}
.social-pill:hover{border-color:var(--accent);color:var(--accent);}
.quick-cta p{font-size:clamp(0.78rem,1.8vw,0.82rem);color:var(--text-dim);margin-bottom:10px;}

/* FAQ */
.faq-section{background:var(--off-white);border-top:1px solid var(--border);}
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:8px;}
.faq-item{background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius-md);overflow:hidden;transition:border-color var(--t);}
.faq-item.open{border-color:rgba(232,92,44,0.3);}
.faq-question{width:100%;padding:clamp(16px,2.5vw,22px) clamp(18px,3vw,28px);
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  text-align:left;font-family:var(--font-display);
  font-size:clamp(0.875rem,2vw,0.95rem);font-weight:600;color:var(--text-main);
  background:transparent;border:none;transition:color var(--t);cursor:pointer;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;}
.faq-question:hover{color:var(--accent);}
.faq-icon{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--border-dark);
  display:flex;align-items:center;justify-content:center;font-size:1rem;
  color:var(--text-muted);flex-shrink:0;transition:var(--t);line-height:1;}
.faq-item.open .faq-icon{background:var(--accent);border-color:var(--accent);
  color:var(--white);transform:rotate(45deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease-out);}
.faq-item.open .faq-answer{max-height:300px;}
.faq-answer p{padding:0 clamp(18px,3vw,28px) clamp(16px,2.5vw,24px);
  font-size:clamp(0.85rem,1.8vw,0.9rem);color:var(--text-muted);line-height:1.8;}
