/* =========================================================
   JR CONTACT PAGE 1.1.0 — HOME DESIGN SYSTEM
   ========================================================= */

.jr-contact-page-active .entry-title,
.jr-contact-page-active .et_post_meta_wrapper { display:none!important; }

.jr-contact-page,
.jr-contact-page * { box-sizing:border-box; }

.jr-contact-page {
  --jr-blue:#1664d6;
  --jr-black:#07090c;
  --jr-cream:#f3f0eb;
  --jr-white:#fff;
  --jr-copy:rgba(7,9,12,.70);
  --jr-muted:rgba(7,9,12,.48);
  --jr-line:rgba(7,9,12,.13);
  --jr-line-dark:rgba(255,255,255,.12);
  --jr-dark-copy:rgba(255,255,255,.68);
  --jr-max:1380px;

  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  overflow:hidden;
  background:var(--jr-cream);
  color:var(--jr-black);
  font-family:"Raleway",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
}

.jr-contact-page a { color:inherit; text-decoration:none; }
.jr-contact-page button,
.jr-contact-page input,
.jr-contact-page select,
.jr-contact-page textarea { font-family:"Raleway",Arial,sans-serif!important; }

.jr-contact-page__shell,
.jr-contact-page__hero-shell {
  width:min(calc(100% - 76px),var(--jr-max));
  margin:0 auto;
}

/* HERO */
.jr-contact-page__hero {
  position:relative;
  min-height:100svh;
  padding:clamp(128px,10vw,170px) 0 clamp(86px,8vw,128px);
  background:var(--jr-cream);
  border-bottom:1px solid var(--jr-line);
  isolation:isolate;
}

.jr-contact-page__hero-bg,
.jr-contact-page__hero-grid { position:absolute; inset:0; pointer-events:none; }

.jr-contact-page__hero-bg {
  z-index:-3;
  background:
    radial-gradient(circle at 83% 24%, rgba(22,100,214,.11), transparent 27%),
    linear-gradient(135deg,#f3f0eb 0%,#f6f3ee 58%,#efede8 100%);
}

.jr-contact-page__hero-grid {
  z-index:-2;
  opacity:.55;
  background-image:
    linear-gradient(rgba(7,9,12,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(7,9,12,.035) 1px,transparent 1px);
  background-size:78px 78px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 86%);
}

.jr-contact-page__hero::after {
  content:"";
  position:absolute;
  z-index:-1;
  right:-14vw;
  bottom:-23vw;
  width:clamp(480px,55vw,980px);
  aspect-ratio:1;
  border-radius:50%;
  background:var(--jr-blue);
}

.jr-contact-page__hero-shell {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(430px,.95fr);
  gap:clamp(56px,8vw,132px);
  align-items:center;
}

.jr-contact-page__breadcrumb {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:52px;
  color:var(--jr-muted);
  font-size:8px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.jr-contact-page__breadcrumb a:hover { color:var(--jr-blue); }

.jr-contact-page__eyebrow,
.jr-contact-page__section-heading>div>p,
.jr-contact-page__form-intro>p {
  margin:0!important;
  color:var(--jr-blue)!important;
  font-size:10px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.19em!important;
  text-transform:uppercase;
}

.jr-contact-page .jr-contact-page__hero h1 {
  max-width:790px;
  margin:24px 0 0!important;
  color:var(--jr-black)!important;
  font-size:clamp(74px,8vw,146px)!important;
  font-weight:900!important;
  line-height:.79!important;
  letter-spacing:-.082em!important;
  text-wrap:balance;
}

.jr-contact-page .jr-contact-page__hero h1::after {
  content:"";
  display:block;
  width:clamp(90px,10vw,165px);
  height:12px;
  margin-top:34px;
  background:var(--jr-blue);
}

.jr-contact-page__hero-description {
  max-width:650px;
  margin:36px 0 0!important;
  color:var(--jr-copy)!important;
  font-size:clamp(15px,1.12vw,18px)!important;
  font-weight:500!important;
  line-height:1.68!important;
}

.jr-contact-page__hero-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin-top:34px;
  padding:0 26px;
  min-height:50px;
  border-radius:999px;
  background:var(--jr-blue);
  color:#fff!important;
  font-size:9px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform 240ms cubic-bezier(.22,1,.36,1),box-shadow 240ms ease;
}
.jr-contact-page__hero-link:hover { transform:translateY(-3px); box-shadow:0 18px 36px rgba(22,100,214,.2); }

.jr-contact-page__hero-media {
  position:relative;
  min-height:690px;
}

.jr-contact-page__hero-main {
  position:absolute;
  inset:0 8% 0 0;
  margin:0;
  overflow:hidden;
  background:#dfe4e7;
  box-shadow:0 34px 80px rgba(7,9,12,.12);
}

.jr-contact-page__hero-main img {
  display:block;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center 30%!important;
  filter:saturate(.92) contrast(1.02);
}

.jr-contact-page__hero-detail {
  position:absolute;
  z-index:4;
  right:-1%;
  bottom:9%;
  width:34%;
  aspect-ratio:1;
  margin:0;
  overflow:hidden;
  border:8px solid var(--jr-cream);
  border-radius:50%;
  background:#fff;
  box-shadow:0 24px 60px rgba(7,9,12,.16);
}

.jr-contact-page__hero-detail img {
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center 42%!important;
}

.jr-contact-page__hero-note {
  position:absolute;
  z-index:5;
  left:-8%;
  bottom:5%;
  width:min(300px,65%);
  padding:22px 24px;
  background:var(--jr-black);
  color:#fff;
  box-shadow:0 22px 48px rgba(7,9,12,.18);
}
.jr-contact-page__hero-note span,
.jr-contact-page__hero-note small { display:block; color:rgba(255,255,255,.56); font-size:7px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.jr-contact-page__hero-note strong { display:block; margin:10px 0; font-size:22px; font-weight:800; line-height:1; letter-spacing:-.035em; }

/* ROUTES — dark editorial block */
.jr-contact-page__routes {
  position:relative;
  padding:clamp(110px,10vw,175px) 0;
  background:var(--jr-black);
  color:#fff;
  overflow:hidden;
}
.jr-contact-page__routes::before {
  content:"";
  position:absolute;
  right:-18vw;
  top:-25vw;
  width:55vw;
  aspect-ratio:1;
  border-radius:50%;
  background:var(--jr-blue);
  opacity:.1;
}

.jr-contact-page__section-heading {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:.32fr 1fr;
  gap:clamp(30px,6vw,100px);
  align-items:end;
  margin-bottom:72px;
}
.jr-contact-page__routes .jr-contact-page__section-heading>div>p { color:#74a8ff!important; }
.jr-contact-page .jr-contact-page__section-heading h2,
.jr-contact-page .jr-contact-page__form-intro h2 {
  margin:20px 0 0!important;
  padding:0!important;
  color:inherit!important;
  font-size:clamp(54px,6.5vw,112px)!important;
  font-weight:900!important;
  line-height:.82!important;
  letter-spacing:-.075em!important;
}
.jr-contact-page__section-heading>p {
  max-width:570px;
  margin:0!important;
  color:var(--jr-dark-copy)!important;
  font-size:15px!important;
  font-weight:500!important;
  line-height:1.7!important;
}

.jr-contact-page__route-grid {
  position:relative;
  z-index:1;
  display:block;
  border-top:1px solid var(--jr-line-dark);
}

.jr-contact-page__route-grid button {
  position:relative;
  width:100%;
  min-height:150px;
  display:grid;
  grid-template-columns:80px minmax(220px,.7fr) 1fr 38px;
  gap:32px;
  align-items:center;
  padding:26px 0;
  border:0;
  border-bottom:1px solid var(--jr-line-dark);
  background:transparent;
  color:#fff;
  cursor:pointer;
  text-align:left;
  transition:padding 280ms cubic-bezier(.22,1,.36,1),background 220ms ease;
}
.jr-contact-page__route-grid button::after { content:"↗"; grid-column:4; font-size:26px; color:var(--jr-blue); transition:transform 260ms cubic-bezier(.22,1,.36,1); }
.jr-contact-page__route-grid button:hover,
.jr-contact-page__route-grid button:focus-visible { padding-left:24px; padding-right:24px; background:var(--jr-blue); outline:none; }
.jr-contact-page__route-grid button:hover::after,
.jr-contact-page__route-grid button:focus-visible::after { color:#fff; transform:translate(5px,-5px); }
.jr-contact-page__route-grid button>span { color:#74a8ff; font-size:9px; font-weight:800; letter-spacing:.14em; }
.jr-contact-page__route-grid button:hover>span { color:#fff; }
.jr-contact-page__route-grid strong { font-size:clamp(27px,2.8vw,44px); font-weight:800; line-height:.95; letter-spacing:-.05em; }
.jr-contact-page__route-grid small { max-width:540px; color:rgba(255,255,255,.58); font-size:13px; font-weight:500; line-height:1.55; }
.jr-contact-page__route-grid button:hover small { color:rgba(255,255,255,.84); }

/* FORM */
.jr-contact-page__form-section {
  scroll-margin-top:28px;
  padding:clamp(115px,10vw,180px) 0;
  background:var(--jr-cream);
  color:var(--jr-black);
  border-bottom:1px solid var(--jr-line);
}

.jr-contact-page__form-layout {
  display:grid;
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);
  gap:clamp(60px,9vw,145px);
  align-items:start;
}

.jr-contact-page__form-intro { position:sticky; top:100px; }
.jr-contact-page__form-intro>div { max-width:520px; margin-top:30px; color:var(--jr-copy); font-size:15px; line-height:1.72; }
.jr-contact-page__form-intro figure {
  position:relative;
  margin:48px 0 0;
  width:min(100%,470px);
  aspect-ratio:1.1/1;
  overflow:hidden;
  background:#ddd;
}
.jr-contact-page__form-intro figure::after { content:""; position:absolute; right:-20%; bottom:-30%; width:55%; aspect-ratio:1; border-radius:50%; background:var(--jr-blue); mix-blend-mode:multiply; opacity:.7; }
.jr-contact-page__form-intro figure img { display:block; width:100%!important; height:100%!important; object-fit:cover!important; object-position:center 32%!important; filter:grayscale(1) contrast(1.08); }
.jr-contact-page__form-intro ul { margin:34px 0 0!important; padding:0!important; list-style:none!important; border-top:1px solid var(--jr-line); }
.jr-contact-page__form-intro li { display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--jr-line); color:var(--jr-copy); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.jr-contact-page__form-intro li::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--jr-blue); }

.jr-contact-page__form-card {
  padding:clamp(34px,4vw,58px);
  background:#fff;
  border:1px solid var(--jr-line);
  box-shadow:0 34px 70px rgba(7,9,12,.07);
}
.jr-contact-page__form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; }
.jr-contact-page__field { min-width:0; }
.jr-contact-page__field--full,
.jr-contact-page__consent,
.jr-contact-page__feedback,
.jr-contact-page__submit { grid-column:1/-1; }

.jr-contact-page__field label { display:block; margin-bottom:10px; color:var(--jr-black); font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.jr-contact-page__field input,
.jr-contact-page__field select,
.jr-contact-page__field textarea {
  width:100%;
  border:0;
  border-bottom:1px solid rgba(7,9,12,.28);
  border-radius:0;
  background:transparent;
  color:var(--jr-black);
  padding:13px 2px 15px;
  font-size:15px;
  font-weight:500;
  line-height:1.4;
  outline:none;
  transition:border-color 180ms ease,box-shadow 180ms ease;
}
.jr-contact-page__field textarea { min-height:170px; resize:vertical; }
.jr-contact-page__field select { appearance:none; background-image:linear-gradient(45deg,transparent 50%,#07090c 50%),linear-gradient(135deg,#07090c 50%,transparent 50%); background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; padding-right:28px; }
.jr-contact-page__field input:focus,
.jr-contact-page__field select:focus,
.jr-contact-page__field textarea:focus { border-color:var(--jr-blue); box-shadow:0 1px 0 var(--jr-blue); }
.jr-contact-page__field input::placeholder,
.jr-contact-page__field textarea::placeholder { color:rgba(7,9,12,.36); }
.jr-contact-page__field small { display:block; margin-top:7px; color:var(--jr-muted); font-size:8px; text-align:right; }

.jr-contact-page__consent { display:grid; grid-template-columns:18px 1fr; gap:12px; align-items:start; color:var(--jr-copy); font-size:11px; line-height:1.55; cursor:pointer; }
.jr-contact-page__consent input { margin-top:2px; accent-color:var(--jr-blue); }
.jr-contact-page__consent a { color:var(--jr-blue); font-weight:700; text-decoration:underline; text-underline-offset:2px; }

.jr-contact-page__feedback { min-height:18px; margin:0!important; font-size:12px!important; line-height:1.5!important; }
.jr-contact-page__feedback.is-error { color:#b32727!important; }
.jr-contact-page__feedback.is-success { color:#167548!important; }

.jr-contact-page__submit {
  min-height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 26px;
  border:0;
  background:var(--jr-blue);
  color:#fff;
  cursor:pointer;
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:transform 260ms cubic-bezier(.22,1,.36,1),box-shadow 220ms ease;
}
.jr-contact-page__submit b { font-size:22px; font-weight:400; transition:transform 260ms cubic-bezier(.22,1,.36,1); }
.jr-contact-page__submit:hover { transform:translateY(-3px); box-shadow:0 18px 34px rgba(22,100,214,.2); }
.jr-contact-page__submit:hover b { transform:translate(5px,-5px); }
.jr-contact-page__submit.is-loading { opacity:.68; pointer-events:none; }
.jr-contact-page__honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }

/* AFTER / PROCESS */
.jr-contact-page__after {
  position:relative;
  padding:clamp(110px,10vw,175px) 0 clamp(90px,8vw,130px);
  background:var(--jr-blue);
  color:#fff;
  overflow:hidden;
}
.jr-contact-page__after::before { content:""; position:absolute; width:54vw; aspect-ratio:1; border-radius:50%; right:-24vw; bottom:-32vw; border:1px solid rgba(255,255,255,.25); box-shadow:0 0 0 9vw rgba(255,255,255,.025),0 0 0 18vw rgba(255,255,255,.02); }
.jr-contact-page__after .jr-contact-page__section-heading>div>p { color:rgba(255,255,255,.68)!important; }
.jr-contact-page__after .jr-contact-page__section-heading>p { color:rgba(255,255,255,.72)!important; }

.jr-contact-page__steps { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0!important; padding:0!important; list-style:none!important; border-top:1px solid rgba(255,255,255,.28); }
.jr-contact-page__steps li { min-height:300px; padding:34px 34px 36px 0; border-right:1px solid rgba(255,255,255,.22); }
.jr-contact-page__steps li+li { padding-left:34px; }
.jr-contact-page__steps li:last-child { border-right:0; }
.jr-contact-page__steps span { color:rgba(255,255,255,.62); font-size:9px; font-weight:800; letter-spacing:.16em; }
.jr-contact-page__steps strong { display:block; margin-top:70px; color:#fff; font-size:clamp(34px,3.4vw,54px); font-weight:800; line-height:.9; letter-spacing:-.055em; }
.jr-contact-page__steps p { max-width:330px; margin:22px 0 0!important; color:rgba(255,255,255,.72)!important; font-size:13px!important; line-height:1.62!important; }

.jr-contact-page__related { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:32px; margin-top:58px; }
.jr-contact-page__related a { padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.58); color:#fff; font-size:9px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

/* REVEALS */
[data-jr-contact-reveal] { opacity:0; transform:translate3d(0,30px,0); transition:opacity 700ms cubic-bezier(.22,1,.36,1),transform 850ms cubic-bezier(.22,1,.36,1); }
[data-jr-contact-reveal].is-visible { opacity:1; transform:none; }

@media (max-width:1100px) {
  .jr-contact-page__hero-shell,
  .jr-contact-page__form-layout { grid-template-columns:1fr; }
  .jr-contact-page__hero-media { width:min(100%,760px); min-height:680px; }
  .jr-contact-page__hero::after { right:-28vw; bottom:-20vw; }
  .jr-contact-page__section-heading { grid-template-columns:1fr; gap:28px; }
  .jr-contact-page__section-heading>p { max-width:680px; }
  .jr-contact-page__form-intro { position:relative; top:auto; }
  .jr-contact-page__form-intro figure { width:min(100%,650px); aspect-ratio:1.4/1; }
  .jr-contact-page__route-grid button { grid-template-columns:56px minmax(220px,.8fr) 1fr 32px; }
}

@media (max-width:760px) {
  .jr-contact-page__shell,
  .jr-contact-page__hero-shell { width:calc(100% - 30px); }
  .jr-contact-page__hero { min-height:auto; padding:112px 0 78px; }
  .jr-contact-page__hero-grid { background-size:48px 48px; }
  .jr-contact-page__breadcrumb { margin-bottom:36px; }
  .jr-contact-page .jr-contact-page__hero h1 { font-size:clamp(62px,19vw,92px)!important; }
  .jr-contact-page .jr-contact-page__hero h1::after { height:8px; margin-top:24px; }
  .jr-contact-page__hero-description { font-size:14px!important; }
  .jr-contact-page__hero-media { min-height:510px; margin-top:12px; }
  .jr-contact-page__hero-main { inset:0 3% 0 0; }
  .jr-contact-page__hero-detail { width:38%; border-width:5px; right:-1%; bottom:10%; }
  .jr-contact-page__hero-note { left:0; bottom:0; width:min(270px,75%); padding:18px; }

  .jr-contact-page__routes,
  .jr-contact-page__form-section,
  .jr-contact-page__after { padding:92px 0; }
  .jr-contact-page .jr-contact-page__section-heading h2,
  .jr-contact-page .jr-contact-page__form-intro h2 { font-size:clamp(52px,16vw,78px)!important; }
  .jr-contact-page__section-heading { margin-bottom:52px; }

  .jr-contact-page__route-grid button { min-height:0; grid-template-columns:34px 1fr 26px; gap:15px; padding:24px 0; }
  .jr-contact-page__route-grid button strong { grid-column:2; font-size:28px; }
  .jr-contact-page__route-grid button small { grid-column:2; margin-top:-8px; font-size:12px; }
  .jr-contact-page__route-grid button::after { grid-column:3; grid-row:1/3; }
  .jr-contact-page__route-grid button:hover,
  .jr-contact-page__route-grid button:focus-visible { padding-left:14px; padding-right:14px; }

  .jr-contact-page__form-card { padding:28px 18px; }
  .jr-contact-page__form { grid-template-columns:1fr; gap:25px; }
  .jr-contact-page__field,
  .jr-contact-page__field--full,
  .jr-contact-page__consent,
  .jr-contact-page__feedback,
  .jr-contact-page__submit { grid-column:1; }
  .jr-contact-page__form-intro figure { aspect-ratio:4/4.6; }

  .jr-contact-page__steps { grid-template-columns:1fr; }
  .jr-contact-page__steps li,
  .jr-contact-page__steps li+li { min-height:0; padding:26px 0 32px; border-right:0; border-bottom:1px solid rgba(255,255,255,.22); }
  .jr-contact-page__steps li:last-child { border-bottom:0; }
  .jr-contact-page__steps strong { margin-top:34px; }
  .jr-contact-page__related { flex-direction:column; align-items:flex-start; }
}

@media (prefers-reduced-motion:reduce) {
  .jr-contact-page *,
  .jr-contact-page *::before,
  .jr-contact-page *::after { animation:none!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }
  [data-jr-contact-reveal] { opacity:1!important; transform:none!important; }
}
