
/* SAFE GRID HARMONIZATION — preserves the approved Process V2 layout */
:root{
  --page-x:clamp(20px,3vw,52px);
  --page-max:1600px;
}

/* Same horizontal margin as the Index */
.nav{
  padding-left:var(--page-x)!important;
  padding-right:var(--page-x)!important;
}

.process-v2{
  padding-left:var(--page-x)!important;
  padding-right:var(--page-x)!important;
  margin:0!important;
  width:100%!important;
  max-width:none!important;
}

/* Keep the original three-column composition intact */
.process-v2{
  grid-template-columns:minmax(220px,280px) minmax(430px,510px) minmax(0,1fr)!important;
  gap:clamp(34px,3.6vw,64px)!important;
}

.process-v2-left,
.process-v2-steps,
.process-v2-panel{
  min-width:0;
}

/* Footer aligned on the same vertical grid */
.footer-redesign-inner{
  padding-left:var(--page-x)!important;
  padding-right:var(--page-x)!important;
}

.footer-redesign-main,
.footer-redesign-bottom{
  width:100%;
  max-width:var(--page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Tablet: preserve a usable two-stage composition */
@media(max-width:1280px){
  .process-v2{
    grid-template-columns:minmax(190px,240px) minmax(360px,460px) minmax(0,1fr)!important;
    gap:clamp(24px,3vw,42px)!important;
  }
}

/* Mobile: use the page's natural stacked layout */
@media(max-width:980px){
  .process-v2{
    grid-template-columns:1fr!important;
    padding-left:clamp(20px,5vw,28px)!important;
    padding-right:clamp(20px,5vw,28px)!important;
    overflow:visible!important;
  }

  .process-v2-left,
  .process-v2-steps,
  .process-v2-panel{
    width:100%!important;
    max-width:none!important;
    min-height:auto!important;
  }
}


.floating-talk{
  background:#efff1a !important;
  color:#27150d !important;
  border-color:rgba(39,21,13,.35) !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  transform:translateY(8px) !important;
  transition:
    opacity .35s ease,
    visibility .35s ease,
    transform .35s cubic-bezier(.16,1,.3,1),
    background .25s ease,
    color .25s ease,
    border-color .25s ease !important;
}
.floating-talk.show-talk{
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  transform:translateY(0) !important;
}
.floating-talk:hover{
  background:#efff1a !important;
  color:#27150d !important;
  border-color:#27150d !important;
  transform:translateY(-3px) !important;
}
