/* =========================================================
   Contact Section
========================================================= */
.c-cv-area{ padding:var(--section-gap) 0; background:var(--lp-section-gradient); }
.c-cv-area__inner{ max-width:var(--container); margin:0 auto; padding:0 1rem; display:grid; gap:1.6rem; }
.c-cv-area__title-en{ color:var(--brand-teal); font-family:var(--font-display); font-weight:800; letter-spacing:.06em; }
.c-cv-area__title{ font-size:1.6rem; font-weight:800; }
.c-cv-area__tel{ margin:.6rem 0 1rem; }
.c-cv-area__tel-number{ font-size:1.6rem; font-weight:800; }
.c-cv-area__buttons{ display:grid; gap:1rem; }
@media (min-width:960px){
  .c-cv-area__buttons{ grid-template-columns: 1fr 1fr; }
}
.c-cv-area__button{
  background:#fff; border:var(--border-card); border-radius:var(--radius); padding:1rem; box-shadow: var(--shadow);
  display:flex; flex-direction:column; gap:.65rem;
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;
}
.c-cv-area__button:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow-lg);
}
.c-cv-area__button a{
  display:inline-flex; align-items:center; justify-content:center; width:100%;
  border-radius:var(--radius-sm); padding:1rem; font-weight:800; color:#fff; text-decoration:none;
  transition:filter .2s ease, transform .2s ease;
}
.c-cv-area__button a:hover{
  filter:brightness(1.08);
  transform:translateY(-1px);
  text-decoration:none;
}
.c-cv-area__button a:focus-visible{
  outline:3px solid rgba(47,183,166,.45);
  outline-offset:2px;
}
.c-cv-area__button--orange a{ background:var(--brand-orange); }
.c-cv-area__button--green a{ background:var(--brand-teal); }
.c-cv-area__button-note{ font-size:.85rem; margin-bottom:.4rem; color:var(--muted); }

/* Modal */
body.is-modal-open{ overflow:hidden; }
.contact-modal{ position:fixed; inset:0; display:grid; place-items:center; z-index:var(--z-modal); }
.contact-modal[hidden]{ display:none; }
.contact-modal__overlay{
  position:absolute; inset:0; background:rgba(12,36,64,0.55); backdrop-filter:blur(4px);
}
.contact-modal__content{
  position:relative; z-index:1; width: min(640px, 92vw); max-height:90vh; overflow:auto;
  background:#fff; border-radius:var(--radius-lg); padding:2rem 1.5rem 1.75rem; box-shadow:var(--shadow-lg);
  display:grid; gap:1rem;
}
.contact-modal__close{
  position:absolute; top:12px; right:12px; width:40px; height:40px; border:none; border-radius:50%;
  background:rgba(15,78,231,0.08); color:var(--neutral-dark, #0c2440); font-size:1.6rem; line-height:1; cursor:pointer;
}
.contact-modal__eyebrow{ color:var(--brand-teal); font-family:var(--font-display); font-weight:700; letter-spacing:.08em; text-transform:uppercase; font-size:.9rem; }
.contact-modal__title{ font-size:1.5rem; font-weight:800; }
.contact-modal__lead{ color:var(--muted); line-height:1.6; }
.contact-modal__form{ display:grid; gap:.85rem; }
.contact-modal__field{ display:grid; gap:.35rem; }
.contact-modal__label{ font-weight:700; display:flex; align-items:center; gap:.5rem; }
.contact-modal__required{ display:inline-flex; align-items:center; justify-content:center; padding:.1rem .45rem; background:rgba(242,139,47,0.14); color:var(--brand-orange); border-radius:999px; font-size:.78rem; }
.contact-modal input,
.contact-modal textarea,
.contact-modal select{
  width:100%; border:1px solid rgba(12,36,64,0.15); border-radius:var(--radius-sm); padding:.85rem 1rem; font-size:1rem;
  background:#fff; transition: border-color .2s, box-shadow .2s;
}
.contact-modal input:focus,
.contact-modal textarea:focus,
.contact-modal select:focus{
  outline:none; border-color:var(--brand-teal); box-shadow:0 0 0 3px rgba(47,183,166,0.18);
}
.contact-modal select{ appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230c2440' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 1rem center; background-size:12px 8px; padding-right:2.5rem; }
.contact-modal textarea{ resize:vertical; min-height:140px; }
.contact-modal .is-invalid{
  border-color:#e53935 !important;
  box-shadow:0 0 0 3px rgba(229,57,53,0.2);
}
.contact-modal .is-dirty:invalid{
  border-color:#e53935;
}
.contact-modal__privacy-box{ display:grid; gap:.5rem; }
.contact-modal__privacy-heading{ font-weight:800; font-size:.95rem; color:var(--ink); margin:0; }
.contact-modal__privacy-note{ font-size:.82rem; color:var(--muted); margin:0; }
.contact-modal__privacy-scroll{
  max-height:160px; overflow-y:auto; padding:1rem; border:1px solid rgba(12,36,64,0.12);
  border-radius:var(--radius-sm); background:var(--surface); font-size:.82rem; color:#455265; line-height:1.7;
}
.contact-modal__privacy-scroll h4{ font-size:.85rem; font-weight:700; color:var(--ink); margin:.8rem 0 .3rem; }
.contact-modal__privacy-scroll h4:first-of-type{ margin-top:0; }
.contact-modal__privacy-scroll p{ margin:0 0 .4rem; }
.contact-modal__privacy-scroll ul{ margin:.2rem 0 .4rem; padding-left:1.2rem; }
.contact-modal__privacy-scroll li{ margin-bottom:.2rem; }
.contact-modal__agree{
  display:flex; align-items:center; gap:.5rem; font-size:.9rem; font-weight:600; color:var(--ink); cursor:pointer;
}
.contact-modal__agree input[type="checkbox"]{
  width:18px; height:18px; accent-color:var(--brand-teal); cursor:pointer;
}
.contact-modal__actions{ display:flex; justify-content:flex-end; }
.contact-modal__submit{
  background:linear-gradient(135deg, #2fb7a6, #0f4ee7); color:#fff; border:none; border-radius:var(--radius-sm); padding:.9rem 1.2rem;
  font-weight:800; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease;
}
.contact-modal__submit:hover{ transform:translateY(-1px); box-shadow:0 8px 24px rgba(15,78,231,0.22); }
.contact-modal__submit:active{ transform:translateY(0); }
.contact-modal__submit:disabled{
  opacity:.65; cursor:not-allowed; transform:none; box-shadow:none;
}
.contact-modal__submit-loading{
  display:inline-flex; align-items:center; gap:.5rem;
}
.contact-modal__submit-loading[hidden]{
  display:none;
}
@keyframes contact-spin{
  to{ transform:rotate(360deg); }
}
.contact-modal__spinner{
  animation:contact-spin .8s linear infinite;
}

@media (max-width:599px){
  .contact-modal input,
  .contact-modal textarea,
  .contact-modal select{ font-size:16px; }
}
@media (min-width:720px){
  .contact-modal__content{ padding:2.2rem 2rem; }
  .contact-modal__title{ font-size:1.7rem; }
}

/* Completion */
.contact-complete{ min-height:100vh; display:grid; place-items:center; padding:2.5rem 1rem; background:var(--lp-section-gradient); }
.contact-complete__card{
  background:#fff; border:1px solid rgba(12,36,64,0.08); border-radius:var(--radius-lg); padding:2rem; max-width:720px; width:100%;
  box-shadow:var(--shadow); display:grid; gap:1rem; text-align:center;
}
.contact-complete__eyebrow{ color:var(--brand-teal); font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.contact-complete__title{ font-size:1.7rem; font-weight:800; }
.contact-complete__text{ color:var(--muted); line-height:1.7; }
.contact-complete__actions{ display:flex; flex-direction:column; gap:.75rem; justify-content:center; }
.contact-complete__button{
  display:inline-flex; justify-content:center; align-items:center; padding:.9rem 1.2rem; border-radius:var(--radius-sm);
  background:linear-gradient(135deg, #2fb7a6, #0f4ee7); color:#fff; font-weight:800; text-decoration:none;
}
.contact-complete__button--outline{ background:#fff; color:var(--brand-teal); border:1px solid rgba(47,183,166,0.5); }
@media (min-width:720px){
  .contact-complete__actions{ flex-direction:row; }
  .contact-complete__title{ font-size:2rem; }
}
