.tmj{--tmj-ink:#15332f;--tmj-muted:#526b65;--tmj-gold:#d8b46a;--tmj-paper:#f7f8f5;font-family:inherit;color:var(--tmj-ink);line-height:1.55}.tmj *{box-sizing:border-box}.tmj h1,.tmj h2,.tmj h3{font-family:inherit;color:inherit;letter-spacing:-.025em;line-height:1.15;margin:0 0 .65em}.tmj h1{font-size:clamp(2.4rem,5vw,4.3rem)}.tmj h2{font-size:clamp(1.8rem,3vw,2.7rem)}.tmj h3{font-size:1.25rem}.tmj p{font-size:1rem;margin:0 0 1.25em}.tmj button,.tmj a.tmj-btn{font:inherit}.tmj-inner{max-width:1100px;margin:0 auto;padding-left:clamp(18px,4vw,42px);padding-right:clamp(18px,4vw,42px)}.tmj-home{border-radius:14px;overflow:hidden;border:1px solid #dce5de}.tmj-hero{background:linear-gradient(115deg,#102f2a,#1d4c42);color:#fff;padding:clamp(55px,7vw,115px) 0}.tmj-hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:center}.tmj-hero p{font-size:1.15rem;color:#e1eee8}.tmj-eyebrow{font-size:.73rem;letter-spacing:.14em;font-weight:750;color:var(--tmj-gold);margin-bottom:16px}.tmj-eyebrow.tmj-dark{color:#668073}.tmj-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.tmj .tmj-btn{border-radius:8px;padding:13px 18px;border:1px solid transparent;text-decoration:none!important;display:inline-flex;align-items:center;justify-content:center;min-height:48px;font-weight:700;cursor:pointer}.tmj .tmj-btn-gold{background:var(--tmj-gold);color:#183028}.tmj .tmj-btn-ghost{color:#fff;border-color:#a6c1b5;background:transparent}.tmj .tmj-btn-primary{background:#16493b;color:white}.tmj .tmj-btn-light{background:#fff;color:#16493b;border-color:#9cb4a9}.tmj-proof{font-size:.9rem;color:#e5eadf;margin-top:22px}.tmj-hero-panel{border:1px solid #73978b;background:#ffffff0b;padding:28px;border-radius:16px}.tmj-hero-panel h2{color:#fff;font-size:1.8rem}.tmj-hero-panel p{color:#e1eee8}.tmj-mini-label{letter-spacing:.13em;font-size:.7rem;color:var(--tmj-gold);margin-bottom:16px}.tmj-panel-line{border-top:1px solid #688b80;padding:10px 0}.tmj-section{padding-top:68px;padding-bottom:68px}.tmj-section-tint{background:var(--tmj-paper)}.tmj-two{display:grid;grid-template-columns:1.1fr 1fr;gap:50px}.tmj-trust{display:grid;gap:15px}.tmj-trust>div{padding:16px;border-left:3px solid var(--tmj-gold);background:#fff;display:grid}.tmj-trust strong{font-size:1.35rem}.tmj-trust span{color:var(--tmj-muted)}.tmj-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tmj-card-grid>div{border:1px solid #d8e1d9;padding:21px;border-radius:12px}.tmj-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.tmj-steps>div{border-top:2px solid #a7b8af;padding-top:16px}.tmj-steps span{color:#758e81;font-weight:800}.tmj-disclaimer{padding:15px 26px;font-size:.75rem;color:#61746a;background:#f3f4f0}.tmj-path{border-radius:16px;padding:26px;border:1px solid #d4e3db;background:white}.tmj-path h2{font-size:1.7rem}.tmj-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.tmj .tmj-choice{cursor:pointer;border:1px solid #bdcec4;border-radius:9px;padding:14px 9px;min-height:54px;background:#f6faf7;color:#17372e;font-size:.91rem;font-weight:700}.tmj .tmj-choice[aria-pressed=true]{background:#d5e8dc;border:2px solid #327455}.tmj-result{background:#f2f7f3;border-radius:12px;padding:20px;margin-top:14px}.tmj-result-label{font-size:.7rem!important;letter-spacing:.12em;color:#52735e;font-weight:800}.tmj-result h3{font-size:1.3rem}.tmj-existing{margin-top:22px;border-top:1px solid #e0e9e0;padding-top:20px}.tmj-existing h3{font-size:1.06rem}.tmj-note{font-size:.77rem!important;color:#5f7367;margin-top:12px!important}.tmj-form-host{margin-top:20px}.tmj .tmj-choice:focus-visible,.tmj .tmj-btn:focus-visible{outline:3px solid #b28734;outline-offset:3px}@media(max-width:800px){.tmj-hero-grid,.tmj-two{grid-template-columns:1fr}.tmj-card-grid,.tmj-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tmj-steps{grid-template-columns:1fr}.tmj-hero-panel{display:none}}@media(max-width:450px){.tmj-card-grid,.tmj-choice-grid{grid-template-columns:1fr}.tmj-section{padding-top:42px;padding-bottom:42px}.tmj .tmj-btn{width:100%}}

/* Private preview form: deliberately non-submitting */
.tmj-inquiry-preview{border:1px solid #d7e3d9;border-radius:12px;background:#fcfdfb;padding:20px}
.tmj-preview-warning{font-size:.84rem!important;color:#405d51;background:#edf4ee;padding:12px;border-radius:8px}
.tmj-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}
.tmj-form-fields label{font-size:.85rem;font-weight:650;display:grid;gap:6px}
.tmj-form-fields input,.tmj-form-fields select,.tmj-form-fields textarea{width:100%;min-width:0;border:1px solid #c9d6cc;border-radius:7px;padding:12px;background:#fff;color:#344c43;font:inherit;opacity:1}
.tmj-form-fields .tmj-field-wide{grid-column:1/-1}.tmj-preview-consent{font-size:.8rem!important;color:#607268}.tmj-inquiry-preview button:disabled{opacity:.6;cursor:not-allowed}
@media(max-width:600px){.tmj-form-fields{grid-template-columns:1fr}}

/* v0.1.2: Readable, accessible links to verified existing loan hubs. Private preview only. */
.tmj .tmj-hub-card{display:flex;flex-direction:column;min-height:245px}
.tmj .tmj-hub-card h3 a{color:inherit;text-decoration:none}
.tmj .tmj-hub-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.tmj .tmj-hub-links{display:flex;flex-direction:column;gap:9px;margin-top:auto;border-top:1px solid #dce5de;padding-top:14px}
.tmj .tmj-hub-links a{font-size:.88rem;font-weight:700;color:#205944;text-decoration:underline;text-underline-offset:3px;line-height:1.45}
.tmj .tmj-hub-links a:hover{color:#123c30}
.tmj .tmj-hub-links a:focus-visible,.tmj .tmj-hub-card h3 a:focus-visible{outline:3px solid #b28734;outline-offset:3px}

/* v0.1.3: Evergreen, accessible review banner language; no fixed review counts. */
.tmj .tmj-review-anchor{color:#fff;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.tmj .tmj-review-anchor-dark{color:#205944;text-decoration:underline;text-underline-offset:3px;font-weight:650}
.tmj .tmj-review-anchor:focus-visible,.tmj .tmj-review-anchor-dark:focus-visible{outline:3px solid #b28734;outline-offset:3px}

/* v0.1.4 — Match live Smart CTA field definition in this disabled, admin-only prototype. */
.tmj .tmj-inquiry-preview{border:1px solid #d3e1d7;background:#fbfdfb;border-radius:12px;padding:clamp(18px,3vw,26px)}
.tmj .tmj-form-fields{gap:18px 20px}
.tmj .tmj-form-fields label{color:#17362e;font-weight:700;gap:9px}
.tmj .tmj-form-fields input,.tmj .tmj-form-fields select,.tmj .tmj-form-fields textarea{appearance:none;-webkit-appearance:none;display:block;min-height:48px;background:#fff!important;border:2px solid #94ab9f!important;border-radius:8px!important;box-shadow:0 1px 3px rgba(18,50,38,.075);color:#17362e!important;-webkit-text-fill-color:#17362e;opacity:1!important;font-size:16px!important;line-height:1.4;padding:12px 14px!important}
.tmj .tmj-form-fields textarea{min-height:118px;resize:vertical}
.tmj .tmj-form-fields input::placeholder,.tmj .tmj-form-fields textarea::placeholder{color:#667a70!important;opacity:1}
.tmj .tmj-form-fields select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23234436' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:42px!important}
.tmj .tmj-inquiry-preview button.tmj-btn-primary:disabled{background:#1b4332!important;color:#fff!important;border:2px solid #113b2b!important;opacity:1!important;font-size:1rem;font-weight:750;padding:14px 24px;min-height:52px;cursor:not-allowed;box-shadow:0 2px 4px rgba(0,0,0,.12)}
.tmj .tmj-preview-only-label{font-size:.78em;font-weight:600;opacity:.85}
.tmj .tmj-inquiry-preview .tmj-preview-warning{background:#edf4ee;border-left:3px solid #47705b}

/* v0.1.5: functional contact selection with private demo safeguards. */
.tmj .tmj-demo-form input:focus-visible,.tmj .tmj-demo-form select:focus-visible,.tmj .tmj-demo-form textarea:focus-visible{outline:3px solid #b28734;outline-offset:2px;border-color:#256449!important}
.tmj .tmj-demo-form .tmj-btn-primary{background:#1b4332!important;color:#fff!important;border:2px solid #113b2b!important;opacity:1!important;min-height:52px;font-weight:750}
.tmj .tmj-demo-feedback{background:#edf4ee;border-left:3px solid #47705b;padding:12px;border-radius:6px;margin-top:14px!important;font-size:.9rem!important}
.tmj .tmj-demo-application{margin-top:15px!important;font-size:.88rem!important}
.tmj .tmj-demo-application a{font-weight:750;color:#1b4332;text-decoration:underline}

/* v0.1.6: conversion-first navigation and contextual, verified resources. */
.tmj-home{overflow:clip}
.tmj .tmj-quick-actions{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:10px clamp(18px,4vw,42px);background:#f7faf6;border-bottom:1px solid #cfdbd1;box-shadow:0 2px 10px rgba(22,52,39,.1)}
.tmj .tmj-quick-label{margin-right:auto;font-size:.7rem;font-weight:800;letter-spacing:.08em;color:#335e47}
.tmj .tmj-quick-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:9px 14px;border-radius:8px;font-size:.85rem;font-weight:750;text-decoration:none!important}
.tmj .tmj-quick-apply{background:#1b4332;color:white!important}
.tmj .tmj-quick-scenario{border:1px solid #789786;color:#1b4332!important;background:white}
.tmj .tmj-next-resources{margin:18px 0;border:1px solid #cadcd0;border-radius:12px;padding:22px;background:#fbfcfa}
.tmj .tmj-next-resources h3{font-size:1.25rem;margin-bottom:10px}
.tmj .tmj-next-resources p{font-size:.91rem}
.tmj .tmj-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.tmj .tmj-resource-card{border:1px solid #bdd0c3;border-radius:9px;padding:15px 12px;display:flex;justify-content:space-between;gap:8px;color:#164b3a!important;text-decoration:none!important;font-weight:700;font-size:.9rem;background:white;line-height:1.35}
.tmj .tmj-resource-card:hover{border-color:#296d51;background:#f0f6ef}
.tmj .tmj-quick-actions a:focus-visible,.tmj .tmj-resource-card:focus-visible{outline:3px solid #b28734;outline-offset:3px}
@media(max-width:640px){.tmj .tmj-quick-actions{gap:6px;padding:8px 10px}.tmj .tmj-quick-label{display:none}.tmj .tmj-quick-actions a{flex:1;padding:8px 7px;font-size:.79rem;text-align:center}.tmj .tmj-resource-grid{grid-template-columns:1fr}}

/* v0.1.7: make all hero audience choices functional and mobile-accessible. */
.tmj .tmj-panel-links{display:block;margin-top:4px}
.tmj .tmj-panel-line{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#fff!important;text-decoration:none!important;border-top:1px solid #688b80;padding:11px 0;font-weight:650;transition:color .15s ease,background-color .15s ease}
.tmj .tmj-panel-line span{color:#e2c782;font-size:1.12em}
.tmj .tmj-panel-line:hover,.tmj .tmj-panel-line:focus-visible{color:#ffe7b1!important;background:rgba(255,255,255,.07)}
.tmj .tmj-panel-line:focus-visible,.tmj .tmj-process-link:focus-visible{outline:3px solid #e0ba63;outline-offset:4px}
.tmj .tmj-process-link{color:inherit;text-decoration:underline;text-decoration-color:#b69a58;text-underline-offset:4px}
.tmj .tmj-process-link:hover{color:#265e4c}
@media(max-width:800px){.tmj .tmj-hero-panel{display:block;max-width:550px}.tmj .tmj-hero-grid{gap:22px}.tmj .tmj-hero-panel{padding:22px}}

/* v0.1.8: Theme typography and unambiguous, separated hero navigation rows.
   Scoped to the private journey preview only. */
.tmj,
.tmj :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,span) {
  font-family: inherit;
}
.tmj :is(h1,h2,h3,h4,h5,h6) { letter-spacing: normal; }
.tmj .tmj-hero-panel nav.tmj-panel-links {
  display: block !important;
  width: 100%;
  margin: 12px 0 0;
  padding: 0;
}
.tmj .tmj-hero-panel nav.tmj-panel-links > a.tmj-panel-line {
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 13px 0 !important;
  border: 0 !important;
  border-top: 1px solid #688b80 !important;
  color: #fff !important;
  background: transparent;
  font-family: inherit !important;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
  text-decoration: none !important;
  white-space: normal;
  box-shadow: none;
}
.tmj .tmj-hero-panel nav.tmj-panel-links > a.tmj-panel-line > span {
  flex: 0 0 auto;
  padding-left: 12px;
  color: #e2c782 !important;
  text-decoration: none !important;
}
.tmj .tmj-hero-panel nav.tmj-panel-links > a.tmj-panel-line:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
.tmj .tmj-hero-panel nav.tmj-panel-links > a.tmj-panel-line:focus-visible {
  outline: 2px solid #e2c782;
  outline-offset: 2px;
}

/* v0.2.1 typography pass: restore serif headings as used in educational corpus.
   Only the hero scales above the normalized corpus headings. */
.tmj, .tmj :is(p,li,a,button,input,select,textarea,label){font-family:inherit!important;font-kerning:inherit;}
.tmj :is(h1,h2,h3,h4,h5,h6){letter-spacing:normal!important;font-style:normal;}
.tmj {font-size:inherit;line-height:inherit;}
.tmj p{font-size:1rem;line-height:1.65;font-weight:400;}
.tmj h1{font-size:clamp(2rem,3.8vw,3.35rem);font-weight:700;line-height:1.2;}
.tmj h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;line-height:1.25;}
.tmj h3{font-size:1.25rem;font-weight:700;line-height:1.3;}
.tmj .tmj-hero-panel h2{font-size:clamp(1.5rem,2.3vw,1.85rem);}
.tmj .tmj-path h2{font-size:1.5rem;}
.tmj .tmj-path h3{font-size:1.25rem;}
.tmj .tmj-result h3,.tmj .tmj-next-resources h3{font-size:1.25rem;}
.tmj .tmj-eyebrow,.tmj .tmj-mini-label{font-weight:700;}
.tmj .tmj-btn,.tmj .tmj-choice{font-weight:650;}
.tmj .tmj-quick-actions{top:0;}
.tmj .tmj-hero-panel{display:block;}
.tmj .tmj-panel-links a:visited{color:#fff!important;}
.tmj .tmj-panel-links a:hover{text-decoration:none!important;}
.tmj .tmj-integration-alert{background:#fff3d8;border:2px solid #bf861e;color:#593b09;padding:14px;border-radius:8px;}
@media(max-width:800px){.tmj .tmj-hero-panel{display:block;}.tmj .tmj-hero-grid{gap:28px;}}
@media(max-width:450px){.tmj h1{font-size:2rem}.tmj h2{font-size:1.5rem}.tmj .tmj-hero-panel{padding:20px}}

/* v0.2.1 scoped heading family: avoid inheriting the sans-serif body into headings.
   The normal article headings are serif in the current site's design.
   Theme heading variables win when present, otherwise use a classic matching serif. */
.tmj :is(h1,h2,h3,h4,h5,h6),
.tmj .tmj-hero-panel :is(h1,h2,h3),
.tmj .tmj-section :is(h1,h2,h3),
.tmj .tmj-path :is(h1,h2,h3) {
  font-family: var(--wp--preset--font-family--headings, var(--wp--preset--font-family--heading, Georgia, 'Times New Roman', serif)) !important;
  letter-spacing: normal !important;
  font-synthesis: none;
}


/* v0.2.2: Keep a single heading weight in the Journey component.
   This does not change the sitewide Typography Manager or article CSS. */
.tmj :is(h1,h2,h3,h4,h5,h6) {
  font-weight: 700 !important;
  font-style: normal !important;
}
.tmj .tmj-hero-panel h2 { font-weight: 700 !important; }

/* The conspicuously different '210 Journey Design Preview' heading is the
   WordPress page title OUTSIDE the plugin markup, not the homepage H1.
   Scope this correction to admin users on a page containing the preview shortcode.
   It is absent from actual homepage output and never affects public pages. */
body.tmj-private-preview-page :is(.entry-title,.wp-block-post-title,.page-title,h1.entry-title) {
  font-family: var(--wp--preset--font-family--headings, var(--wp--preset--font-family--heading, Georgia, 'Times New Roman', serif)) !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: normal !important;
}

/* Integration only; leaves native form handler and field markup intact. */
.tmj .tmj-native-form{max-width:760px;border:1px solid #cbd5cf;border-radius:12px;padding:20px;background:#fbfcfa}
.tmj .tmj-native-form .tmc210-inquiry{border:0;padding:12px 0;background:transparent}
.tmj .tmj-native-form .tmj-show-form{display:none}
.tmj .tmj-native-form .tmc210-inquiry-submit{background:#1b4332!important;color:#fff!important;border:2px solid #103327!important;border-radius:7px!important;min-height:48px}
.tmj .tmj-rehearsal-banner{background:#eef2ec;border-left:3px solid #1b4332;padding:12px;font-size:13px}
.tmj .tmj-integration-alert{border:2px solid #a44835;padding:16px;background:#fff5f1;color:#7f2b20}

/* v0.2.9 explicit Journey-only contact validation */
.tmj .tmj-contact-error,.tmj-live-test .tmj-contact-error{display:block!important;color:#ad1d26!important;font-size:.9rem!important;font-weight:700!important;line-height:1.45!important;margin:7px 0 10px!important;}
.tmj .tmj-contact-error[hidden],.tmj-live-test .tmj-contact-error[hidden]{display:none!important;}
.tmj input[aria-invalid="true"],.tmj-live-test input[aria-invalid="true"]{border:2px solid #b4232c!important;box-shadow:0 0 0 2px rgba(180,35,44,.12)!important;}

/* v0.3.1: Homepage native scenario panel should be visible until Smart CTA confirms success. */
.tmj-home #tmj-home-review .tmj-native-form .tmc210-inquiry:not([hidden]){display:block}
