/* Contact form styles are scoped to preserve the mortgage industry template. */
.mortgage-conversation{--ink: #1d1d1f;--ink-soft: #424245;--paper: #ffffff;--canvas: #f5f5f7;--muted: #6e6e73;--blue: #0071e3;--blue-hover: #0077ed;--line: rgba(29, 29, 31, .14);--shadow: 0 18px 60px rgba(0, 0, 0, .09);--sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Helvetica, Arial, sans-serif;--shell: min(1440px, calc(100vw - 88px) )}
.mortgage-conversation .button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:0 23px;border:0;border-radius:999px;background:var(--blue);color:#fff;font-size:.9rem;font-weight:500;transition:background .18s ease,transform .18s ease}
.mortgage-conversation .button:hover{background:var(--blue-hover);transform:translateY(-1px)}
.mortgage-conversation .button-light{background:#fff;color:var(--ink)}
.mortgage-conversation .button-light:hover{background:#f5f5f7;color:var(--ink)}
.mortgage-conversation .button-small{min-height:38px;padding-inline:18px;font-size:.78rem}
.mortgage-conversation .site-nav>a:not(.button){color:#1d1d1fc7;font-size:.74rem;transition:color .18s ease}
.mortgage-conversation .world-panel .button{align-self:flex-start;margin-top:20px}
.mortgage-conversation .contact-form{padding:44px;border-radius:30px;background:#fff}
.mortgage-conversation .contact-form>label{display:block;margin-bottom:32px}
.mortgage-conversation .contact-form label>span, .mortgage-conversation .contact-form legend{display:block;margin-bottom:8px;color:var(--muted);font-size:.75rem;font-weight:600}
.mortgage-conversation .contact-form input:not([type=radio]), .mortgage-conversation .contact-form textarea{width:100%;padding:11px 0 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font-size:clamp(1.25rem,2vw,1.8rem);resize:vertical}
.mortgage-conversation .contact-form input::placeholder, .mortgage-conversation .contact-form textarea::placeholder{color:#a1a1a6}
.mortgage-conversation .contact-form fieldset{margin:0 0 34px;padding:0;border:0}
.mortgage-conversation .choice{display:inline-flex;align-items:center;gap:9px;margin-right:24px;cursor:pointer}
.mortgage-conversation .choice span{margin:0!important;color:var(--ink)!important}
.mortgage-conversation .choice input{accent-color:var(--blue)}
.mortgage-conversation .form-note{max-width:560px;margin-bottom:28px;color:var(--muted);font-size:.72rem}
.mortgage-conversation .honeypot{position:absolute;left:-9999px}
.mortgage-conversation .utility-page .button{align-self:flex-start}
.mortgage-conversation .contact-form [data-world]>label{display:block;margin-bottom:32px}
.mortgage-conversation .contact-form select{width:100%;padding:11px 0 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--ink);font:inherit;font-size:clamp(1.15rem,1.7vw,1.55rem)}
.mortgage-conversation .contact-form [data-world]>.button{margin-bottom:32px}
.mortgage-conversation .contact-form [hidden]{display:none}
.mortgage-conversation{
  --review-ink: #151515;
  --review-paper: #fffdf8;
  --review-wash: #f0eee8;
  --review-orange: #e6531d;
  --review-line: rgba(21, 21, 21, .14);
}
.mortgage-conversation .contact-form[data-guided="true"]{
  position: relative;
  overflow: hidden;
  width: min(100%, 900px);
  min-width: 0;
  min-height: 680px;
  margin-inline: auto;
  padding: clamp(28px, 4vw, 58px);
  border: 1px solid rgba(21, 21, 21, .08);
  border-radius: 34px;
  background: var(--review-paper);
  box-shadow: 0 32px 90px rgba(37, 34, 27, .11);
}
.mortgage-conversation .contact-form[data-guided="true"]:before{
  content: "";
  position: absolute;
  top: -120px;
  right: -100px;
  width: 290px;
  height: 290px;
  border: 1px solid rgba(230, 83, 29, .14);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(230, 83, 29, .035), 0 0 0 76px rgba(230, 83, 29, .025);
  pointer-events: none;
}
.mortgage-conversation .review-progress{
  position: relative;
  z-index: 2;
  margin-bottom: clamp(44px, 7vw, 76px);
}
.mortgage-conversation .review-progress>div{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: .66rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.mortgage-conversation .review-progress i{
  display: block;
  overflow: hidden;
  height: 3px;
  border-radius: 99px;
  background: rgba(21, 21, 21, .1);
}
.mortgage-conversation .review-progress b{
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: var(--review-orange);
  transform: scaleX(.1);
  transform-origin: left;
  transition: transform .48s cubic-bezier(.22, 1, .36, 1);
}
.mortgage-conversation .contact-form[data-guided="true"] .guide-step{
  display: none;
}
.mortgage-conversation .contact-form[data-guided="true"] .guide-step.is-active{
  display: block;
  animation: review-enter .46s cubic-bezier(.22, 1, .36, 1) both;
}
.mortgage-conversation .contact-form[data-guided="true"] .guide-world.is-active{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.mortgage-conversation .chapter-heading{
  position: relative;
  max-width: 650px;
  margin-bottom: 42px;
}
.mortgage-conversation .chapter-heading>span{
  display: block;
  margin-bottom: 13px;
  color: var(--review-orange);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.mortgage-conversation .chapter-heading h2{
  margin: 0 0 13px;
  color: var(--review-ink);
  font-size: clamp(2.25rem, 4.2vw, 4rem);
  letter-spacing: -.055em;
  line-height: .98;
}
.mortgage-conversation .chapter-heading p{
  max-width: 520px;
  margin: 0;
  color: var(--muted);
  font-size: .96rem;
}
.mortgage-conversation .contact-form[data-guided="true"] .guide-world>legend{
  grid-column: 1 / -1;
  max-width: 600px;
  margin-bottom: 34px;
  color: var(--review-ink);
  font-size: clamp(2.25rem, 4.2vw, 4rem);
  font-weight: 650;
  letter-spacing: -.055em;
  line-height: .98;
}
.mortgage-conversation .contact-form[data-guided="true"] .guide-world>legend:before{
  content: "Choose your path";
  display: block;
  margin-bottom: 14px;
  color: var(--review-orange);
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.mortgage-conversation .guide-world .choice{
  position: relative;
  display: grid;
  min-height: 108px;
  margin: 0;
  padding: 23px 58px 21px 64px;
  border: 1px solid var(--review-line);
  border-radius: 18px;
  background: rgba(255, 255, 255, .55);
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease, transform .2s ease;
}
.mortgage-conversation .guide-world .choice:before{
  content: attr(data-number);
  position: absolute;
  top: 26px;
  left: 22px;
  color: #9a968d;
  font-size: .66rem;
  font-weight: 700;
}
.mortgage-conversation .guide-world .choice:after{
  content: "↗";
  position: absolute;
  top: 50%;
  right: 23px;
  color: #a09c94;
  font-size: 1rem;
  transform: translateY(-50%);
  transition: transform .2s ease, color .2s ease;
}
.mortgage-conversation .guide-world .choice:hover{
  border-color: rgba(21, 21, 21, .35);
  transform: translateY(-2px);
}
.mortgage-conversation .guide-world .choice:has(input:checked){
  border-color: var(--review-orange);
  background: rgba(230, 83, 29, .065);
}
.mortgage-conversation .guide-world .choice:has(input:checked):after{
  color: var(--review-orange);
  transform: translate(3px, -50%);
}
.mortgage-conversation .guide-world .choice>span{
  margin: 0 0 5px !important;
  color: var(--review-ink) !important;
  font-size: 1.07rem;
  font-weight: 700;
}
.mortgage-conversation .guide-world .choice small{
  max-width: 460px;
  color: var(--muted);
  font-size: .75rem;
  line-height: 1.35;
}
.mortgage-conversation .contact-form[data-guided="true"] .choice input[type="radio"], .mortgage-conversation .contact-form[data-guided="true"] .choice input[type="checkbox"]{
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
.mortgage-conversation .contact-form[data-guided="true"] .world-chapter>label, .mortgage-conversation .contact-form[data-guided="true"] .guide-shared>label, .mortgage-conversation .contact-form[data-guided="true"] .guide-closing>label{
  position: relative;
  display: block;
  margin-bottom: 28px;
  padding: 18px 20px 8px;
  border: 1px solid var(--review-line);
  border-radius: 16px;
  background: rgba(255, 255, 255, .55);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.mortgage-conversation .contact-form[data-guided="true"] .world-chapter>label:focus-within, .mortgage-conversation .contact-form[data-guided="true"] .guide-shared>label:focus-within, .mortgage-conversation .contact-form[data-guided="true"] .guide-closing>label:focus-within{
  border-color: var(--review-orange);
  box-shadow: 0 0 0 4px rgba(230, 83, 29, .08);
  transform: translateY(-1px);
}
.mortgage-conversation .contact-form[data-guided="true"] label>span, .mortgage-conversation .contact-form[data-guided="true"] legend{
  color: #77736c;
  font-size: .7rem;
  letter-spacing: .015em;
}
.mortgage-conversation .contact-form[data-guided="true"] input:not([type="radio"]):not([type="checkbox"]), .mortgage-conversation .contact-form[data-guided="true"] textarea, .mortgage-conversation .contact-form[data-guided="true"] select{
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 7px 0 9px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--review-ink);
  font-size: clamp(1.05rem, 1.65vw, 1.4rem);
}
.mortgage-conversation .contact-form[data-guided="true"] fieldset:not(.guide-world){
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 30px;
}
.mortgage-conversation .contact-form[data-guided="true"] fieldset:not(.guide-world)>legend{
  width: 100%;
  margin-bottom: 3px;
}
.mortgage-conversation .contact-form[data-guided="true"] fieldset:not(.guide-world) .choice{
  position: relative;
  display: block;
  margin: 0;
  padding: 12px 16px;
  border: 1px solid var(--review-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, .55);
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.mortgage-conversation .contact-form[data-guided="true"] fieldset:not(.guide-world) .choice:hover{
  border-color: rgba(21, 21, 21, .4);
  transform: translateY(-1px);
}
.mortgage-conversation .contact-form[data-guided="true"] fieldset:not(.guide-world) .choice:has(input:checked){
  border-color: var(--review-ink);
  background: var(--review-ink);
}
.mortgage-conversation .contact-form[data-guided="true"] fieldset:not(.guide-world) .choice:has(input:checked)>span{
  color: #fff !important;
}
.mortgage-conversation .contact-form[data-guided="true"] .field-needs-attention{
  border-color: #ba2f24 !important;
  animation: review-nudge .28s ease both;
}
.mortgage-conversation .guide-controls{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 42px;
  padding-top: 24px;
  border-top: 1px solid var(--review-line);
}
.mortgage-conversation .guide-controls.is-final{
  justify-content: flex-start;
}
.mortgage-conversation .guide-back, .mortgage-conversation .guide-next{
  min-height: 48px;
  padding: 0 21px;
  border: 0;
  border-radius: 999px;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
}
.mortgage-conversation .guide-back{
  background: transparent;
  color: var(--muted);
}
.mortgage-conversation .guide-next{
  margin-left: auto;
  background: var(--review-ink);
  color: #fff;
  transition: background .2s ease, transform .2s ease;
}
.mortgage-conversation .guide-next span{
  display: inline-block;
  margin-left: 12px;
  transition: transform .2s ease;
}
.mortgage-conversation .guide-next:hover{
  background: var(--review-orange);
  transform: translateY(-1px);
}
.mortgage-conversation .guide-next:hover span{
  transform: translate(2px, -2px);
}
.mortgage-conversation .guide-closing>.button[type="submit"]{
  min-height: 52px;
  background: #c9ff43;
  color: #08090a;
  border-radius: 0;
}
.mortgage-conversation .guide-closing>.button[type="submit"]:hover{
  background: #ddff86;
}
.mortgage-conversation .guide-closing .form-note{
  margin-top: 32px;
}
@keyframes review-enter {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: none; }
}
@keyframes review-nudge {
  0%, 100% { transform: translateX(0); }
  40% { transform: translateX(4px); }
  70% { transform: translateX(-3px); }
}
@keyframes review-orbit {
  0% { transform: translate3d(-3%, -2%, 0) rotate(-4deg) scale(.96); opacity: .62; }
  55% { transform: translate3d(18%, 8%, 0) rotate(5deg) scale(1.06); opacity: 1; }
  100% { transform: translate3d(32%, 26%, 0) rotate(12deg) scale(.9); opacity: .7; }
}
@keyframes review-grid-drift {
  0% { transform: translate3d(0, -3%, 0) rotate(8deg); opacity: .26; }
  100% { transform: translate3d(-18%, 12%, 0) rotate(-3deg); opacity: .56; }
}
@media (max-width: 560px) {.mortgage-conversation .contact-form[data-guided="true"]{ min-height: 620px; padding: 26px 20px; }
.mortgage-conversation .review-progress{ margin-bottom: 42px; }
.mortgage-conversation .chapter-heading{ margin-bottom: 32px; }
.mortgage-conversation .guide-world .choice{ min-height: 98px; padding: 20px 46px 18px 52px; }
.mortgage-conversation .guide-world .choice:before{ top: 23px; left: 17px; }
.mortgage-conversation .guide-world .choice:after{ right: 17px; }
.mortgage-conversation .contact-form[data-guided="true"] .guide-world.is-active{ grid-template-columns: 1fr; }
.mortgage-conversation .contact-form[data-guided="true"] fieldset:not(.guide-world) .choice{ width: 100%; border-radius: 14px; }}
@media (prefers-reduced-motion: reduce) {.mortgage-conversation .contact-form[data-guided="true"] .guide-step.is-active{ animation: none; }
.mortgage-conversation .review-progress b, .mortgage-conversation .guide-world .choice, .mortgage-conversation .guide-next{ transition: none; }}
.mortgage-conversation { min-width: 0; }
.mortgage-conversation .contact-form[data-guided="true"] { width: 100%; padding: clamp(22px, 3vw, 44px); }
.mortgage-conversation .chapter-heading h2 { font-size: clamp(2rem, 3vw, 3rem); }
.mortgage-conversation [hidden] { display: none !important; }
.mortgage-housing { display: inline-flex; gap: 10px; align-items: center; }
.sitewide-footer .sitewide-copyright { flex-wrap: wrap; gap: 20px; }
/* Shared agency controls retain the mortgage template's light palette. */
.home-page .button,.home-page .text-link,.home-page .client-info>a,.home-page .play-button,.home-page .video-card button,.home-page .coach-video button,.mortgage-conversation .contact-form button{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;min-height:48px;border:0;border-radius:0;background:#c9ff43;color:#08090a;font:500 10px/1.5 "DM Mono",monospace;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.home-page .button:hover,.home-page .text-link:hover,.home-page .client-info>a:hover,.mortgage-conversation .contact-form button:hover{background:#ddff86;color:#08090a}
.home-page a:focus-visible,.home-page button:focus-visible{outline:2px solid #151515;outline-offset:4px}
.home-page .kicker{font-family:"DM Mono",monospace;font-size:11px;letter-spacing:.08em}
.client-case-study{margin:0 20px 20px;align-self:flex-start}.client-grid+.text-link{margin-top:28px}
.mortgage-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.mortgage-offer,.mortgage-service{display:flex;flex-direction:column;min-width:0;padding:30px;border:1px solid #d8d8d5;background:#fff;border-radius:8px}.mortgage-offer h3,.mortgage-service h3{margin:0 0 24px;font-size:24px;letter-spacing:-.035em}.mortgage-offer .offer-price{font-size:clamp(26px,3vw,38px);font-weight:700;line-height:1.2;color:#151515;margin:0 0 22px}.mortgage-offer>p,.mortgage-service>p{font-size:15px;line-height:1.7}.mortgage-offer .button,.mortgage-service .button{margin-top:auto;align-self:flex-start}.mortgage-offer>p:last-of-type,.mortgage-service .service-price{margin-bottom:30px}.mortgage-lab-start{margin-top:32px;padding:25px;border-top:1px solid #d8d8d5}.mortgage-lab-start p{margin:0 0 10px}.mortgage-services{background:#f5f5f7}.mortgage-services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:32px}.mortgage-service .service-price{font-weight:700;color:#151515}.home-page .faq-toggle{font:normal 28px/1 "DM Mono",monospace;transition:transform .25s}.home-page .faq-item.open .faq-toggle{transform:rotate(45deg)}.faq-number{display:inline-block;width:32px;font:10px "DM Mono",monospace;color:#6e6e73}.home-page .faq-item.open .faq-answer{max-height:none}.home-page .faq-item .faq-toggle{flex:none}
.mortgage-conversation .contact-form button:after{content:"↗"}.mortgage-conversation .contact-form button svg{display:none}
@media(max-width:1000px){.mortgage-offers,.mortgage-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mortgage-offer:last-child{grid-column:1/-1}}
@media(max-width:640px){.mortgage-offers,.mortgage-services-grid{grid-template-columns:1fr}.mortgage-offer,.mortgage-service{padding:25px}.home-page .button,.home-page .text-link{white-space:normal}}
.home-page .play-button:after,.home-page .video-card button:after,.home-page .coach-video button:after{content:"↗"}.home-page .play-button,.home-page .video-card button,.home-page .coach-video button{border-radius:0}.home-page .modal-close{border-radius:0;background:#c9ff43;color:#08090a}
