/* ADR Funding loan-site layer: preserves the Financity visual language while adding
   a clean lending-focused information and application system. */
.adr-hero {
   position: relative;
   min-height: 590px;
   display: flex;
   align-items: center;
   background:
      linear-gradient(90deg, rgba(10, 20, 31, .88) 0%, rgba(10, 20, 31, .68) 52%, rgba(10, 20, 31, .25) 100%),
      url('../images/page-title-background.jpg') center/cover no-repeat;
   color: #fff
}

.adr-hero-inner {
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
   padding: 110px 35px 90px
}

.adr-kicker {
   font-size: 13px;
   letter-spacing: 2px;
   text-transform: uppercase;
   font-weight: 700;
   color: #d9a441;
   margin-bottom: 18px
}

.adr-hero h1 {
   font-size: clamp(42px, 6vw, 76px);
   line-height: 1.02;
   max-width: 760px;
   margin: 0 0 24px;
   font-weight: 700;
   color: #fff
}

.adr-hero p {
   font-size: 18px;
   line-height: 1.75;
   max-width: 680px;
   margin: 0 0 32px;
   color: rgba(255, 255, 255, .88)
}

.adr-actions {
   display: flex;
   gap: 14px;
   flex-wrap: wrap
}

.adr-btn {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-height: 50px;
   padding: 0 26px;
   background: #a31d1d;
   color: #fff !important;
   text-decoration: none;
   font-weight: 700;
   letter-spacing: .2px;
   border: 1px solid #a31d1d;
   transition: .2s
}

.adr-btn:hover {
   background: #871616;
   color: #fff !important
}

.adr-btn-outline {
   background: transparent;
   border-color: rgba(255, 255, 255, .6)
}

.adr-btn-outline:hover {
   background: #fff;
   color: #171717 !important
}

.adr-section {
   padding: 88px 30px
}

.adr-section.alt {
   background: #f5f6f7
}

.adr-container {
   max-width: 1180px;
   margin: 0 auto
}

.adr-section-head {
   max-width: 720px;
   margin: 0 auto 45px;
   text-align: center
}

.adr-eyebrow {
   font-size: 12px;
   letter-spacing: 2px;
   text-transform: uppercase;
   color: #a31d1d;
   font-weight: 700;
   margin-bottom: 12px
}

.adr-section-head h2 {
   font-size: 38px;
   line-height: 1.15;
   margin: 0 0 16px;
   color: #1b2430
}

.adr-section-head p {
   font-size: 16px;
   line-height: 1.75;
   color: #66717d;
   margin: 0
}

.adr-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 25px
}

.adr-card {
   background: #fff;
   border: 1px solid #e5e8eb;
   padding: 34px 30px;
   box-shadow: 0 10px 30px rgba(0, 0, 0, .04);
   height: 100%
}

.adr-card .adr-icon {
   width: 50px;
   height: 50px;
   display: grid;
   place-items: center;
   background: #a31d1d;
   color: #fff;
   font-size: 22px;
   margin-bottom: 22px
}

.adr-card h3 {
   font-size: 23px;
   margin: 0 0 12px;
   color: #1b2430
}

.adr-card p {
   font-size: 15px;
   line-height: 1.75;
   color: #66717d;
   margin: 0 0 18px
}

.adr-card a {
   color: #a31d1d;
   font-weight: 700;
   text-decoration: none
}

.adr-split {
   display: grid;
   grid-template-columns: 1.05fr .95fr;
   gap: 65px;
   align-items: center
}

.adr-split img {
   width: 100%;
   height: 430px;
   object-fit: cover
}

.adr-split h2 {
   font-size: 40px;
   line-height: 1.15;
   color: #1b2430;
   margin: 0 0 18px
}

.adr-split p {
   font-size: 16px;
   line-height: 1.8;
   color: #66717d
}

.adr-list {
   padding: 0;
   margin: 25px 0;
   list-style: none
}

.adr-list li {
   position: relative;
   padding: 0 0 13px 28px;
   color: #4e5965;
   line-height: 1.6
}

.adr-list li:before {
   content: "✓";
   position: absolute;
   left: 0;
   top: 0;
   color: #a31d1d;
   font-weight: 800
}

.adr-cta {
   padding: 72px 30px;
   background: #1a232d;
   color: #fff
}

.adr-cta-inner {
   max-width: 1050px;
   margin: 0 auto;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 35px
}

.adr-cta h2 {
   font-size: 38px;
   margin: 0 0 10px;
   color: #fff
}

.adr-cta p {
   margin: 0;
   color: rgba(255, 255, 255, .75);
   line-height: 1.7
}

.adr-page-hero {
   padding: 145px 30px 75px;
   background: linear-gradient(90deg, rgba(13, 23, 34, .92), rgba(13, 23, 34, .65)), url('../images/page-title-background.jpg') center/cover;
   color: #fff
}

.adr-page-hero-inner {
   max-width: 1180px;
   margin: 0 auto
}

.adr-page-hero .adr-eyebrow {
   color: #d9a441
}

.adr-page-hero h1 {
   font-size: 54px;
   line-height: 1.1;
   margin: 0 0 12px;
   color: #fff
}

.adr-breadcrumb {
   font-size: 14px;
   color: rgba(255, 255, 255, .7)
}

.adr-breadcrumb a {
   color: #fff;
   text-decoration: none
}

.adr-rich {
   max-width: 820px;
   margin: 0 auto;
   padding: 85px 30px
}

.adr-rich h2 {
   font-size: 32px;
   color: #1b2430;
   margin: 45px 0 14px
}

.adr-rich h3 {
   font-size: 22px;
   color: #1b2430;
   margin: 30px 0 10px
}

.adr-rich p,
.adr-rich li {
   font-size: 16px;
   line-height: 1.85;
   color: #5f6b77
}

.adr-rich ul {
   padding-left: 20px
}

.adr-stat-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
   margin-top: 35px
}

.adr-stat {
   background: #f5f6f7;
   padding: 28px;
   text-align: center;
   border-top: 3px solid #a31d1d
}

.adr-stat strong {
   display: block;
   font-size: 32px;
   color: #1b2430
}

.adr-stat span {
   font-size: 13px;
   color: #6a7480
}

.adr-note {
   padding: 22px 24px;
   background: #f8f3ea;
   border-left: 4px solid #d9a441;
   margin: 25px 0;
   color: #4d5660;
   line-height: 1.7
}

.adr-contact-grid {
   display: grid;
   grid-template-columns: .8fr 1.2fr;
   gap: 35px;
   max-width: 1100px;
   margin: 0 auto;
   padding: 80px 30px
}

.adr-contact-card {
   background: #1a232d;
   color: #fff;
   padding: 35px
}

.adr-contact-card h3 {
   color: #fff;
   margin: 0 0 18px
}

.adr-contact-card p {
   color: rgba(255, 255, 255, .75);
   line-height: 1.7
}

.adr-contact-card a {
   color: #d9a441
}

.adr-form {
   background: #fff;
   border: 1px solid #e4e7ea;
   padding: 38px
}

.adr-form-grid {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 20px
}

.adr-form-group {
   margin-bottom: 18px
}

.adr-form-group.full {
   grid-column: 1/-1
}

.adr-form label {
   display: block;
   font-weight: 700;
   font-size: 13px;
   color: #29333d;
   margin-bottom: 7px
}

.adr-form input,
.adr-form select,
.adr-form textarea {
   width: 100%;
   box-sizing: border-box;
   border: 1px solid #d9dee3;
   background: #fff;
   min-height: 48px;
   padding: 12px 14px;
   font: inherit;
   color: #29333d
}

.adr-form textarea {
   min-height: 150px;
   resize: vertical
}

.adr-form input:focus,
.adr-form select:focus,
.adr-form textarea:focus {
   outline: none;
   border-color: #a31d1d;
   box-shadow: 0 0 0 3px rgba(163, 29, 29, .08)
}

.adr-alert {
   display: none;
   margin-bottom: 20px;
   padding: 14px 16px;
   background: #fff3f3;
   border-left: 4px solid #a31d1d;
   color: #7e1818
}

.adr-alert.show {
   display: block
}

.adr-success {
   background: #f3f8f4;
   border-left: 4px solid #2f7d4b;
   padding: 30px;
   color: #244b32
}

.adr-success h2 {
   margin-top: 0;
   color: #244b32
}

.loan-wizard {
   max-width: 1000px;
   margin: 0 auto;
   padding: 80px 30px
}

.loan-progress {
   display: grid;
   grid-template-columns: repeat(4, 1fr);
   gap: 8px;
   margin-bottom: 32px
}

.loan-progress .step {
   height: 5px;
   background: #e2e5e8
}

.loan-progress .step.done {
   background: #a31d1d
}

.loan-step-label {
   font-size: 13px;
   color: #68737d;
   margin-bottom: 22px;
   font-weight: 700
}

.loan-step {
   display: none
}

.loan-step.active {
   display: block
}

.loan-panel {
   background: #fff;
   border: 1px solid #e2e6ea;
   padding: 34px;
   box-shadow: 0 12px 35px rgba(0, 0, 0, .05)
}

.loan-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 20px
}

.loan-grid.three {
   grid-template-columns: repeat(3, minmax(0, 1fr))
}

.loan-field {
   margin-bottom: 2px
}

.loan-field.full {
   grid-column: 1/-1
}

.loan-field label {
   display: block;
   font-size: 13px;
   font-weight: 700;
   color: #29333d;
   margin-bottom: 7px
}

.loan-field input,
.loan-field select,
.loan-field textarea {
   width: 100%;
   box-sizing: border-box;
   border: 1px solid #d8dde2;
   padding: 12px 14px;
   min-height: 48px;
   font: inherit;
   background: #fff
}

.loan-field textarea {
   min-height: 110px
}

.loan-field input:focus,
.loan-field select:focus,
.loan-field textarea:focus {
   outline: none;
   border-color: #a31d1d;
   box-shadow: 0 0 0 3px rgba(163, 29, 29, .08)
}

.loan-field input:invalid:not(:placeholder-shown),
.loan-field select:invalid {
   border-color: #c47b7b
}

.loan-help {
   font-size: 12px;
   color: #77818b;
   margin-top: 6px
}

.loan-actions {
   display: flex;
   justify-content: space-between;
   gap: 15px;
   margin-top: 24px
}

.loan-btn {
   border: 1px solid #a31d1d;
   background: #a31d1d;
   color: #fff;
   padding: 13px 22px;
   font-weight: 700;
   cursor: pointer
}

.loan-btn:hover {
   background: #871616
}

.loan-btn.secondary {
   background: #fff;
   color: #1d2833;
   border-color: #c9cfd5
}

.loan-btn.secondary:hover {
   background: #f4f5f6
}

.loan-btn:disabled {
   opacity: .6;
   cursor: not-allowed
}

.upload-grid {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 16px;
   margin-top: 15px
}

.upload-slot {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   min-height: 145px;
   border: 2px dashed #cfd5da;
   background: #fafbfb;
   text-align: center;
   padding: 20px;
   cursor: pointer;
   transition: .2s
}

.upload-slot:hover,
.upload-slot.has-file {
   border-color: #a31d1d;
   background: #fff8f8
}

.upload-slot strong {
   color: #1d2833;
   margin-bottom: 5px
}

.upload-slot span {
   font-size: 12px;
   color: #6f7983
}

.loan-review {
   border: 1px solid #e0e4e8
}

.loan-review .row-line {
   display: flex;
   justify-content: space-between;
   gap: 20px;
   padding: 14px 16px;
   border-bottom: 1px solid #e8ebed;
   font-size: 14px
}

.loan-review .row-line:last-child {
   border-bottom: 0
}

.loan-review .row-line span:last-child {
   font-weight: 700;
   text-align: right;
   color: #27323c
}

.loan-check {
   display: flex;
   align-items: flex-start;
   gap: 10px;
   margin-top: 20px;
   font-size: 13px;
   line-height: 1.6;
   color: #4d5863
}

.loan-check input {
   margin-top: 4px
}

.loan-captcha {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-top: 18px
}

.loan-captcha input {
   max-width: 150px
}

.loan-doc-note {
   font-size: 13px;
   color: #69747e;
   margin: 18px 0 0
}

.loan-confirm {
   max-width: 800px;
   margin: 70px auto;
   padding: 50px 30px
}

.loan-confirm-card {
   background: #f3f8f4;
   border-top: 4px solid #2f7d4b;
   padding: 40px;
   text-align: center
}

.loan-confirm-card h2 {
   font-size: 34px;
   color: #244b32;
   margin: 0 0 15px
}

.loan-ref {
   display: inline-block;
   margin: 18px 0;
   padding: 12px 20px;
   background: #fff;
   border: 1px solid #cfded4;
   font-weight: 800;
   letter-spacing: 1px;
   color: #244b32
}

@media(min-width:901px) and (max-width:1366px) {
   .adr-hero h1 {
      font-size: clamp(34px, 3.6vw, 52px) !important;
      line-height: 1.08
   }
}

@media(max-width:900px) {
   .adr-grid {
      grid-template-columns: 1fr 1fr
   }

   .adr-split {
      grid-template-columns: 1fr;
      gap: 35px
   }

   .adr-split img {
      height: 330px
   }

   .adr-cta-inner {
      flex-direction: column;
      align-items: flex-start
   }

   .adr-contact-grid {
      grid-template-columns: 1fr
   }

   .loan-grid.three {
      grid-template-columns: 1fr 1fr
   }
}

@media(max-width:650px) {
   .adr-hero {
      min-height: 620px
   }

   .adr-hero-inner {
      padding: 100px 22px 70px
   }

   .adr-hero h1 {
      font-size: 42px
   }

   .adr-hero p {
      font-size: 16px
   }

   .adr-section {
      padding: 65px 20px
   }

   .adr-grid {
      grid-template-columns: 1fr
   }

   .adr-section-head h2,
   .adr-split h2 {
      font-size: 32px
   }

   .adr-page-hero {
      padding: 120px 22px 55px
   }

   .adr-page-hero h1 {
      font-size: 40px
   }

   .adr-rich {
      padding: 60px 22px
   }

   .adr-stat-grid {
      grid-template-columns: 1fr
   }

   .adr-form-grid,
   .loan-grid,
   .loan-grid.three {
      grid-template-columns: 1fr
   }

   .adr-form {
      padding: 25px
   }

   .adr-contact-grid {
      padding: 55px 20px
   }

   .loan-wizard {
      padding: 55px 20px
   }

   .loan-panel {
      padding: 22px
   }

   .loan-progress {
      gap: 4px
   }

   .upload-grid {
      grid-template-columns: 1fr
   }

   .loan-actions {
      flex-direction: column-reverse
   }

   .loan-btn {
      width: 100%
   }

   .loan-review .row-line {
      flex-direction: column;
      gap: 4px
   }

   .loan-review .row-line span:last-child {
      text-align: left
   }
}