/* Affordable Office Spaces — Contact Premium v3
   Form-first additive page styles. Shared shell remains in ../styles.css. */

.contact-page {
  --cp3-ink: #102a33;
  --cp3-night: #071c24;
  --cp3-night-soft: #0c3039;
  --cp3-orange: #ff6534;
  --cp3-aqua: #64d9cf;
  --cp3-ice: #f2f8fa;
  --cp3-paper: #fbfdfd;
  --cp3-line: rgba(16, 42, 51, .12);
  --cp3-muted: #60757d;
  background:
    radial-gradient(circle at 7% 9%, rgba(100, 217, 207, .1), transparent 31rem),
    radial-gradient(circle at 94% 22%, rgba(255, 101, 52, .07), transparent 34rem),
    var(--paper);
}

.contact-page main { overflow: clip; }
.contact-page .breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 34px;
  color: var(--muted);
  font-size: 0.9rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.contact-page .breadcrumb a { transition: color .2s ease; }
.contact-page .breadcrumb a:hover { color: var(--cp3-orange); }
.contact-page .breadcrumb strong { color: var(--cp3-ink); }
.contact-page .eyebrow--light { color: rgba(255, 255, 255, .74); }
.contact-page .eyebrow--light span { background: linear-gradient(90deg, var(--cp3-orange), var(--cp3-aqua)); }
.contact-page h1 em,
.contact-page h2 em { color: var(--cp3-orange); font-style: normal; }

/* HERO + FORM */
.cp3-hero {
  position: relative;
  margin-top: -96px;
  padding: 194px 0 92px;
  min-height: auto;
  isolation: isolate;
  background: linear-gradient(154deg, #f9fcfd 0%, #edf7f9 56%, #fbfdfd 100%);
}
.cp3-hero::after {
  content: "";
  position: absolute;
  right: -270px;
  bottom: -330px;
  width: 720px;
  height: 720px;
  border: 1px solid rgba(16, 42, 51, .07);
  border-radius: 50%;
  box-shadow: 0 0 0 88px rgba(16, 42, 51, .022), 0 0 0 176px rgba(16, 42, 51, .015);
  pointer-events: none;
  z-index: -1;
}
.cp3-hero .ambient-canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .86; z-index: -3; }
.cp3-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .34;
  background-image:
    linear-gradient(rgba(16, 42, 51, .035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 42, 51, .035) 1px, transparent 1px);
  background-size: 68px 68px;
  mask-image: linear-gradient(to bottom, #000 0, rgba(0,0,0,.7) 62%, transparent 92%);
}
.cp3-aurora { position: absolute; border-radius: 50%; filter: blur(6px); pointer-events: none; z-index: -2; }
.cp3-aurora--one { width: 430px; height: 430px; left: -180px; top: 230px; background: rgba(100, 217, 207, .16); }
.cp3-aurora--two { width: 360px; height: 360px; right: 4%; top: 130px; background: rgba(255, 101, 52, .1); }

.cp3-hero__layout {
  display: grid;
  grid-template-columns: minmax(0, .88fr) minmax(500px, 1.12fr);
  gap: clamp(48px, 6vw, 96px);
  align-items: start;
}
.cp3-hero__story { min-width: 0; }
.cp3-hero__story h1 {
  max-width: 760px;
  margin: 0;
  color: var(--cp3-ink);
  font-family: "Sora", sans-serif;
  font-size: clamp(3.35rem, 5.1vw, 5.9rem);
  line-height: .98;
  letter-spacing: -.066em;
  text-wrap: balance;
}
.cp3-hero__story h1 em { display: block; }
.cp3-hero__lede {
  max-width: 690px;
  margin: 27px 0 0;
  color: var(--cp3-muted);
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.75;
}

.cp3-intent-switcher {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin: 34px 0 20px;
}
.cp3-intent-switcher button {
  position: relative;
  min-height: 80px;
  padding: 14px 13px;
  overflow: hidden;
  border: 1px solid rgba(16, 42, 51, .11);
  border-radius: 20px 20px 20px 7px;
  background: rgba(255, 255, 255, .69);
  box-shadow: 0 14px 32px rgba(7, 28, 36, .06);
  color: var(--cp3-ink);
  text-align: left;
  cursor: pointer;
  transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}
.cp3-intent-switcher button::after {
  content: "";
  position: absolute;
  inset: auto -18px -30px auto;
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(100, 217, 207, .4), transparent 68%);
  opacity: 0;
  transform: scale(.6);
  transition: opacity .25s ease, transform .25s ease;
}
.cp3-intent-switcher button:hover { transform: translateY(-3px); border-color: rgba(255, 101, 52, .38); }
.cp3-intent-switcher button.is-active {
  border-color: rgba(255, 101, 52, .48);
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(255,240,234,.9));
  box-shadow: 0 19px 42px rgba(255, 101, 52, .13);
}
.cp3-intent-switcher button.is-active::after { opacity: 1; transform: scale(1); }
.cp3-intent-switcher span { display: block; color: var(--cp3-orange); font-size: 0.86rem; font-weight: 800; letter-spacing: .13em; }
.cp3-intent-switcher strong { display: block; margin-top: 7px; font-size: 0.93rem; line-height: 1.25; }


.cp3-form-guide {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  max-width: 690px;
  margin-top: 18px;
}
.cp3-form-guide__item,
.cp3-form-guide__call {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid rgba(16,42,51,.09);
  border-radius: 20px 20px 20px 7px;
  background: rgba(255,255,255,.68);
  box-shadow: 0 14px 34px rgba(7,28,36,.055);
}
.cp3-form-guide__item > span,
.cp3-form-guide__call > span {
  display: grid;
  flex: 0 0 auto;
  width: 37px;
  height: 37px;
  place-items: center;
  border-radius: 13px;
  background: rgba(100,217,207,.14);
  color: var(--cp3-ink);
  font-size: 0.86rem;
  font-weight: 900;
}
.cp3-form-guide strong { display: block; color: var(--cp3-ink); font-size: 0.93rem; line-height: 1.25; }
.cp3-form-guide small { display: block; margin-top: 4px; color: var(--cp3-muted); font-size: 0.86rem; line-height: 1.45; }
.cp3-form-guide__call {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, rgba(7,28,36,.97), rgba(12,48,57,.94));
  color: #fff;
  transition: transform .22s ease, box-shadow .22s ease;
}
.cp3-form-guide__call:hover { transform: translateY(-2px); box-shadow: 0 20px 44px rgba(7,28,36,.16); }
.cp3-form-guide__call > span { background: var(--cp3-orange); color: #fff; font-size: 1rem; }
.cp3-form-guide__call strong { color: #fff; }
.cp3-form-guide__call small { color: rgba(255,255,255,.64); }

@media (min-width: 981px) {
  .cp3-hero__story { position: sticky; top: 148px; }
}

.cp3-contact-stage {
  position: relative;
  min-height: 438px;
  overflow: hidden;
  border-radius: 32px 32px 32px 10px;
  background: var(--cp3-night);
  box-shadow: 0 34px 70px rgba(7, 28, 36, .2);
}
.cp3-contact-stage__media { position: absolute; inset: 0; overflow: hidden; }
.cp3-contact-stage__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(.82) contrast(1.03);
  transform: scale(1.025);
  transition: opacity .45s ease, transform 1.1s cubic-bezier(.2,.7,.2,1), filter .45s ease;
}
.cp3-contact-stage.is-changing .cp3-contact-stage__media img { opacity: .18; transform: scale(1.07); filter: blur(4px); }
.cp3-contact-stage__wash {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6,24,32,.83) 0%, rgba(6,24,32,.38) 55%, rgba(6,24,32,.18) 100%),
    linear-gradient(0deg, rgba(6,24,32,.86), transparent 64%);
}
.cp3-contact-stage__caption {
  position: absolute;
  left: 25px;
  bottom: 24px;
  z-index: 2;
  max-width: 320px;
  color: #fff;
}
.cp3-contact-stage__caption span { display: block; margin-bottom: 5px; color: var(--cp3-aqua); font-size: 0.88rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.cp3-contact-stage__caption strong { display: block; font-family: "Sora", sans-serif; font-size: 1.2rem; line-height: 1.25; }

.cp3-signal {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 3;
  width: min(330px, calc(100% - 44px));
  padding: 19px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 25px 25px 25px 8px;
  background: rgba(7, 28, 36, .84);
  box-shadow: 0 22px 54px rgba(0,0,0,.25);
  backdrop-filter: blur(18px);
  color: #fff;
}
.cp3-signal__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.cp3-signal__head > span { color: rgba(255,255,255,.64); font-size: 0.86rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cp3-signal__head button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.74);
  font-size: 0.86rem;
  font-weight: 800;
  cursor: pointer;
}
.cp3-signal__head button i { width: 7px; height: 9px; border-left: 2px solid currentColor; border-right: 2px solid currentColor; }
.cp3-signal__head button[aria-pressed="true"] i { width: 0; height: 0; border: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid currentColor; }
.cp3-signal__track { position: relative; height: 3px; margin: 21px 6px 11px; border-radius: 999px; background: rgba(255,255,255,.13); }
.cp3-signal__track i { display: block; width: var(--cp3-progress, 25%); height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--cp3-orange), var(--cp3-aqua)); box-shadow: 0 0 18px rgba(100,217,207,.62); transition: width .45s cubic-bezier(.2,.7,.2,1); }
.cp3-signal__track b { position: absolute; top: 50%; left: var(--cp3-progress, 25%); width: 10px; height: 10px; border: 2px solid #fff; border-radius: 50%; background: var(--cp3-aqua); box-shadow: 0 0 0 6px rgba(100,217,207,.16), 0 0 18px rgba(100,217,207,.7); transform: translate(-50%, -50%); transition: left .45s cubic-bezier(.2,.7,.2,1); }
.cp3-signal__nodes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; color: rgba(255,255,255,.42); font-size: 0.84rem; font-weight: 800; letter-spacing: .07em; text-align: center; text-transform: uppercase; }
.cp3-signal__nodes span.is-ready { color: var(--cp3-aqua); }
.cp3-signal__copy { margin-top: 19px; }
.cp3-signal__copy small { color: var(--cp3-aqua); font-size: 0.86rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cp3-signal__copy strong { display: block; margin-top: 7px; font-family: "Sora", sans-serif; font-size: 1rem; line-height: 1.3; }
.cp3-signal__copy p { margin: 7px 0 0; color: rgba(255,255,255,.65); font-size: 0.9rem; line-height: 1.55; }

.cp3-direct-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.cp3-direct-row > * {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid rgba(16,42,51,.09);
  border-radius: 19px 19px 19px 7px;
  background: rgba(255,255,255,.72);
  box-shadow: 0 12px 30px rgba(7,28,36,.05);
}
.cp3-direct-row > a { transition: transform .2s ease, border-color .2s ease; }
.cp3-direct-row > a:hover { transform: translateY(-2px); border-color: rgba(255,101,52,.34); }
.cp3-direct-row > * > span { display: grid; flex: 0 0 auto; width: 38px; height: 38px; place-items: center; border-radius: 13px; background: var(--cp3-ink); color: #fff; }
.cp3-direct-row svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cp3-direct-row small { display: block; color: var(--cp3-muted); font-size: 0.86rem; font-weight: 700; }
.cp3-direct-row strong { display: block; margin-top: 2px; color: var(--cp3-ink); font-size: 0.93rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.cp3-form-shell { position: relative; min-width: 0; }
.cp3-form-shell::before {
  content: "";
  position: absolute;
  inset: -18px -18px auto auto;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,101,52,.17), transparent 67%);
  pointer-events: none;
}
.cp3-form {
  position: relative;
  padding: clamp(25px, 3vw, 38px);
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 34px 34px 34px 11px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 38px 82px rgba(7,28,36,.16);
  backdrop-filter: blur(24px);
}
.cp3-form::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 1px;
  background: linear-gradient(135deg, rgba(255,255,255,.95), rgba(100,217,207,.28), rgba(255,101,52,.22), rgba(255,255,255,.65));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
.cp3-form__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding-bottom: 19px; border-bottom: 1px solid rgba(16,42,51,.09); }
.cp3-form__header span { color: var(--cp3-orange); font-size: 0.86rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.cp3-form__header h2 { margin: 6px 0 0; color: var(--cp3-ink); font-family: "Sora", sans-serif; font-size: clamp(1.65rem, 2.5vw, 2.25rem); letter-spacing: -.045em; }
.cp3-form__header p { margin: 5px 0 0; color: var(--cp3-muted); font-size: 0.9rem; }
.cp3-form__pulse { position: relative; flex: 0 0 52px; width: 52px; height: 52px; }
.cp3-form__pulse i { position: absolute; inset: 50% auto auto 50%; border: 1px solid rgba(100,217,207,.55); border-radius: 50%; transform: translate(-50%, -50%); animation: cp3-pulse 2.8s ease-out infinite; }
.cp3-form__pulse i:nth-child(1) { width: 11px; height: 11px; background: var(--cp3-aqua); box-shadow: 0 0 18px rgba(100,217,207,.6); animation: none; }
.cp3-form__pulse i:nth-child(2) { width: 30px; height: 30px; animation-delay: .4s; }
.cp3-form__pulse i:nth-child(3) { width: 50px; height: 50px; animation-delay: 1.2s; }
@keyframes cp3-pulse { 0% { opacity: .9; transform: translate(-50%,-50%) scale(.62); } 75%,100% { opacity: 0; transform: translate(-50%,-50%) scale(1.15); } }

.cp3-form__snapshot { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: 18px 0; padding: 12px 14px; border: 1px solid rgba(100,217,207,.28); border-radius: 17px 17px 17px 6px; background: linear-gradient(135deg, rgba(100,217,207,.105), rgba(255,255,255,.7)); }
.cp3-form__snapshot small { display: block; color: var(--cp3-muted); font-size: 0.84rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cp3-form__snapshot strong { display: block; margin-top: 2px; color: var(--cp3-ink); font-size: 0.93rem; }
.cp3-form__snapshot-tags { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.cp3-form__snapshot-tags span { padding: 5px 8px; border-radius: 999px; background: var(--cp3-ink); color: #fff; font-size: 0.82rem; font-weight: 800; }

.cp3-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cp3-form .field { display: block; min-width: 0; }
.cp3-form .field--full { grid-column: 1 / -1; }
.cp3-form .field > span { display: block; margin: 0 0 7px; color: var(--cp3-ink); font-size: 0.88rem; font-weight: 800; }
.cp3-form input,
.cp3-form select,
.cp3-form textarea {
  width: 100%;
  border: 1px solid rgba(16,42,51,.14);
  border-radius: 15px 15px 15px 5px;
  background: rgba(248,252,253,.92);
  color: var(--cp3-ink);
  font: inherit;
  font-size: 0.93rem;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.cp3-form input,
.cp3-form select { min-height: 49px; padding: 0 13px; }
.cp3-form textarea { min-height: 134px; padding: 13px; line-height: 1.55; resize: vertical; }
.cp3-form input::placeholder,
.cp3-form textarea::placeholder { color: #8b9ba1; }
.cp3-form input:focus,
.cp3-form select:focus,
.cp3-form textarea:focus { border-color: var(--cp3-aqua); background: #fff; box-shadow: 0 0 0 4px rgba(100,217,207,.15); }
.cp3-form input:user-invalid,
.cp3-form select:user-invalid,
.cp3-form textarea:user-invalid { border-color: rgba(210,64,50,.58); }

.cp3-form__optional { margin-top: 15px; border: 1px solid rgba(16,42,51,.1); border-radius: 18px 18px 18px 6px; background: rgba(242,248,250,.72); }
.cp3-form__optional summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 13px 15px; color: var(--cp3-ink); font-size: 0.9rem; font-weight: 800; cursor: pointer; list-style: none; }
.cp3-form__optional summary::-webkit-details-marker { display: none; }
.cp3-form__optional summary::after { content: "+"; display: grid; width: 25px; height: 25px; place-items: center; border-radius: 9px; background: var(--cp3-ink); color: #fff; font-size: 1rem; }
.cp3-form__optional[open] summary::after { content: "−"; }
.cp3-form__optional summary small { margin-left: auto; color: var(--cp3-muted); font-size: 0.84rem; font-weight: 700; }
.cp3-form__optional-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; padding: 0 15px 15px; }

.cp3-question-builder { margin-top: 15px; padding: 15px; border: 1px solid rgba(16,42,51,.1); border-radius: 18px 18px 18px 6px; background: rgba(255,255,255,.68); }
.cp3-question-builder__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.cp3-question-builder__head span { display: block; color: var(--cp3-orange); font-size: 0.84rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.cp3-question-builder__head strong { display: block; margin-top: 3px; color: var(--cp3-ink); font-size: 0.9rem; }
.cp3-question-builder__head small { color: var(--cp3-muted); font-size: 0.84rem; font-weight: 700; }
.cp3-question-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 11px; }
.cp3-question-chips button { padding: 7px 10px; border: 1px solid rgba(16,42,51,.13); border-radius: 999px; background: var(--cp3-ice); color: var(--cp3-ink); font-size: 0.86rem; font-weight: 800; cursor: pointer; transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease; }
.cp3-question-chips button:hover { transform: translateY(-1px); border-color: rgba(255,101,52,.35); }
.cp3-question-chips button[aria-pressed="true"] { border-color: var(--cp3-ink); background: var(--cp3-ink); color: #fff; }

.cp3-form__note { display: flex; gap: 11px; margin-top: 15px; padding: 12px 13px; border-radius: 15px 15px 15px 5px; background: rgba(255,101,52,.07); }
.cp3-form__note > span { display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 8px; background: var(--cp3-orange); color: #fff; font-size: 0.88rem; font-weight: 900; }
.cp3-form__note p { margin: 0; }
.cp3-form__note strong { display: block; color: var(--cp3-ink); font-size: 0.88rem; }
.cp3-form__note small { display: block; margin-top: 3px; color: var(--cp3-muted); font-size: 0.84rem; line-height: 1.45; }
.cp3-consent { display: flex; align-items: flex-start; gap: 10px; margin: 14px 0; color: var(--cp3-muted); font-size: 0.88rem; line-height: 1.45; cursor: pointer; }
.cp3-consent input { flex: 0 0 18px; width: 18px; min-height: 18px; margin-top: 1px; accent-color: var(--cp3-orange); }
.cp3-form__status { display: flex; align-items: center; gap: 12px; margin: 13px 0; }
.cp3-form__status > div:first-child { flex: 0 0 auto; }
.cp3-form__status span { display: block; color: var(--cp3-muted); font-size: 0.82rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.cp3-form__status strong { display: block; margin-top: 2px; color: var(--cp3-ink); font-size: 0.88rem; }
.cp3-form__meter { flex: 1; height: 6px; overflow: hidden; border-radius: 999px; background: rgba(16,42,51,.09); }
.cp3-form__meter i { display: block; width: var(--cp3-progress,25%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,var(--cp3-orange),var(--cp3-aqua)); transition: width .4s ease; }
.cp3-form__error { min-height: 18px; margin: 0 0 6px; color: #a9372a; font-size: 0.88rem; font-weight: 700; }
.cp3-form .button--full { min-height: 53px; }
.cp3-form__boundary { margin: 10px 10px 0; color: var(--cp3-muted); font-size: 0.84rem; line-height: 1.48; text-align: center; }
.cp3-form__success { position: absolute; inset: 0; z-index: 7; display: grid; place-content: center; padding: 42px; border-radius: inherit; background: rgba(251,253,253,.97); text-align: center; backdrop-filter: blur(18px); }
.cp3-form__success[hidden] { display: none; }
.cp3-form__success > span { display: grid; width: 58px; height: 58px; margin: 0 auto 18px; place-items: center; border-radius: 20px; background: var(--cp3-aqua); color: var(--cp3-night); }
.cp3-form__success svg { width: 27px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.cp3-form__success h3 { margin: 0; color: var(--cp3-ink); font-family: "Sora",sans-serif; font-size: 1.75rem; }
.cp3-form__success p { max-width: 420px; margin: 12px auto 22px; color: var(--cp3-muted); font-size: 0.93rem; line-height: 1.65; }

/* DIRECT CONTACT */
.cp3-contact-info { position: relative; padding: 96px 0 72px; }
.cp3-section-head { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 36px; }
.cp3-section-head h2 { max-width: 700px; margin: 0; color: var(--cp3-ink); font-family: "Sora",sans-serif; font-size: clamp(2.25rem,4vw,4.25rem); line-height: 1.04; letter-spacing: -.055em; }
.cp3-section-head > p { max-width: 440px; margin: 0 0 7px; color: var(--cp3-muted); font-size: 1.02rem; line-height: 1.7; }
.cp3-contact-cards { display: grid; grid-template-columns: .82fr 1fr 1fr; gap: 18px; }
.cp3-contact-card { position: relative; min-height: 300px; overflow: hidden; border: 1px solid rgba(16,42,51,.09); border-radius: 29px 29px 29px 9px; background: rgba(255,255,255,.76); box-shadow: 0 22px 50px rgba(7,28,36,.08); }
.cp3-contact-card--phone { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 27px; background: linear-gradient(145deg,var(--cp3-night),#0b3540); color: #fff; transition: transform .25s ease, box-shadow .25s ease; }
.cp3-contact-card--phone::before { content:""; position:absolute; inset:-120px -90px auto auto; width:250px; height:250px; border:1px solid rgba(100,217,207,.22); border-radius:50%; box-shadow:0 0 0 45px rgba(100,217,207,.05),0 0 0 90px rgba(100,217,207,.025); }
.cp3-contact-card--phone:hover { transform: translateY(-5px); box-shadow: 0 28px 62px rgba(7,28,36,.2); }
.cp3-contact-card__icon { display:grid; width:51px; height:51px; margin-bottom:auto; place-items:center; border-radius:17px; background:var(--cp3-orange); color:#fff; }
.cp3-contact-card__icon svg { width:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.cp3-contact-card--phone small { color:rgba(255,255,255,.58); font-size:0.86rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cp3-contact-card--phone strong { display:block; margin-top:7px; font-family:"Sora",sans-serif; font-size:1.55rem; }
.cp3-contact-card--phone p { margin:10px 0 0; color:rgba(255,255,255,.66); font-size:0.93rem; line-height:1.55; }
.cp3-contact-card--phone b { margin-top:17px; color:var(--cp3-aqua); font-size:0.88rem; }
.cp3-contact-card--location { display:flex; flex-direction:column; padding:16px 16px 20px; }
.cp3-contact-card__image { height:145px; margin-bottom:18px; overflow:hidden; border-radius:21px 21px 21px 7px; background:var(--cp3-ice); }
.cp3-contact-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.cp3-contact-card--location:hover .cp3-contact-card__image img { transform:scale(1.045); }
.cp3-contact-card--location > small { color:var(--cp3-orange); font-size:0.84rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cp3-contact-card--location > strong { margin-top:5px; color:var(--cp3-ink); font-family:"Sora",sans-serif; font-size:1rem; }
.cp3-contact-card--location > p { margin:4px 0 15px; color:var(--cp3-muted); font-size:0.9rem; }
.cp3-contact-card--location > div:last-child { display:flex; align-items:center; gap:9px; margin-top:auto; }
.cp3-contact-card--location button,
.cp3-contact-card--location a { display:inline-flex; align-items:center; justify-content:center; min-height:37px; padding:0 12px; border-radius:12px; font-size:0.86rem; font-weight:800; }
.cp3-contact-card--location button { border:0; background:var(--cp3-ink); color:#fff; cursor:pointer; }
.cp3-contact-card--location a { border:1px solid rgba(16,42,51,.12); color:var(--cp3-ink); }

/* PROCESS */
.cp3-process { position:relative; overflow:hidden; padding:112px 0; background:linear-gradient(145deg,#061820,#0a2e38); color:#fff; }
.cp3-process__grid { position:absolute; inset:0; opacity:.16; background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px); background-size:70px 70px; mask-image:radial-gradient(circle at center,#000,transparent 82%); }
.cp3-process__layout { position:relative; display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(55px,8vw,120px); align-items:center; }
.cp3-process__copy h2 { max-width:560px; margin:0; font-family:"Sora",sans-serif; font-size:clamp(2.45rem,4.5vw,4.75rem); line-height:1; letter-spacing:-.06em; }
.cp3-process__copy p { max-width:520px; margin:22px 0 28px; color:rgba(255,255,255,.66); font-size:1.02rem; line-height:1.75; }
.cp3-process__steps { position:relative; }
.cp3-process__steps::before { content:""; position:absolute; left:28px; top:28px; bottom:28px; width:2px; background:linear-gradient(var(--cp3-orange),var(--cp3-aqua)); opacity:.52; }
.cp3-process__steps article { position:relative; display:grid; grid-template-columns:58px 1fr; gap:18px; align-items:start; padding:20px 22px; border:1px solid rgba(255,255,255,.12); border-radius:23px 23px 23px 8px; background:rgba(255,255,255,.06); backdrop-filter:blur(12px); }
.cp3-process__steps article + article { margin-top:13px; }
.cp3-process__steps article > span { position:relative; z-index:1; display:grid; width:42px; height:42px; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:14px; background:var(--cp3-night); color:var(--cp3-aqua); font-size:0.88rem; font-weight:900; }
.cp3-process__steps article.is-active > span { border-color:var(--cp3-orange); background:var(--cp3-orange); color:#fff; box-shadow:0 0 0 8px rgba(255,101,52,.1); }
.cp3-process__steps small { color:var(--cp3-aqua); font-size:0.84rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.cp3-process__steps strong { display:block; margin-top:4px; font-family:"Sora",sans-serif; font-size:1.02rem; }
.cp3-process__steps p { margin:6px 0 0; color:rgba(255,255,255,.58); font-size:0.88rem; line-height:1.5; }

/* FAQ */
.cp3-faq { padding: 82px 0 108px; }
.cp3-faq__layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:clamp(55px,8vw,120px); align-items:start; }
.cp3-faq__copy { position:sticky; top:145px; }
.cp3-faq__copy h2 { max-width:460px; margin:0; color:var(--cp3-ink); font-family:"Sora",sans-serif; font-size:clamp(2.2rem,3.7vw,4rem); line-height:1.04; letter-spacing:-.055em; }
.cp3-faq__copy > p:last-child { max-width:390px; margin:18px 0 0; color:var(--cp3-muted); font-size:0.99rem; line-height:1.7; }
.cp3-accordion .accordion__item { border-color:rgba(16,42,51,.1); background:rgba(255,255,255,.65); }

.cp3-toast { position:fixed; right:24px; bottom:24px; z-index:120; max-width:340px; padding:12px 15px; border:1px solid rgba(255,255,255,.28); border-radius:16px 16px 16px 6px; background:rgba(7,28,36,.92); box-shadow:0 22px 54px rgba(0,0,0,.24); color:#fff; font-size:0.88rem; font-weight:700; backdrop-filter:blur(14px); }
.cp3-toast[hidden] { display:none; }

@media (max-width: 1180px) {
  .cp3-hero__layout { grid-template-columns: minmax(0, 1fr) minmax(430px, .92fr); gap: 44px; }
  .cp3-hero__story h1 { font-size: clamp(3.15rem, 5.25vw, 5rem); }
  .cp3-intent-switcher { grid-template-columns: 1fr 1fr; }
  .cp3-intent-switcher button { min-height: 67px; }
  .cp3-contact-stage { min-height: 455px; }
  .cp3-contact-cards { grid-template-columns: .8fr 1fr 1fr; }
}

@media (max-width: 980px) {
  .cp3-hero { padding-top: 178px; padding-bottom: 82px; }
  .cp3-form-guide { display:none; }
  .cp3-hero__layout { grid-template-columns: 1fr; gap: 30px; }
  .cp3-hero__story h1 { max-width: 780px; font-size: clamp(3.25rem, 8vw, 5.5rem); }
  .cp3-hero__lede { max-width: 760px; }
  .cp3-intent-switcher { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .cp3-form-shell { max-width: 760px; }
  .cp3-contact-cards { grid-template-columns: 1fr 1fr; }
  .cp3-contact-card--phone { grid-column: 1 / -1; min-height: 245px; }
  .cp3-process__layout,
  .cp3-faq__layout { grid-template-columns: 1fr; gap: 48px; }
  .cp3-faq__copy { position:static; }
}

@media (max-width: 720px) {
  .cp3-hero { margin-top:-82px; padding:150px 0 72px; min-height:auto; }
  .cp3-hero::after { display:none; }
  .cp3-hero .breadcrumb { margin-bottom:25px; }
  .cp3-hero__story h1 { font-size:clamp(2.65rem,13vw,4.3rem); line-height:1.01; letter-spacing:-.06em; }
  .cp3-hero__story h1 em { display:inline; }
  .cp3-hero__lede { margin-top:20px; font-size:1.02rem; line-height:1.65; }
  .cp3-intent-switcher { grid-template-columns:1fr 1fr; gap:8px; margin-top:26px; }
  .cp3-intent-switcher button { min-height:66px; padding:12px; border-radius:17px 17px 17px 6px; }
  .cp3-form-guide { display:none; }
  .cp3-form-guide__call { grid-column:auto; }
  .cp3-form-guide__item,
  .cp3-form-guide__call { padding:13px 14px; border-radius:17px 17px 17px 6px; }
  .cp3-contact-stage,
  .cp3-direct-row { display:none; }
  .cp3-contact-stage { min-height:485px; border-radius:26px 26px 26px 9px; }
  .cp3-contact-stage__caption { left:18px; bottom:18px; max-width:245px; }
  .cp3-signal { top:14px; right:14px; width:calc(100% - 28px); padding:16px; }
  .cp3-signal__copy p { font-size:0.88rem; }
  .cp3-direct-row { grid-template-columns:1fr; }
  .cp3-form { padding:23px 18px; border-radius:27px 27px 27px 9px; }
  .cp3-form__header h2 { font-size:1.7rem; }
  .cp3-form__snapshot { align-items:flex-start; flex-direction:column; }
  .cp3-form__snapshot-tags { justify-content:flex-start; }
  .cp3-form__grid,
  .cp3-form__optional-grid { grid-template-columns:1fr; }
  .cp3-form .field--full { grid-column:auto; }
  .cp3-question-builder__head { flex-direction:column; }
  .cp3-section-head { align-items:flex-start; flex-direction:column; gap:16px; }
  .cp3-section-head h2 { font-size:clamp(2.25rem,11vw,3.5rem); }
  .cp3-contact-cards { grid-template-columns:1fr; }
  .cp3-contact-card--phone { grid-column:auto; min-height:285px; }
  .cp3-contact-card { min-height:285px; }
  .cp3-process { padding:88px 0; }
  .cp3-process__copy h2 { font-size:clamp(2.4rem,11vw,3.8rem); }
  .cp3-process__steps article { grid-template-columns:48px 1fr; padding:17px 15px; }
  .cp3-process__steps::before { left:23px; }
  .cp3-faq { padding-bottom:100px; }
  .cp3-faq__copy h2 { font-size:clamp(2.2rem,10vw,3.4rem); }
  .cp3-toast { left:14px; right:14px; bottom:88px; max-width:none; }
  .mobile-cta { transition: transform .28s ease, opacity .28s ease; }
  .mobile-cta.is-form-visible { transform: translateY(calc(100% + 24px)); opacity:0; pointer-events:none; }
}

@media (max-width: 420px) {
  .cp3-hero { padding-top:142px; }
  .cp3-hero__story h1 { font-size:2.55rem; }
  .cp3-intent-switcher button strong { font-size:0.9rem; }
  .cp3-contact-stage { min-height:515px; }
  .cp3-contact-stage__caption { max-width:210px; }
  .cp3-contact-stage__caption strong { font-size:1rem; }
  .cp3-signal__nodes { font-size:.82rem; }
  .cp3-direct-row strong { font-size:0.9rem; }
  .cp3-form { padding:21px 15px; }
  .cp3-form__header { gap:10px; }
  .cp3-form__pulse { flex-basis:42px; width:42px; height:42px; }
  .cp3-form__pulse i:nth-child(3) { width:42px; height:42px; }
  .cp3-question-chips button { flex:1 1 calc(50% - 7px); }
  .cp3-form__status { align-items:flex-start; flex-direction:column; }
  .cp3-form__meter { width:100%; }
  .cp3-contact-card--location > div:last-child { align-items:stretch; flex-direction:column; }
  .cp3-contact-card--location button,
  .cp3-contact-card--location a { width:100%; }
}

@media (prefers-reduced-motion: reduce) {
  .cp3-form__pulse i { animation:none!important; transition:none!important; }
  .cp3-intent-switcher button,
  .cp3-contact-card,
  .cp3-question-chips button { transition:none!important; }
}

/* Form-first mobile/tablet refinement: keep the contact form immediately after the concise intro. */
@media (max-width: 980px) {
  .cp3-hero__layout { gap: 30px; }
  .cp3-intent-switcher { margin-bottom: 0; }
  .cp3-form-shell { max-width: none; }
}
