.page-contact{
  background:var(--c-space);
  color:var(--c-white);
  overflow-x:hidden;
}

.page-contact .contact-hero{
  position:relative;
  padding:40px 0 80px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(11,27,61,.9) 0%, rgba(20,66,76,.65) 100%),
    var(--c-space);
}

.page-contact .contact-hero-bg{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.22;
  pointer-events:none;
}

.page-contact .contact-hero-inner{
  position:relative;
  z-index:1;
}

.page-contact .breadcrumb{
  margin-bottom:36px;
}

.page-contact .breadcrumb-list{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  list-style:none;
  padding:0;
  margin:0;
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.04em;
}

.page-contact .breadcrumb-item{
  color:var(--c-silver);
}

.page-contact .breadcrumb-item + .breadcrumb-item::before{
  content:"/";
  margin-right:10px;
  color:rgba(192,192,200,.4);
}

.page-contact .breadcrumb-item a{
  color:var(--c-silver);
  text-decoration:none;
  transition:color var(--ease);
}

.page-contact .breadcrumb-item a:hover{
  color:var(--c-lime);
}

.page-contact .breadcrumb-item[aria-current="page"]{
  color:var(--c-lime);
}

.page-contact .contact-hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:7px 14px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(0,255,135,.32);
  background:rgba(0,255,135,.08);
  font-family:var(--font-mono);
  font-size:13px;
  letter-spacing:.14em;
  color:var(--c-lime);
}

.page-contact .contact-hero h1{
  margin:20px 0 14px;
  font-family:var(--font-heading);
  font-weight:900;
  font-size:clamp(48px, 8vw, 72px);
  line-height:1.05;
  letter-spacing:-.02em;
  color:var(--c-white);
}

.page-contact .contact-hero-lead{
  max-width:560px;
  margin:0;
  font-size:clamp(16px, 2vw, 18px);
  line-height:1.75;
  color:rgba(242,244,248,.8);
}

.page-contact .contact-hero-status{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:24px;
  padding:10px 16px;
  border-radius:var(--radius-pill);
  border:1px solid rgba(192,192,200,.22);
  background:rgba(11,27,61,.5);
  font-family:var(--font-mono);
  font-size:13px;
  color:var(--c-silver);
}

.page-contact .contact-hero-status .status-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--c-lime);
  box-shadow:0 0 12px var(--c-lime);
}

.page-contact .contact-accent-line{
  height:6px;
  background:linear-gradient(90deg, var(--c-lime) 0%, var(--c-orange) 45%, var(--c-wine) 100%);
}

.page-contact .contact-main{
  padding:64px 0 80px;
}

.page-contact .contact-grid{
  display:grid;
  gap:48px;
}

.page-contact .contact-info-col{
  display:grid;
  gap:24px;
}

.page-contact .section-head--compact{
  margin-bottom:6px;
}

.page-contact .contact-card{
  position:relative;
  overflow:hidden;
  padding:28px 26px;
  border-radius:var(--radius-card);
  border:1px solid rgba(192,192,200,.18);
  background:linear-gradient(145deg, rgba(20,66,76,.92) 0%, rgba(11,27,61,.96) 100%);
  box-shadow:0 18px 36px rgba(0,0,0,.24);
  transition:transform var(--ease), border-color var(--ease), box-shadow var(--ease);
}

.page-contact .contact-card::after{
  content:"";
  position:absolute;
  top:-20px;
  right:-20px;
  width:130px;
  height:130px;
  background:radial-gradient(circle, rgba(0,255,135,.16), transparent 70%);
  pointer-events:none;
}

.page-contact .contact-card:hover{
  transform:translateY(-4px);
  border-color:rgba(0,255,135,.5);
  box-shadow:0 24px 48px rgba(0,0,0,.32), 0 0 0 1px rgba(0,255,135,.08);
}

.page-contact .contact-card--phone::after{
  background:radial-gradient(circle, rgba(255,122,0,.2), transparent 70%);
}

.page-contact .contact-card--email::after{
  background:radial-gradient(circle, rgba(0,255,135,.18), transparent 70%);
}

.page-contact .contact-card--address::after{
  background:radial-gradient(circle, rgba(59,42,109,.55), transparent 70%);
}

.page-contact .contact-card-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-bottom:18px;
  border-radius:16px;
  background:rgba(255,255,255,.06);
  color:var(--c-lime);
}

.page-contact .contact-card--phone .contact-card-icon{
  color:var(--c-orange);
  background:rgba(255,122,0,.12);
}

.page-contact .contact-card--address .contact-card-icon{
  color:var(--c-white);
  background:rgba(59,42,109,.5);
}

.page-contact .contact-card-icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.page-contact .contact-card-label{
  margin:0 0 6px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-silver);
}

.page-contact .contact-card-value{
  margin:0 0 10px;
  font-family:var(--font-heading);
  font-weight:800;
  line-height:1.35;
  color:var(--c-white);
  word-break:break-word;
}

.page-contact .contact-card--phone .contact-card-value{
  font-family:var(--font-mono);
  font-size:clamp(24px, 3vw, 30px);
  letter-spacing:.02em;
  color:var(--c-lime);
}

.page-contact .contact-card-value--email{
  font-family:var(--font-mono);
  font-size:clamp(17px, 2vw, 20px);
}

.page-contact .contact-card--address .contact-card-value{
  font-size:clamp(17px, 2vw, 20px);
}

.page-contact .contact-card-note{
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:rgba(192,192,200,.82);
}

.page-contact .contact-card-link{
  display:inline-block;
  margin-top:14px;
  font-size:14px;
  font-weight:600;
  color:var(--c-lime);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color var(--ease), border-color var(--ease);
}

.page-contact .contact-card-link::after{
  content:"→";
  margin-left:6px;
}

.page-contact .contact-card-link:hover{
  color:var(--c-white);
  border-color:var(--c-lime);
}

.page-contact .contact-map{
  margin-top:18px;
  border:1px solid rgba(192,192,200,.18);
  border-radius:16px;
  overflow:hidden;
}

.page-contact .contact-map img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/2;
  object-fit:cover;
  filter:saturate(.9) contrast(1.02);
}

.page-contact .contact-form-col{
  display:flex;
  flex-direction:column;
}

.page-contact .contact-form-card{
  flex:1;
  padding:32px 28px;
  border:2px solid var(--c-lime);
  border-radius:24px;
  background:linear-gradient(155deg, rgba(13,47,56,.96) 0%, rgba(16,37,77,.98) 100%);
  box-shadow:0 28px 60px rgba(0,0,0,.38), 0 0 0 1px rgba(0,255,135,.06);
}

.page-contact .contact-form-eyebrow{
  display:inline-block;
  margin-bottom:8px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.16em;
  color:var(--c-lime);
}

.page-contact .contact-form-head h2{
  margin:0 0 10px;
  font-family:var(--font-heading);
  font-weight:900;
  font-size:clamp(28px, 4vw, 40px);
  line-height:1.15;
  color:var(--c-white);
}

.page-contact .contact-form-head p{
  margin:0 0 28px;
  font-size:15px;
  line-height:1.7;
  color:rgba(242,244,248,.74);
}

.page-contact .contact-form{
  margin-top:28px;
}

.page-contact .contact-field{
  display:block;
  margin-bottom:20px;
}

.page-contact .contact-field-label{
  display:block;
  margin-bottom:8px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--c-silver);
}

.page-contact .contact-field input,
.page-contact .contact-field select,
.page-contact .contact-field textarea{
  box-sizing:border-box;
  width:100%;
  padding:13px 14px;
  border:1px solid rgba(192,192,200,.28);
  border-radius:14px;
  background:rgba(11,27,61,.55);
  color:var(--c-white);
  font-family:var(--font-body);
  font-size:15px;
  line-height:1.5;
  transition:border-color var(--ease), background-color var(--ease), box-shadow var(--ease);
}

.page-contact .contact-field input:focus,
.page-contact .contact-field select:focus,
.page-contact .contact-field textarea:focus{
  outline:none;
  border-color:var(--c-lime);
  background:rgba(11,27,61,.75);
  box-shadow:0 0 0 3px rgba(0,255,135,.14);
}

.page-contact .contact-field ::placeholder{
  color:rgba(192,192,200,.46);
}

.page-contact .contact-field select{
  appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23C0C0C8' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
}

.page-contact .contact-form-row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:14px;
  margin-top:26px;
}

.page-contact .contact-form-privacy{
  font-size:13px;
  color:rgba(192,192,200,.75);
}

.page-contact .contact-ack{
  display:none;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid rgba(0,255,135,.32);
  border-radius:14px;
  background:rgba(0,255,135,.1);
  font-size:14px;
  line-height:1.6;
  color:var(--c-lime);
}

.page-contact .contact-ack:target{
  display:flex;
  align-items:center;
  gap:10px;
  animation:pc-contact-ack-in .3s ease both;
}

.page-contact .contact-ack-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--c-lime);
  color:var(--c-space);
  font-weight:900;
  font-size:14px;
  flex-shrink:0;
}

@keyframes pc-contact-ack-in{
  from{opacity:0; transform:translateY(-4px);}
  to{opacity:1; transform:translateY(0);}
}

.page-contact .contact-service{
  padding:64px 24px 72px;
  border-radius:36px 36px 0 0;
  background:linear-gradient(rgba(242,244,248,.97), rgba(242,244,248,.97)), var(--c-paper);
}

.page-contact .contact-service .section-head--paper{
  color:var(--c-ink);
}

.page-contact .contact-service-grid{
  display:grid;
  gap:20px;
  margin-top:40px;
}

.page-contact .contact-service-card{
  padding:28px 24px;
  border:1px solid rgba(11,27,61,.08);
  border-radius:var(--radius-card);
  background:var(--c-white);
  box-shadow:0 12px 30px rgba(11,27,61,.08);
  transition:transform var(--ease), border-color var(--ease), box-shadow var(--ease);
}

.page-contact .contact-service-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,255,135,.5);
  box-shadow:0 18px 36px rgba(11,27,61,.12);
}

.page-contact .contact-service-label{
  display:block;
  margin-bottom:10px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--c-teal);
}

.page-contact .contact-service-value{
  display:block;
  margin-bottom:10px;
  font-family:var(--font-heading);
  font-weight:800;
  font-size:22px;
  color:var(--c-ink);
}

.page-contact .contact-service-note{
  margin:0;
  font-size:14px;
  line-height:1.7;
  color:rgba(26,26,26,.68);
}

.page-contact .contact-service-note a{
  color:var(--c-space);
  text-decoration:underline;
  text-decoration-color:var(--c-orange);
  text-underline-offset:3px;
  transition:color var(--ease);
}

.page-contact .contact-service-note a:hover{
  color:var(--c-wine);
}

.page-contact .contact-trust{
  margin-top:40px;
  padding:18px 22px;
  border-left:4px solid var(--c-orange);
  border-radius:0 16px 16px 0;
  background:rgba(255,122,0,.08);
}

.page-contact .contact-trust-line{
  margin:0;
  font-family:var(--font-mono);
  font-size:14px;
  line-height:1.7;
  color:rgba(26,26,26,.72);
}

@media (min-width: 760px){
  .page-contact .contact-service-grid{
    grid-template-columns:repeat(3, 1fr);
    gap:24px;
  }
}

@media (min-width: 960px){
  .page-contact .contact-hero{
    padding:48px 0 96px;
  }

  .page-contact .contact-main{
    padding:72px 0 96px;
  }

  .page-contact .contact-grid{
    grid-template-columns:minmax(0, 1fr) minmax(0, 1.08fr);
    gap:56px;
    align-items:start;
  }

  .page-contact .contact-service{
    padding:72px 24px 88px;
  }
}
