/* ==========================================================================
   CONTACT PAGE
   Uses the same breadcrumb-style page banner as products.html / ami-101.html
   (.pd-breadcrumb, defined below) instead of the full hero carousel.
   ========================================================================== */

/* ---------- Breadcrumb / page banner ---------- */
.pd-breadcrumb{
  position:relative; overflow:hidden; background:#0c0c0e;
  padding:clamp(3.4rem,7vw,5.6rem) 0 clamp(2.6rem,5vw,3.6rem);
  text-align:center;
}
.pd-breadcrumb-media{ position:absolute; inset:0; z-index:0; }
.pd-breadcrumb-media img{
  width:100%; height:100%; object-fit:cover; object-position:center 35%;
  filter:grayscale(.75) contrast(1.1) brightness(.55);
}
.pd-breadcrumb::before{
  content:""; position:absolute; inset:0; z-index:1;
  background: radial-gradient(ellipse at 50% 35%, rgb(6 6 8 / 22%) 0%, rgb(6 6 8 / 48%) 100%);
}
.pd-breadcrumb-inner{ position:relative; z-index:3; }
.pd-breadcrumb-trail{
  display:flex; align-items:center; justify-content:center;
  font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.03em;
  color:#B8B2A5; margin-bottom:1.3rem;
}
.pd-breadcrumb-trail a{ color:#B8B2A5; transition:color .2s; }
.pd-breadcrumb-trail a:hover{ color:var(--ceramic); }
.pd-breadcrumb-trail i{ font-size:.6rem; margin:0 .5rem; vertical-align:1px; color:rgba(245,243,238,.3); }
.pd-breadcrumb-trail .is-current{ color:var(--ceramic); font-weight:600; }
.pd-breadcrumb-title{
  font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--ceramic);
  font-size:clamp(2rem,4.6vw,3.1rem); line-height:1; margin-bottom:.7rem;
}
.pd-breadcrumb-desc{
  color:#C9C3B6; font-size:.98rem; max-width:520px; margin:0 auto; line-height:1.6;
}

/* ---------- Quick contact cards ---------- */
.contact-quickgrid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.contact-qcard{
  background:#fff; border:1px solid var(--line); border-radius:6px;
  padding:1.7rem 1.5rem; display:flex; flex-direction:column; gap:.85rem;
  height:100%; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.contact-qcard:hover{ transform:translateY(-5px); box-shadow:0 20px 40px rgba(5,46,48,.14); border-color:transparent; }
.contact-qcard .cq-icon{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:1.25rem; color:#fff; flex:0 0 auto;
}
.contact-qcard:nth-child(1) .cq-icon{ background:var(--primary-deep); }
.contact-qcard:nth-child(2) .cq-icon{ background:var(--secondary); }
.contact-qcard:nth-child(3) .cq-icon{ background:var(--secondary-deep); }
.contact-qcard:nth-child(4) .cq-icon{ background:var(--primary-ink); }
.cq-label{ font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:#8a8478; }
.cq-value{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:1.05rem; color:var(--ink); line-height:1.35; }
a.cq-value{ transition:color .2s; }
.contact-qcard:hover a.cq-value{ color:var(--teal-dark); }

@media (max-width:991px){ .contact-quickgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:575px){ .contact-quickgrid{ grid-template-columns:1fr; } }

/* ---------- Split: form + office info panel ---------- */
.contact-split{
  display:grid; grid-template-columns:1.15fr .85fr; gap:0;
  border-radius:8px; overflow:hidden; box-shadow:0 30px 70px rgba(5,46,48,.14);
}
.contact-formwrap{ background:#fff; padding:clamp(2rem,4vw,3.2rem); }

.contact-infowrap{
  position:relative; background:var(--primary-ink); color:var(--ceramic);
  padding:clamp(2rem,4vw,3.2rem); display:flex; flex-direction:column; overflow:hidden;
}
.contact-infowrap::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:38px 38px;
}
.contact-infowrap > *{ position:relative; z-index:1; }
.contact-infowrap .eyebrow{ color:var(--primary); }
.contact-infowrap h3{ color:var(--ceramic); }
.contact-info-address{ font-size:1.02rem; line-height:1.65; color:#D8D3C8; margin:.6rem 0 1.5rem; max-width:340px; }

.contact-mapwrap{ border-radius:6px; overflow:hidden; border:1px solid rgba(245,243,238,.14); margin-bottom:1.6rem; }
.contact-mapwrap iframe{ width:100%; height:200px; display:block; filter:grayscale(.15) contrast(1.05); }

.contact-info-list{ list-style:none; margin:0 0 1.8rem; padding:0; display:flex; flex-direction:column; gap:.9rem; }
.contact-info-list a{ display:flex; align-items:flex-start; gap:.75rem; color:#D8D3C8; font-size:.93rem; transition:color .2s; }
.contact-info-list a:hover{ color:var(--primary); }
.contact-info-list i{ color:var(--primary); margin-top:.15rem; flex:0 0 auto; }

.contact-hours{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-size:.83rem; color:#B8B2A5; border-top:1px solid rgba(245,243,238,.14);
  padding-top:1.1rem; margin-top:auto;
}
.contact-hours b{ color:var(--ceramic); font-weight:600; }
.contact-social{ display:flex; gap:.6rem; margin-top:1.4rem; }
.contact-social a{
  width:36px; height:36px; border-radius:50%; border:1px solid rgba(245,243,238,.18);
  display:flex; align-items:center; justify-content:center; color:#a49f92; transition:.2s;
}
.contact-social a:hover{ border-color:var(--primary); color:var(--primary); transform:translateY(-2px); }

@media (max-width:991px){
  .contact-split{ grid-template-columns:1fr; }
}

/* ---------- Form fields ---------- */
.cform-row{ display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.cform-group{ margin-bottom:1.35rem; position:relative; }
.cform-group label{
  display:block; font-family:'IBM Plex Mono',monospace; font-size:.66rem; letter-spacing:.08em; text-transform:uppercase;
  color:#8a8478; margin-bottom:.5rem;
}
.cform-group .form-control, .cform-group .form-select{
  border:1px solid var(--line); border-radius:2px; padding:.75rem .9rem; font-size:.95rem;
  background:var(--ceramic); color:var(--ink); transition:.2s;
}
.cform-group .form-control:focus, .cform-group .form-select:focus{
  border-color:var(--teal); box-shadow:0 0 0 3px rgba(8,102,105,.12); background:#fff;
}
.cform-group textarea.form-control{ min-height:130px; resize:vertical; }

/* Custom "creative" dropdown icon for the select field, replacing the
   plain native arrow — a filled teal chevron badge that flips on focus. */
.cform-select-wrap{ position:relative; }
.cform-select-wrap .form-select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-image:none; padding-right:2.9rem; cursor:pointer;
}
.cform-select-wrap .form-select::-ms-expand{ display:none; }
.cform-select-icon{
  position:absolute; right:.55rem; top:50%; transform:translateY(-50%);
  width:26px; height:26px; border-radius:50%; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  background:var(--teal); color:var(--ceramic); font-size:.68rem;
  pointer-events:none; transition:transform .25s ease, background .25s ease;
}
.cform-select-wrap .form-select:focus ~ .cform-select-icon{
  background:var(--primary); color:var(--primary-ink);
  transform:translateY(-50%) rotate(180deg);
}
.cform-counter{ position:absolute; right:0; bottom:-1.1rem; font-size:.68rem; color:#a49f92; font-family:'IBM Plex Mono',monospace; }
.cform-note{ font-size:.82rem; color:#8a8478; margin-top:.6rem; }
.cform-status{
  display:none; margin-top:1.1rem; padding:.85rem 1rem; border-radius:4px;
  background:rgba(8,102,105,.08); color:var(--teal-dark); font-size:.86rem; line-height:1.5;
}
.cform-status.is-visible{ display:block; }
.was-validated .form-control:invalid, .was-validated .form-select:invalid{ border-color:var(--secondary-deep); }

@media (max-width:575px){ .cform-row{ grid-template-columns:1fr; } }

/* ---------- FAQ accordion ---------- */
.faq-accordion .accordion-item{ border:none; border-bottom:1px solid var(--line); background:transparent; }
.faq-accordion .accordion-item:first-child{ border-top:1px solid var(--line); }
.faq-accordion .accordion-button{
  font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:1.02rem; color:var(--ink);
  background:transparent; padding:1.3rem .1rem; box-shadow:none;
}
.faq-accordion .accordion-button:not(.collapsed){ color:var(--teal-dark); background:transparent; }
.faq-accordion .accordion-button:focus{ box-shadow:none; }
.faq-accordion .accordion-body{ padding:0 .1rem 1.5rem; color:#5c574e; font-size:.94rem; line-height:1.7; max-width:640px; }

/* ---------- Closing cross-link CTA ---------- */
.contact-endcta{
  border:1px solid var(--line); border-radius:6px; padding:2.2rem 2.4rem; background:#fff;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.4rem;
}
