.copyme-contact { --ccd-accent: #1d4ed8; --ccd-ink: #172033; --ccd-muted: #64748b; font-family: inherit; }
.copyme-contact__tab { position: fixed; z-index: 9998; top: 50%; right: 0; transform: translateY(-50%); display: flex; align-items: center; gap: .55rem; padding: .8rem 1rem; border: 0; border-radius: .65rem 0 0 .65rem; background: var(--ccd-accent); color: #fff; font: 700 15px/1 inherit; cursor: pointer; box-shadow: 0 8px 24px rgba(23, 32, 51, .2); transition: padding .2s ease, background .2s ease; }
.copyme-contact__tab:hover, .copyme-contact__tab:focus-visible { padding-right: 1.3rem; background: #163fb3; outline: 0; }
.copyme-contact__tab-icon { font-size: 1.15rem; }
.copyme-contact__backdrop { position: fixed; z-index: 9998; inset: 0; background: rgba(15, 23, 42, .42); }
.copyme-contact__panel { position: fixed; z-index: 9999; top: 0; right: 0; width: min(100%, 420px); height: 100dvh; box-sizing: border-box; padding: 2rem; overflow-y: auto; background: #fff; color: var(--ccd-ink); box-shadow: -12px 0 36px rgba(15, 23, 42, .18); transform: translateX(105%); transition: transform .28s ease; }
.copyme-contact.is-open .copyme-contact__panel { transform: translateX(0); }
.copyme-contact__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.7rem; }
.copyme-contact__eyebrow { margin: 0 0 .3rem; color: var(--ccd-accent); font-size: .68rem; font-weight: 800; letter-spacing: .1em; }
.copyme-contact h2 { margin: 0; color: var(--ccd-ink); font-size: 2rem; line-height: 1.1; }
.copyme-contact__close { width: 2.3rem; height: 2.3rem; border: 0; border-radius: 50%; background: #f1f5f9; color: var(--ccd-ink); font-size: 1.65rem; line-height: 1; cursor: pointer; }
.copyme-contact__form { display: grid; gap: 1rem; }
.copyme-contact__form label { display: grid; gap: .42rem; color: var(--ccd-ink); font-size: .88rem; font-weight: 700; }
.copyme-contact__form input, .copyme-contact__form textarea { box-sizing: border-box; width: 100%; border: 1px solid #cbd5e1; border-radius: .45rem; padding: .7rem .8rem; color: var(--ccd-ink); background: #fff; font: 400 1rem/1.4 inherit; }
.copyme-contact__form input:focus, .copyme-contact__form textarea:focus { border-color: var(--ccd-accent); outline: 2px solid rgba(29, 78, 216, .15); }
.copyme-contact__submit { border: 0; border-radius: .45rem; padding: .85rem 1rem; background: var(--ccd-accent); color: #fff; font: 700 1rem/1 inherit; cursor: pointer; }
.copyme-contact__submit:disabled { opacity: .65; cursor: wait; }
.copyme-contact__status { min-height: 1.3em; margin: 0; color: var(--ccd-muted); font-size: .9rem; }
.copyme-contact__status.is-error { color: #b91c1c; }
.copyme-contact__status.is-success { color: #15803d; }
.copyme-contact__honeypot { position: absolute; left: -9999px; }
body.copyme-contact-open { overflow: hidden; }
@media (max-width: 480px) { .copyme-contact__panel { padding: 1.4rem; } .copyme-contact__tab { top: auto; bottom: 1.1rem; transform: none; border-radius: 999px 0 0 999px; } }

/* CopyMe visual refresh: mirror the site's blue-violet hero and orange CTA. */
.copyme-contact { --ccd-accent:#ff941d; --ccd-ink:#16233e; --ccd-muted:#65718a; }
.copyme-contact__tab { border-radius:999px 0 0 999px; padding:.86rem 1.15rem .86rem 1rem; background:#ff941d; box-shadow:0 12px 24px rgba(19,43,88,.22); }
.copyme-contact__tab:hover,.copyme-contact__tab:focus-visible { padding-right:1.45rem; background:#ee7c00; }
.copyme-contact__backdrop { background:rgba(12,29,61,.52); backdrop-filter:blur(2px); }
.copyme-contact__panel { width:min(100%,440px); padding:0; background:#f7f9fd; box-shadow:-18px 0 50px rgba(10,28,62,.2); transition:transform .32s cubic-bezier(.2,.8,.2,1); }
.copyme-contact__header { position:relative; align-items:flex-start; padding:2.5rem 2.25rem 2.1rem; color:#fff; background:linear-gradient(130deg,#376fc7,#5e80dc 58%,#9b8ee5); overflow:hidden; }
.copyme-contact__header::after { position:absolute; width:170px; height:170px; right:-68px; bottom:-100px; border:28px solid rgba(255,255,255,.12); border-radius:50%; content:''; }
.copyme-contact__header>* { position:relative; z-index:1; }
.copyme-contact__eyebrow { margin:0 0 .52rem; color:rgba(255,255,255,.82); font-size:.7rem; letter-spacing:.13em; }
.copyme-contact h2 { max-width:285px; color:#fff; font-size:clamp(1.85rem,4vw,2.35rem); line-height:1.08; letter-spacing:-.035em; }
.copyme-contact__intro { max-width:300px; margin:.75rem 0 0; color:rgba(255,255,255,.88); font-size:.95rem; line-height:1.5; }
.copyme-contact__close { flex:0 0 auto; border:1px solid rgba(255,255,255,.38); background:rgba(255,255,255,.14); color:#fff; }
.copyme-contact__form { gap:1rem; padding:1.8rem 2.25rem 2.2rem; }
.copyme-contact__fields { display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }
.copyme-contact__form label { color:#34415c; font-size:.78rem; letter-spacing:.015em; }
.copyme-contact__form label span { color:#ff941d; }
.copyme-contact__form input,.copyme-contact__form textarea { border-color:#dde4f1; border-radius:.65rem; padding:.74rem .85rem; color:#16233e; box-shadow:0 2px 6px rgba(30,61,114,.025); font-size:.94rem; }
.copyme-contact__form input::placeholder,.copyme-contact__form textarea::placeholder { color:#a3afc2; }
.copyme-contact__form textarea { min-height:110px; }
.copyme-contact__form input:focus,.copyme-contact__form textarea:focus { border-color:#5e87d8; box-shadow:0 0 0 3px rgba(94,135,216,.16); }
.copyme-contact__submit { display:flex; align-items:center; justify-content:space-between; margin-top:.25rem; border-radius:.65rem; padding:.94rem 1.05rem .94rem 1.2rem; background:#ff941d; box-shadow:0 8px 18px rgba(255,148,29,.25); }
.copyme-contact__submit:hover { background:#ee7c00; transform:translateY(-1px); }
.copyme-contact__submit span:last-child { font-size:1.25rem; }
@media (max-width:480px) { .copyme-contact__header { padding:2rem 1.45rem 1.7rem; } .copyme-contact__form { padding:1.4rem 1.45rem 2rem; } }
@media (max-width:360px) { .copyme-contact__fields { grid-template-columns:1fr; } }

/* Inset desktop card: keeps the site's WhatsApp control clear at the bottom-right. */
@media (min-width: 601px) {
  .copyme-contact__panel {
    top: 24px;
    right: 24px;
    bottom: 96px;
    height: auto;
    border-radius: 22px;
    box-shadow: 0 20px 55px rgba(10, 28, 62, .28);
  }
}

/* A compact, intentionally quiet header rather than a page-sized hero. */
.copyme-contact__header {
  min-height: 0;
  padding: 1.6rem 1.75rem 1.45rem;
  background: linear-gradient(118deg, #173c7a, #3e72c5) !important;
}
.copyme-contact__header::after { display: none; }
.copyme-contact__eyebrow { margin-bottom: .42rem; font-size: .66rem; }
.copyme-contact h2 {
  max-width: 300px;
  color: #fff !important;
  font-size: clamp(1.55rem, 3vw, 1.95rem) !important;
  line-height: 1.12;
}
.copyme-contact__intro { margin-top: .5rem; font-size: .88rem; }

/* Explicit reset prevents Elementor's global button rules from producing a pill. */
.copyme-contact .copyme-contact__close {
  display: grid !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  padding: 0 !important;
  margin: 0 !important;
  place-items: center;
  border: 1px solid rgba(255,255,255,.5) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.16) !important;
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  font-size: 27px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  text-indent: 0 !important;
}
.copyme-contact .copyme-contact__close:hover,
.copyme-contact .copyme-contact__close:focus-visible {
  background: rgba(255,255,255,.3) !important;
  color: #fff !important;
  transform: none !important;
}
@media (max-width: 600px) {
  .copyme-contact__header { padding: 1.45rem 1.3rem 1.25rem; }
  .copyme-contact__panel { border-radius: 18px 0 0 18px; }
}

/* The desktop card is deliberately a complete, non-scrolling interaction. */
@media (min-width: 601px) {
  .copyme-contact__panel { overflow: hidden; }
  .copyme-contact__header { padding: 1.25rem 1.6rem 1.15rem; }
  .copyme-contact__eyebrow { margin-bottom: .28rem; }
  .copyme-contact h2 { font-size: 1.65rem !important; }
  .copyme-contact__intro { margin-top: .32rem; font-size: .82rem; line-height: 1.35; }
  .copyme-contact__form { gap: .68rem; padding: 1.05rem 1.6rem 1.2rem; }
  .copyme-contact__fields { gap: .7rem; }
  .copyme-contact__form label { gap: .28rem; font-size: .72rem; }
  .copyme-contact__form input, .copyme-contact__form textarea { padding: .55rem .72rem; font-size: .86rem; }
  .copyme-contact__form textarea { min-height: 76px; }
  .copyme-contact__submit { margin-top: 0; padding: .72rem .9rem  .72rem 1rem; }
}

/* Header integration: the contact action now lives in the navy utility bar. */
.copyme-site-header__utility-actions { display:flex; align-items:center; gap:1rem; }
.copyme-site-header__utility-actions p { flex:0 0 auto; }
.copyme-site-header__utility .copyme-contact__tab--header {
  position:static;
  transform:none;
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  padding:.36rem .72rem;
  background:rgba(255,255,255,.1);
  box-shadow:none;
  color:#fff;
  font-size:.7rem;
  line-height:1;
}
.copyme-site-header__utility .copyme-contact__tab--header:hover,
.copyme-site-header__utility .copyme-contact__tab--header:focus-visible {
  padding-right:.72rem;
  border-color:#ff941d;
  background:#ff941d;
  outline:0;
}
.copyme-site-header__utility .copyme-contact__tab-icon { font-size:.82rem; }
.copyme-site-header__utility .copyme-contact__tab--header > span:last-child { display:inline !important; visibility:visible !important; color:#fff !important; }
.copyme-contact > .copyme-contact__tab { display:none; }

/* Form finish: clearer controls, calmer surfaces, and a confident CTA. */
.copyme-contact__form { background:#fff; }
.copyme-contact__form label { letter-spacing:.01em; }
.copyme-contact__form input,
.copyme-contact__form textarea { background:#fbfcff; border-width:1.5px; }
.copyme-contact__form input:hover,
.copyme-contact__form textarea:hover { border-color:#b9c9e2; }
.copyme-contact__status { padding:.1rem .1rem 0; }
@media (max-width:600px) {
  .copyme-site-header__utility-actions p { display:none; }
  .copyme-site-header__utility-actions { margin-left:auto; }
}
