/* Texas Property Finders — site styles
   Palette: navy #0C2354 / green #2F6B4F / gold accent #E7B84B / warm paper #FAF6EF
   Type: Newsreader (serif headings) + Public Sans (body) */

:root {

  --navy:#0C2354;
  --navy-2:#0A1E45;
  --navy-3:#08183a;
  --green:#2F6B4F;
  --green-dark:#245640;
  --gold:#E7B84B;
  --paper:#FAF6EF;
  --paper-2:#F1ECE0;
  --paper-3:#F3EEE3;
  --ink:#3D3A33;
  --muted:#57534A;
  --line:#EDE6D8;
  --line-2:#E7E0D3;
  --white:#fff;
  --maxw:1200px;

}

* {
  box-sizing:border-box;

}

html {
  scroll-behavior:smooth;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;

}

body {

  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Public Sans',system-ui,-apple-system,sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;

}

h1,h2,h3 {
  font-family:'Newsreader',Georgia,serif;
  font-weight:500;
  color:var(--navy);
  margin:0;
  line-height:1.12;

}

p {
  margin:0;

}

img {
  display:block;
  max-width:100%;

}

/* Prevent long URLs and user-provided copy from widening the page. */
p,li,a,h1,h2,h3 {
  overflow-wrap:break-word;

}

a {
  color:var(--green);
  text-decoration:none;

}

a:hover {
  color:var(--green-dark);

}

.serif {
  font-family:'Newsreader',Georgia,serif;

}

.italic {
  font-style:italic;

}

/* Layout helpers */
.wrap {
  max-width:var(--maxw);
  margin:0 auto;
  padding-left:24px;
  padding-right:24px;

}

.section {
  padding:88px 0;

}

.eyebrow {
  font-size:13px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--green);
  font-weight:600;
  margin-bottom:16px;

}

.center {
  text-align:center;

}

.lead {
  font-size:19px;
  line-height:1.6;

}

/* Buttons */
.btn {
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:600;
  font-size:17px;
  padding:15px 28px;
  border-radius:10px;
  text-decoration:none;
  cursor:pointer;
  border:none;
  font-family:'Public Sans',sans-serif;
  transition:background .15s,color .15s,box-shadow .15s;

}

.btn-primary {
  background:var(--green);
  color:var(--white);
  box-shadow:0 8px 24px rgba(47,107,79,.32);

}

.btn-primary:hover {
  background:var(--green-dark);
  color:var(--white);

}

.btn-navy {
  background:var(--navy);
  color:var(--white);
  box-shadow:0 8px 20px rgba(12,35,84,.2);

}

.btn-navy:hover {
  background:var(--navy-3);
  color:var(--white);

}

.btn-ghost {
  background:rgba(255,255,255,.08);
  color:var(--white);
  border:1px solid rgba(255,255,255,.22);

}

.btn-ghost:hover {
  background:rgba(255,255,255,.16);
  color:var(--white);

}

.btn-sm {
  font-size:16px;
  padding:14px 26px;

}

/* Utility bar + header */
.utility {
  background:var(--navy-2);
  color:#C6D0E4;
  font-size:13px;

}

.utility .wrap {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  padding-top:8px;
  padding-bottom:8px;

}

.utility .status {
  display:inline-flex;
  align-items:center;
  gap:8px;

}

.dot {
  width:6px;
  height:6px;
  border-radius:50%;
  background:#4ADE80;
  box-shadow:0 0 0 3px rgba(74,222,128,.18);

}

.utility .right {
  display:inline-flex;
  align-items:center;
  gap:20px;

}

.utility .muted {
  opacity:.75;

}

.utility a {
  color:#fff;
  font-weight:600;
  letter-spacing:.02em;

}

.site-header {
  background:var(--paper);
  border-bottom:1px solid var(--line-2);
  position:sticky;
  top:0;
  z-index:40;

}

.site-header .bar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding-top:14px;
  padding-bottom:14px;

}

.brand {
  display:inline-flex;
  align-items:center;
  flex-shrink:0;

}

.brand img {
  height:52px;
  width:auto;

}

.nav-desktop {
  display:flex;
  align-items:center;
  gap:4px;

}

.nav-desktop a {
  font-size:15px;
  font-weight:500;
  color:var(--ink);
  padding:9px 14px;
  border-radius:8px;

}

.nav-desktop a:hover {
  color:var(--navy);
  background:#EFE8D9;

}

.nav-desktop a.active {
  color:var(--navy);
  font-weight:600;
  cursor:default;
  pointer-events:none;

}

.nav-desktop a.nav-cta {
  margin-left:14px;
  background:var(--green);
  color:#fff;
  font-weight:600;
  font-size:15px;
  padding:11px 20px;
  border-radius:8px;
  box-shadow:0 1px 2px rgba(12,35,84,.12);

}

.nav-desktop a.nav-cta:hover {
  background:#EFE8D9;
  color:var(--navy);

}

.hamburger {
  background:none;
  border:none;
  cursor:pointer;
  padding:8px;
  display:none;

}

.hamburger span {
  display:block;
  width:22px;
  height:2px;
  background:var(--navy);
  border-radius:2px;

}

.hamburger span+span {
  margin-top:5px;

}

.nav-mobile {
  display:none;
  background:var(--paper);
  border-top:1px solid var(--line-2);

}

.nav-mobile.open {
  display:block;

}

.nav-mobile a {
  display:block;
  padding:13px 24px;
  color:var(--navy);
  font-weight:500;
  font-size:16px;
  border-bottom:1px solid #EFE8D9;

}

.nav-mobile .m-cta {
  padding:16px 24px;

}

.nav-mobile .m-cta a {
  display:block;
  text-align:center;
  background:var(--green);
  color:#fff;
  font-weight:600;
  padding:13px;
  border-radius:8px;
  border:none;

}

/* Hero (dark navy) */
.hero {
  background:linear-gradient(180deg,var(--navy) 0%,var(--navy-2) 100%);
  color:#fff;
  overflow:hidden;

}

.hero h1,.hero h2 {
  color:#fff;

}

.hero .eyebrow {
  color:#8FA6D4;
  display:inline-flex;
  align-items:center;
  gap:9px;

}

.hero .eyebrow .rule {
  width:26px;
  height:1px;
  background:#8FA6D4;

}

.hero p {
  color:#C6D0E4;

}

.hero-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
  padding-top:72px;
  padding-bottom:80px;

}

.hero h1.display {
  font-size:60px;
  line-height:1.04;
  letter-spacing:-.01em;
  margin-bottom:22px;

}

.accent {
  color:var(--gold);

}

.hero-photo {
  position:relative;

}

.hero-photo .glow {
  position:absolute;
  inset:-6% -6% -6% 8%;
  background:radial-gradient(circle at 60% 40%,rgba(231,184,75,.22),transparent 62%);

}

.hero-photo .frame {
  position:relative;
  background:var(--paper);
  border-radius:20px;
  padding:14px;
  box-shadow:0 30px 70px rgba(0,0,0,.4);

}

.hero-photo .frame img {
  width:100%;
  border-radius:12px;

}

.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:0 0 34px;

}

.trust-chips {
  display:flex;
  gap:26px;
  flex-wrap:wrap;
  font-size:14px;
  color:#AEBBD8;

}

.trust-chips span {
  display:inline-flex;
  align-items:center;
  gap:8px;

}

.trust-chips .tick {
  color:#4ADE80;
  font-size:16px;

}

.hero-center {
  max-width:900px;
  margin:0 auto;
  text-align:center;
  padding-top:72px;
  padding-bottom:78px;

}

.hero-center h1 {
  font-size:52px;
  line-height:1.08;
  margin-bottom:18px;

}

/* Notice band */
.band-note {
  background:#FBEFC9;
  border-bottom:1px solid #EAD9A0;

}

.band-note .wrap {
  padding-top:26px;
  padding-bottom:26px;
  display:flex;
  justify-content:center;
  text-align:center;

}

.band-note p {
  font-size:15px;
  line-height:1.55;
  color:#5A4A1E;
  max-width:820px;

}

.band-note strong {
  color:var(--navy);

}

/* Two-column feature */
.split {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;

}

.hero-grid>*,.split>*,.about-block>*,.info-grid>*,.faq-hero-grid>* {
  min-width:0;

}

.split.left-narrow {
  grid-template-columns:.9fr 1.1fr;

}

.split.right-narrow {
  grid-template-columns:1.1fr .9fr;

}

.media-card {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  box-shadow:0 1px 3px rgba(12,35,84,.05);

}

.media-card img {
  width:100%;
  border-radius:10px;

}

.media-card.paper {
  background:var(--paper-3);

}

h2.h-lg {
  font-size:42px;
  margin-bottom:18px;
  letter-spacing:-.01em;

}

h2.h-md {
  font-size:40px;
  margin-bottom:20px;

}

h2.h-sm {
  font-size:36px;
  margin-bottom:16px;

}

.body-lg {
  font-size:18px;
  line-height:1.64;
  color:var(--muted);

}

.body-lg+.body-lg {
  margin-top:18px;

}

.intro-narrow {
  max-width:720px;
  margin:0 auto 56px;
  text-align:center;

}

/* Trust points */
.checklist {
  display:grid;
  gap:16px;
  margin-top:8px;

}

.checklist .row {
  display:flex;
  gap:14px;
  align-items:flex-start;

}

.checklist .tick {
  flex-shrink:0;
  width:26px;
  height:26px;
  border-radius:50%;
  background:#E9F6EE;
  color:#1B7F43;
  font-size:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:2px;

}

.checklist .row span:last-child {
  font-size:16.5px;
  line-height:1.55;
  color:var(--ink);

}

.checklist strong {
  color:var(--navy);

}

.inline-link {
  color:var(--green);
  border-bottom:2px solid var(--green);

}

.arrow-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--navy);
  font-weight:600;
  font-size:16px;
  border-bottom:2px solid var(--green);
  padding-bottom:3px;

}

.arrow-link:hover {
  color:var(--navy);

}

/* Section variants */
.band {
  background:var(--paper-2);
  border-top:1px solid var(--line-2);
  border-bottom:1px solid var(--line-2);

}

.cta-dark {
  background:linear-gradient(135deg,var(--navy),#123069);
  color:#fff;

}

.cta-dark h2 {
  color:#fff;

}

.cta-dark p {
  color:#C6D0E4;

}

.cta-inner {
  max-width:900px;
  margin:0 auto;
  text-align:center;
  padding:80px 0;

}

.cta-inner h2 {
  font-size:44px;
  line-height:1.1;
  margin-bottom:18px;

}

.cta-actions {
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;

}

/* Steps (How It Works) */
.steps-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:30px;

}

.step {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:18px;
  padding:30px;
  display:flex;
  gap:24px;
  align-items:flex-start;
  box-shadow:0 1px 3px rgba(12,35,84,.05);

}

.step .thumb {
  flex-shrink:0;
  position:relative;

}

.step .thumb .img {
  width:110px;
  height:110px;
  border-radius:14px;
  background:var(--paper-3);
  overflow:hidden;

}

.step .thumb .img img {
  width:100%;
  height:100%;
  object-fit:cover;

}

.step .num {
  position:absolute;
  top:-10px;
  left:-10px;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--navy);
  color:#fff;
  font-weight:700;
  font-size:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #fff;

}

.step h3 {
  font-weight:600;
  font-size:23px;
  margin:4px 0 12px;

}

.step p {
  font-size:16px;
  line-height:1.62;
  color:var(--muted);

}

/* Video */
.video-block {
  max-width:900px;
  margin:0 auto;
  text-align:center;

}

.video-block h2 {
  font-size:34px;
  margin-bottom:10px;

}

.video-block p {
  font-size:17px;
  color:var(--muted);
  margin-bottom:28px;

}

.video-frame {
  position:relative;
  border-radius:16px;
  overflow:hidden;
  background:var(--navy);
  aspect-ratio:16/9;
  box-shadow:0 20px 50px rgba(12,35,84,.25);

}

.video-frame video {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;

}

/* About blocks */
.about-block {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:52px;
  align-items:center;

}

.about-block+.about-block {
  margin-top:60px;

}

.about-block .txt h2 {
  font-size:36px;
  margin-bottom:16px;

}

.about-block .txt p {
  font-size:17.5px;
  line-height:1.64;
  color:var(--muted);

}

.about-block.flip .media {
  order:1;

}

blockquote.pull {
  margin:0;
  background:var(--white);
  border:1px solid var(--line);
  border-left:5px solid var(--green);
  border-radius:14px;
  padding:38px 40px;

}

blockquote.pull p {
  font-family:'Newsreader',Georgia,serif;
  font-style:italic;
  font-size:26px;
  line-height:1.4;
  color:var(--navy);

}

/* FAQ */
.faq-hero-grid {
  display:grid;
  grid-template-columns:1fr auto;
  gap:44px;
  align-items:center;
  padding-top:72px;
  padding-bottom:78px;

}

.faq-hero-art {
  width:380px;
  flex-shrink:0;
  background:var(--paper);
  border-radius:16px;
  padding:10px;
  box-shadow:0 20px 50px rgba(0,0,0,.3);

}

.faq-hero-art img {
  width:100%;
  border-radius:9px;

}

.faq-list {
  display:grid;
  gap:14px;
  max-width:860px;
  margin:0 auto;

}

.faq {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(12,35,84,.04);

}

.faq button {
  width:100%;
  text-align:left;
  background:none;
  border:none;
  cursor:pointer;
  padding:22px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  font-family:'Public Sans',sans-serif;

}

.faq .q {
  font-size:18.5px;
  font-weight:600;
  color:var(--navy);
  line-height:1.3;

}

.faq .icon {
  flex-shrink:0;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--paper-2);
  color:var(--navy);
  font-size:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  transition:transform .2s,background .2s,color .2s;

}

.faq .answer {
  display:none;
  padding:0 24px 24px;

}

.faq .answer-inner {
  display:flex;
  gap:22px;
  align-items:flex-start;

}

.faq .answer-inner img {
  width:160px;
  flex-shrink:0;
  border-radius:10px;
  background:var(--paper);

}

.faq .answer p {
  font-size:16.5px;
  line-height:1.64;
  color:var(--muted);

}

.faq.open .answer {
  display:block;

}

.faq.open .icon {
  background:var(--green);
  color:#fff;
  transform:rotate(45deg);

}

/* Contact */
.info-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:56px;
  align-items:start;

}

.info-grid.consult {
  grid-template-columns:1.05fr .95fr;
  align-items:center;

}

.info-block .label {
  font-size:12px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6B6255;
  font-weight:600;
  margin-bottom:6px;

}

.info-block .stack {
  display:grid;
  gap:22px;

}

.info-block a.phone {
  font-size:19px;
  font-weight:600;
  color:var(--navy);

}

.socials {
  display:flex;
  gap:14px;
  align-items:center;

}

.socials img {
  width:26px;
  height:26px;

}

.form-card {
  background:var(--white);
  border:1px solid var(--line);
  border-radius:18px;
  padding:36px;
  box-shadow:0 6px 24px rgba(12,35,84,.06);

}

.form-card h2 {
  font-size:28px;
  margin-bottom:10px;

}

.form-note {
  font-size:14.5px;
  line-height:1.55;
  color:#7A7264;
  margin-bottom:24px;

}

.field {
  margin-bottom:18px;

}

.field label {
  display:block;
  font-size:14px;
  font-weight:600;
  color:var(--navy);
  margin-bottom:7px;

}

.req {
  color:var(--green);

}

.field input,.field textarea {
  width:100%;
  font-family:'Public Sans',sans-serif;
  font-size:16px;
  color:var(--navy);
  background:#fff;
  border:1px solid #D9CFBC;
  border-radius:9px;
  padding:12px 14px;
  transition:border-color .15s,box-shadow .15s;

}

.field textarea {
  max-width:100%;
  resize:vertical;

}

.field input:focus,.field textarea:focus {
  outline:none;
  border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(12,35,84,.12);

}

.field input::placeholder,.field textarea::placeholder {
  color:#A79E8C;

}

.field-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;

}

#form-message {
  font-size:14px;
  color:#b91c1c;
  min-height:1em;
  margin-bottom:6px;

}

.cf-turnstile {
  margin-bottom:6px;

}

/* Privacy band + footer */
.privacy-band {
  background:var(--navy);
  color:#EAF0FB;

}

.privacy-band .wrap {
  display:grid;
  grid-template-columns:auto 1fr;
  gap:44px;
  align-items:center;
  padding-top:64px;
  padding-bottom:64px;
  width: fit-content;
  max-width:1100px;

}

.privacy-band img {
  width:280px;
  filter:drop-shadow(0 10px 24px rgba(0,0,0,.3));

}

.privacy-band .eyebrow {
  color:#8FA6D4;

}

.privacy-band h2 {
  color:#fff;
  font-size:34px;
  line-height:1.15;
  margin-bottom:16px;

}

.privacy-band p {
  font-size:17px;
  line-height:1.6;
  color:#C6D0E4;
  max-width:620px;

}

.privacy-band p+p {
  margin-top:10px;

}

.site-footer {
  background:#0A1A3C;
  color:#B7C2DC;

}

.footer-cols {
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  gap:40px;
  padding-top:56px;
  padding-bottom:40px;

}

.footer-cols img.logo {
  width:207px;
  height:auto;
  display:block;
}

.footer-cols .addr {
  font-size:15px;
  line-height:1.7;
  margin-top:20px;
  color:#9FADCB;

}

.footer-cols .fphone {
  margin-top:16px;
  font-size:15px;

}

.footer-cols .fphone a {
  color:#fff;
  font-weight:600;

}

.footer-cols .fphone span {
  color:#9FADCB;

}

.col-title {
  font-size:13px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#AEBBD8;
  font-weight:bold;
  margin-bottom:16px;

}

.footer-cols nav a {
  display:block;
  color:#B7C2DC;
  font-size:15px;
  padding:6px 0;

}

.footer-cols nav a:hover {
  color:#fff;

}

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.09);

}

.footer-bottom .wrap {
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  font-size:13px;
  color:#7C8AAC;
  padding-top:20px;
  padding-bottom:20px;

}

.footer-bottom a {
  color:#7C8AAC;

}

.footer-bottom a:hover {
  color:#fff;

}

.footer-bottom .legal {
  display:inline-flex;
  gap:18px;

}

/* Scroll reveal */
.reveal {
  opacity:0;
  transform:translateY(26px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);

}

.reveal.in {
  opacity:1;
  transform:none;

}

/* Responsive */
@media(max-width:860px) {

  .nav-desktop {
  display:none;

}

  .hamburger {
  display:block;

}

  .hero-grid,.split,.split.left-narrow,.split.right-narrow,.about-block,.steps-grid,.info-grid,.info-grid.consult,.faq-hero-grid,.privacy-band .wrap {
  grid-template-columns:1fr;

}

  .about-block.flip .media {
  order:0;

}

  .footer-cols {
  grid-template-columns:1fr 1fr;

}

  .privacy-band .wrap {
  justify-items:center;
  text-align:center;

}

  /* Stacked artwork should not expand to the full width of an iPad or an
     iPhone in landscape. */
  .split>.media-card,.about-block>.media-card,.info-grid>.media-card {
  width:min(100%,520px);
  justify-self:center;

}

}

/* iPad landscape keeps the two-column composition, but uses tighter sizing so
   copy and artwork retain the same visual proportions as the desktop layout. */
@media(min-width:861px) and (max-width:1100px) {

  .wrap {
  padding-left:32px;
  padding-right:32px;

}

  .hero-grid,.split,.split.left-narrow,.split.right-narrow,.about-block,
  .info-grid,.info-grid.consult {
  gap:36px;

}

  h2.h-lg,h2.h-md {
  font-size:36px;

}

  .body-lg {
  font-size:17px;

}

  .split>.media-card,.about-block>.media-card,.info-grid>.media-card {
  width:100%;
  max-width:500px;
  justify-self:center;

}

}

@media(max-width:600px) {

  .section {
  padding:60px 0;

}

  h1.display {
  font-size:38px !important;

}

  .hero-center h1,.faq-hero-grid h1 {
  font-size:38px;

}

  h2.h-lg,h2.h-md,h2.h-sm,.cta-inner h2 {
  font-size:30px;

}

  .field-row {
  grid-template-columns:1fr;

}

  .faq .answer-inner {
  flex-direction:column;

}

  .faq .answer-inner img {
  width:120px;

}

  .footer-cols {
  grid-template-columns:1fr;

}

  .footer-bottom .wrap {
  flex-direction:column;
  align-items:center;
  text-align:center;

}

  .faq-hero-art {
  width:100%;
  max-width:280px;

}

}




/* Mobile trust chips: stack all three items on separate lines. */
@media(max-width:600px) {
  .trust-chips {
    flex-direction:column;
    align-items:center;
    gap:8px;
  }

  .trust-chips > span {
    white-space:nowrap;
  }
}

@media(prefers-reduced-motion:reduce) {

  .reveal {
  opacity:1;
  transform:none;
  transition:none;

}

  html {
  scroll-behavior:auto;

}

}


/* ============================================================
   Testimonials Page Styles
   ============================================================ */

/* Testimonials page layout */
.tst-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.tst {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 30px;
  box-shadow: 0 1px 3px rgba(12, 35, 84, .05);
  display: flex;
  flex-direction: column;
}

.tst .stars {
  color: var(--gold);
  font-size: 18px;
  letter-spacing: 2px;
  margin-bottom: 14px;
}

.tst .quote {
  font-family: 'Newsreader', Georgia, serif;
  font-size: 20px;
  line-height: 1.45;
  color: var(--navy);
  margin-bottom: 20px;
}

.tst .who {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: auto;
}

.tst .avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--paper-2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  color: var(--navy);
  flex-shrink: 0;
}

.tst .name {
  font-weight: 600;
  color: var(--navy);
  font-size: 15px;
}

.tst .meta {
  font-size: 13px;
  color: #8A8272;
}

.tpl-hint {
  background: #FBEFC9;
  border: 1px dashed #D9B23A;
  color: #5A4A1E;
  border-radius: 12px;
  padding: 16px 20px;
  font-size: 14.5px;
  line-height: 1.55;
  margin-bottom: 32px;
}

.tst-empty {
  max-width: 560px;
  margin: 0 auto;
  text-align: center;
}

.tst-empty h2 {
  font-size: 32px;
  margin-bottom: 14px;
}

.tst-empty p {
  font-size: 17px;
  line-height: 1.6;
  color: var(--muted);
  margin-bottom: 28px;
}

.tst-imgs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  max-width: 920px;
  margin: 0 auto 44px;
}

.tst-img-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 12px;
  box-shadow: 0 1px 3px rgba(12, 35, 84, .05);
}

.tst-img-card img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

@media (max-width: 860px) {
  .tst-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 600px) {
  .tst-grid {
    grid-template-columns: 1fr;
  }

  .tst-empty h2 {
    font-size: 26px;
  }

  .tst-imgs {
    grid-template-columns: 1fr;
  }
}


/* ============================================================
   Descriptive Page-Specific Overrides
   Former inline styles; !important preserves original precedence.
   ============================================================ */

/* Shared layout overrides */

.content-max-1120 {
  max-width: 1120px !important;
}

/* About page overrides */

.about-hero-title {
  font-size: 52px !important;
  line-height: 1.08 !important;
  letter-spacing: -.01em !important;
  margin-bottom: 20px !important;
}

.about-hero-description {
  color: #C6D0E4 !important;
}

.about-hero-image-frame {
  width: 100% !important;
  max-width: 500px !important;
  justify-self: center !important;
  background: var(--paper) !important;
  border-radius: 18px !important;
  padding: 14px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .35) !important;
}

.about-hero-image {
  border-radius: 10px !important;
}

.about-intro-section {
  padding-bottom: 20px !important;
}

.about-intro-content {
  max-width: 820px !important;
}

.about-intro-lead {
  font-size: 20px !important;
  color: var(--ink) !important;
  margin-bottom: 20px !important;
}

.about-story-section {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.about-quote-section {
  padding-top: 40px !important;
}

.about-quote-content {
  max-width: 960px !important;
}

.about-cta-inner {
  max-width: 820px !important;
  padding: 76px 0 !important;
}

.cta-heading-large {
  font-size: 40px !important;
}

.about-cta-description {
  color: #C6D0E4 !important;
  margin-bottom: 30px !important;
}

.eyebrow-centered {
  justify-content: center !important;
}

/* How It Works page overrides */

.process-hero-description {
  max-width: 600px !important;
  margin: 0 auto 34px !important;
}

.process-steps-section {
  padding-top: 8px !important;
}

.process-cta-inner {
  max-width: 820px !important;
  text-align: center !important;
  padding-top: 72px !important;
  padding-bottom: 72px !important;
}

.cta-description-spaced {
  margin-bottom: 30px !important;
}

/* Privacy page hero artwork */

.privacy-hero-inner {
  max-width: 1000px !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.privacy-hero-frame {
  width: 100% !important;
  max-width: 360px !important;
  justify-self: center !important;
  background: var(--paper) !important;
  border-radius: 16px !important;
  padding: 12px !important;
}

.privacy-hero-frame picture,
.privacy-badge-wrap picture {
  display: block !important;
  width: 100% !important;
}

.privacy-hero-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 9px !important;
}

.privacy-badge-wrap {
  width: 100% !important;
  max-width: 380px !important;
  justify-self: center !important;
  text-align: center !important;
}

.privacy-badge-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 auto !important;
}

.legal-content {
  max-width: 820px !important;
  padding-top: 64px !important;
  padding-bottom: 40px !important;
}

.privacy-policy-title {
  font-size: 46px !important;
  line-height: 1.1 !important;
  margin-bottom: 22px !important;
}

.legal-intro {
  color: var(--ink) !important;
  margin-bottom: 8px !important;
}

.legal-section {
  margin-top: 36px !important;
}

.legal-section-title {
  font-size: 26px !important;
  margin-bottom: 12px !important;
}

.legal-last-updated {
  margin-top: 40px !important;
  font-size: 14px !important;
  color: #665E51 !important;
}

/* Home page overrides */

.lead-narrow {
  max-width: 520px !important;
  margin-bottom: 28px !important;
}

.home-hero-image-frame {
  position: relative !important;
  justify-self: center !important;
  width: 100% !important;
  max-width: 420px !important;
}

.unclaimed-funds-layout {
  max-width: 1040px !important;
  margin: 0 auto !important;
}

.term-highlight {
  color: var(--navy) !important;
}

.how-we-help-section {
  /* Keep the standard page gutter here. This element carries both the
     `.wrap` and `.section` classes, so a zero inline value would otherwise
     override `.wrap` and place its content directly against the viewport. */
  padding: 84px 24px !important;
}

/* This element is both a section and the page-width wrapper. Its section
   shorthand above intentionally resets horizontal padding, so restore the
   wrapper gutter on tablets and mobile landscape layouts. */
@media(max-width:1100px) {
  .how-we-help-section {
    padding-left: max(32px, env(safe-area-inset-left)) !important;
    padding-right: max(32px, env(safe-area-inset-right)) !important;
  }
}

/* Image cards become single-column below this breakpoint. Cap their rendered
   size so tablet portrait and phone landscape never make them larger than the
   corresponding desktop artwork. */
@media(max-width:860px) {
  .about-hero-image-frame {
    max-width: 500px !important;
  }

  .tst-img-card {
    width: 100%;
    max-width: 520px;
    justify-self: center;
  }
}

.process-link-spacing {
  margin-top: 22px !important;
}

.copy-spacing-bottom {
  margin-bottom: 26px !important;
}

.claim-prompt {
  margin-top: 30px !important;
  font-size: 18px !important;
  color: var(--navy) !important;
  font-weight: 600 !important;
}

.cta-lead-spacing {
  margin-bottom: 34px !important;
}

/* Shared interior-page hero overrides */

.page-hero-centered {
  max-width: 760px !important;
  text-align: center !important;
  padding-top: 70px !important;
  padding-bottom: 74px !important;
}

/* Contact page overrides */

.contact-hero-title {
  font-size: 52px !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
}

.consultation-section {
  max-width: 1080px !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.contact-info-section {
  max-width: 1080px !important;
}

.contact-info-title {
  font-size: 30px !important;
  margin-bottom: 22px !important;
}

.contact-detail-text {
  font-size: 16.5px !important;
  line-height: 1.6 !important;
}

.contact-security-badge {
  width: 230px !important;
  margin-top: 6px !important;
}

.noscript-warning {
  color: #b91c1c !important;
  background: #fee2e2 !important;
  border: 1px solid #fca5a5 !important;
  padding: 14px !important;
  border-radius: 9px !important;
  margin-bottom: 16px !important;
}

.form-submit-align-start {
  justify-self: start !important;
}

/* Privacy contact page overrides */

.privacy-contact-hero {
  max-width: 760px !important;
  text-align: center !important;
  padding-top: 64px !important;
  padding-bottom: 70px !important;
}

.privacy-contact-hero picture {
  display: block !important;
  width: min(100%, 220px) !important;
  margin: 0 auto 22px !important;
}

.privacy-contact-hero-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 9px !important;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .3)) !important;
}

.privacy-contact-title {
  font-size: 48px !important;
  line-height: 1.08 !important;
  margin-bottom: 16px !important;
}

.privacy-contact-form-wrap {
  max-width: 720px !important;
}

.privacy-contact-form-card {
  padding: 40px !important;
}

.page-hero-title {
  font-size: 50px !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
}

/* Testimonials page overrides */

.testimonials-cta-inner {
  padding: 76px 0 !important;
}

/* Thank-you page overrides */

.thank-you-hero-inner {
  max-width: 1040px !important;
  padding-top: 80px !important;
  padding-bottom: 88px !important;
}

.thank-you-title {
  font-size: 48px !important;
  line-height: 1.08 !important;
  margin-bottom: 18px !important;
}

.thank-you-actions-left {
  justify-content: flex-start !important;
}

.redirect-note {
  margin-top: 22px !important;
  font-size: 14px !important;
  color: #8FA6D4 !important;
}

.thank-you-image-wrap {
  justify-self: center !important;
}

.thank-you-image {
  width: 100% !important;
  max-width: 340px !important;
  height: auto !important;
  display: block !important;
  border-radius: 14px !important;
}

/* Terms of Use page hero artwork */

.terms-hero-inner {
  max-width: 1000px !important;
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.terms-hero-frame {
  width: 100% !important;
  max-width: 360px !important;
  justify-self: center !important;
  background: var(--paper) !important;
  border-radius: 16px !important;
  padding: 12px !important;
}

.terms-hero-frame picture {
  display: block !important;
  width: 100% !important;
}

.terms-hero-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 9px !important;
}

.terms-hero-copy {
  align-self: center !important;
}

.legal-hero-title {
  font-size: 48px !important;
  line-height: 1.08 !important;
}

/* FAQ page overrides */

.faq-hero-width {
  max-width: 1000px !important;
}

.faq-list-section {
  padding-bottom: 8px !important;
}

.faq-support-section {
  padding-top: 20px !important;
}

.faq-support-wrap {
  max-width: 860px !important;
}

.faq-support-card {
  border-radius: 16px !important;
  border: 1px solid var(--line-2) !important;
  padding: 44px 40px !important;
  text-align: center !important;
}

.faq-support-title {
  font-size: 30px !important;
  margin-bottom: 12px !important;
}

.faq-support-text {
  font-size: 17px !important;
  color: var(--muted) !important;
  margin-bottom: 24px !important;
}

/* Privacy artwork sizing on smaller screens */
@media(max-width:600px) {
  /* Retain a phone-sized gutter while respecting iPhone safe areas. */
  .how-we-help-section {
    padding-left: max(24px, env(safe-area-inset-left)) !important;
    padding-right: max(24px, env(safe-area-inset-right)) !important;
  }
}

@media(max-width:600px) {
  .privacy-hero-inner {
    gap: 32px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .privacy-hero-frame {
    max-width: 300px !important;
  }

  .privacy-badge-wrap {
    max-width: 320px !important;
  }

  .privacy-contact-hero picture {
    width: min(100%, 190px) !important;
  }

  .terms-hero-inner {
    gap: 28px !important;
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  .terms-hero-frame {
    max-width: 300px !important;
  }

  .terms-hero-copy {
    text-align: center !important;
  }
}

/* Phone layout refinements. Keep type, controls, and media comfortable down to
   320px without allowing cards or third-party widgets to widen the viewport. */
@media(max-width:600px) {
  .wrap {
    padding-left:18px;
    padding-right:18px;
  }

  .section {
    padding:52px 0;
  }

  .utility .wrap {
    justify-content:center;
    gap:4px;
    text-align:center;
  }

  .utility .right {
    justify-content:center;
    gap:8px 14px;
    flex-wrap:wrap;
  }

  .site-header .bar {
    gap:12px;
    padding-top:10px;
    padding-bottom:10px;
  }

  .brand img {
    height:44px;
  }

  .hero-grid,.hero-center,.faq-hero-grid {
    gap:36px;
    padding-top:48px;
    padding-bottom:52px;
  }

  .hero h1.display,.hero-center h1,.faq-hero-grid h1,
  .about-hero-title,.contact-hero-title,.privacy-contact-title,
  .page-hero-title,.thank-you-title,.privacy-policy-title,
  .legal-hero-title {
    font-size:36px !important;
  }

  h2.h-lg,h2.h-md,h2.h-sm,.cta-inner h2,.cta-heading-large {
    font-size:29px !important;
  }

  .body-lg,.lead {
    font-size:17px;
  }

  .hero-actions,.cta-actions {
    width:100%;
    gap:10px;
  }

  .hero-actions .btn,.cta-actions .btn {
    width:100%;
    justify-content:center;
  }

  .trust-chips {
    align-items:flex-start;
  }

  .trust-chips>span {
    white-space:normal;
    text-align:left;
  }

  .media-card,.hero-photo .frame {
    padding:10px;
  }

  .step {
    padding:22px;
    gap:18px;
  }

  .step .thumb .img {
    width:88px;
    height:88px;
  }

  blockquote.pull {
    padding:28px 24px;
  }

  blockquote.pull p {
    font-size:22px;
  }

  .form-card,.privacy-contact-form-card {
    padding:24px 20px !important;
  }

  .cf-turnstile {
    max-width:100%;
    overflow:hidden;
  }

  .privacy-band .wrap {
    width:100%;
    gap:28px;
    padding-top:48px;
    padding-bottom:48px;
  }

  .privacy-band img {
    width:min(220px,80vw);
  }

  .footer-cols {
    gap:32px;
  }

  .footer-bottom .legal {
    justify-content:center;
    flex-wrap:wrap;
  }

  .page-hero-centered,.privacy-contact-hero,.thank-you-hero-inner,
  .about-cta-inner,.testimonials-cta-inner,.process-cta-inner {
    padding-top:52px !important;
    padding-bottom:52px !important;
  }

  .legal-content {
    padding-top:48px !important;
  }

  .faq-support-card {
    padding:32px 20px !important;
  }
}

@media(max-width:380px) {
  .step {
    flex-direction:column;
  }

  .step .thumb .img {
    width:100px;
    height:100px;
  }
}

/* Visible keyboard focus, including on form fields with custom focus styles. */
:where(a, button, input, textarea, select):focus-visible {
  outline:3px solid #E8B44C;
  outline-offset:3px;
}
