/* OUTBOX CONTACT V4 — scoped finishing touches
 * Real social links, field icons and cursor-following BORDER-ONLY glow.
 * Stays on top of v2 base + v3 glass; other sections are untouched.
 */
#contact .oc-contact-details li .oc-contact-map{
  color:inherit;
  text-decoration:none;
  text-decoration-color:transparent;
  text-underline-offset:5px;
  transition:color .24s ease,text-decoration-color .24s ease;
}
#contact .oc-contact-details li .oc-contact-map:hover,
#contact .oc-contact-details li .oc-contact-map:focus-visible{
  color:#FBAF2A;
  text-decoration:none;
  text-decoration-color:transparent;
}
#contact .oc-contact-socials a.oc-social-icon{
  display:grid;
  place-items:center;
  text-decoration:none;
  cursor:pointer;
  transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
#contact .oc-contact-socials a.oc-social-icon:hover,
#contact .oc-contact-socials a.oc-social-icon:focus-visible{
  background:rgba(251,175,42,.10);
  border-color:#FBAF2A;
  color:#FBAF2A;
  transform:translateY(-3px);
  box-shadow:0 7px 17px rgba(0,0,0,.15);
}
#contact .oc-contact-socials a.oc-social-icon:focus-visible{
  outline:2px solid #FBAF2A;
  outline-offset:3px;
}
#contact .oc-input-group.oc-has-icon .oc-field{
  padding-left:57px!important;
}
#contact .oc-input-group.oc-has-icon .oc-floating-label{
  left:57px;
}
#contact .oc-input-group .oc-field-icon{
  position:absolute;
  left:19px;
  top:50%;
  width:22px;
  height:22px;
  z-index:2;
  transform:translateY(-50%);
  stroke:#A5A4A4;
  fill:none;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
  transition:stroke .28s ease,filter .28s ease;
}
#contact .oc-input-group:focus-within .oc-field-icon{
  stroke:#FBAF2A;
  filter:drop-shadow(0 0 5px rgba(251,175,42,.23));
}
#contact .oc-contact-form{--oc-glow-x:50%;--oc-glow-y:0%}
#contact .oc-edge-glow{
  position:absolute;
  inset:0;
  z-index:5;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
  transition:opacity .36s ease;
}
#contact .oc-edge-glow::before{
  content:"";
  position:absolute;
  inset:0;
  padding:2px;
  border-radius:inherit;
  background:radial-gradient(
    275px circle at var(--oc-glow-x) var(--oc-glow-y),
    rgba(255,205,102,1) 0%,
    rgba(251,175,42,.9) 21%,
    rgba(251,175,42,.30) 47%,
    rgba(251,175,42,0) 80%
  );
  /* Excludes the entire interior: the glow exists on the border only. */
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;
}
@media (hover:hover) and (pointer:fine){
  #contact .oc-contact-form:hover > .oc-edge-glow{
    opacity:1;
  }
}
#contact .oc-contact-form:focus-within > .oc-edge-glow{
  opacity:1;
}
@media(max-width:470px){
  #contact .oc-input-group.oc-has-icon .oc-field{padding-left:52px!important}
  #contact .oc-input-group.oc-has-icon .oc-floating-label{left:52px}
  #contact .oc-input-group .oc-field-icon{left:17px;width:19px;height:19px}
}
@media(prefers-reduced-motion:reduce){
  #contact .oc-edge-glow,
  #contact .oc-input-group .oc-field-icon,
  #contact .oc-contact-socials a.oc-social-icon,
  #contact .oc-contact-details li .oc-contact-map{transition:none!important}
}

/* CONTACT US: outlined-to-solid scroll text, style-only fallback stays legible. */
#contact .oc-contact-heading .oc-contact-title-fill{
  --oc-contact-fill:100%;
  display:inline-block;
  max-width:100%;
  color:transparent;
  background-image:linear-gradient(90deg,#F9F8F5,#F9F8F5);
  background-size:var(--oc-contact-fill) 100%;
  background-position:left center;
  background-repeat:no-repeat;
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:1.25px rgba(249,248,245,.95);
  paint-order:stroke fill;
}
@media(max-width:600px){
  #contact .oc-contact-heading .oc-contact-title-fill{-webkit-text-stroke-width:1px}
}
@media(prefers-reduced-motion:reduce){
  #contact .oc-contact-heading .oc-contact-title-fill{--oc-contact-fill:100%!important}
}
