@charset "utf-8";
/* CSS Document */


   :root {
      --white:      #ffffff!important;
      --off-white:  #f0ebe3!important;
      --light-grey: #f5f5f5!important;
      --dark-band:  #111111!important;
      --dark-panel: #141414!important;
      --orange:     #c8551c!important;
      --text:       #111111!important;
      --body:       #4a4a4a!important;
      --muted:      #888888!important;
      --border:     #e0e0e0!important;
      --border-dk:  rgba(255,255,255,0.10)!important;
    }

    *,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
    html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
    body { font-family:"DM Sans",sans-serif!important; background:var(--white)!important; color:var(--text)!important; overflow-x:hidden!important; line-height:1.6!important; }
    img { display:block; max-width:100%; }
    a { color:inherit; text-decoration:none; }
    .shell { width:min(1200px,calc(100% - 48px)); margin:0 auto; }

    /* ── NAV — white ── */
    .site-nav {
      position:fixed; top:0; left:0; right:0; z-index:200;
      background:#ffffff;
      border-bottom:1px solid var(--border);
      box-shadow:0 1px 8px rgba(0,0,0,0.05);
    }
    .nav-inner {
      width:min(1200px,calc(100% - 48px)); margin:0 auto;
      height:64px; display:flex; align-items:center; justify-content:space-between; gap:16px;
    }
    .nav-brand { display:flex; align-items:center; gap:2px; }
    .nav-logo  { /*width:84px; height:52px;*/ height:70px; object-fit:contain;margin-top:-5px }
    .nav-div   { width:1px; height:28px; background:var(--border); }
    .nav-name  { font-size:0.9rem; font-weight:700; letter-spacing:0.06em; line-height:1.4; text-transform:uppercase; color:var(--text); display:block; }
    .nav-sub   { font-size:0.69rem; color:var(--muted); display:block; margin-top:1px; }
    .nav-links { display:flex; gap:28px; }
    .nav-links a { font-size:0.84rem; font-weight:500; color:var(--body); transition:color 150ms; }
    .nav-links a:hover { color:var(--text); }
    .nav-cta {
      padding:10px 22px; border-radius:2px;
      background:var(--orange); color:white!important;
      font-size:0.84rem; font-weight:700; letter-spacing:0.03em; text-transform:uppercase;
      transition:opacity 150ms;
    }
    .nav-cta:hover { opacity:0.88; }

    /* ── HERO — dark band, full-bleed video ── */
    .hero {
      margin-top:64px; position:relative;
      width:100%;
      height:calc(100vh - 64px);
      height:calc(100svh - 64px); /* use small viewport height on mobile */
      min-height:560px;
      overflow:hidden; 
      display:flex; align-items:flex-end;
      /* iOS fix: ensure stacking context */
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
	  /*background:var(--dark-band);*/
    }
	
	
	.vimeo-wrapper {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   pointer-events: none;
   overflow: hidden;
   background:url(miami-thumb.jpg) no-repeat center center;
   background-size:cover;
}

.vimeo-wrapper iframe {
   width: 100vw;
   height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
   min-height: 100vh;
   min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}
	
    .hero video {
      position:absolute; inset:0;
      width:100%; height:100%; object-fit:cover;
      /* Mobile fix: force GPU layer */
      transform: translateZ(0);
      -webkit-transform: translateZ(0);
    }
    .hero-overlay {
      position:absolute; inset:0;
      background:linear-gradient(
        to bottom,
        rgba(0,0,0,0.10) 0%,
        rgba(0,0,0,0.04) 18%,
        rgba(0,0,0,0.48) 52%,
        rgba(0,0,0,0.86) 76%,
        rgba(0,0,0,0.96) 100%
      );
    }
    .hero-body { position:relative; z-index:2; width:100%; padding-bottom:72px; }
    .hero-h1 {
      font-family:"Cormorant Garamond",serif;
      font-size:clamp(3.8rem,6.0vw,7rem);
      font-weight:600; line-height:0.96;
      letter-spacing:-0.03em; color:#fff;
      max-width:14ch; margin-bottom:24px;
      text-shadow:0 2px 40px rgba(0,0,0,0.5);
    }
    .hero-sub {
      font-size:1.08rem; font-weight:400; line-height:1.70;
      color:rgba(255,255,255,0.90); max-width:520px; margin-bottom:36px;
    }
    .hero-btns { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:44px; }
    .btn-orange {
      display:inline-flex; align-items:center; justify-content:center;
      padding:16px 28px; border-radius:2px;
      background:var(--orange); color:white!important;
      font-size:0.88rem; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
      transition:opacity 150ms;
    }
    .btn-orange:hover { opacity:0.88; }
    .btn-outline-white {
      display:inline-flex; align-items:center; justify-content:center;
      padding:15px 28px; border-radius:2px;
      background:transparent; color:white!important;
      border:1px solid rgba(255,255,255,0.45);
      font-size:0.88rem; font-weight:500; letter-spacing:0.02em;
      transition:background 150ms;
    }
    .btn-outline-white:hover { background:rgba(255,255,255,0.10); }
    .hero-proof { display:flex; flex-wrap:wrap; gap:8px 24px; }
    .proof-item { display:flex; align-items:center; gap:8px; font-size:1rem; font-weight:500; color:rgba(255,255,255,0.85); }
    .proof-item::before { content:"✓"; color:var(--orange); font-weight:700; }

    /* ── STATS BAND — dark, exact KF style ── */
    .stats-bar { background:var(--dark-band); }
    .stats-grid { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid rgba(255,255,255,0.08); }
    .stat-cell {
      padding:40px 36px;
      border-right:1px solid rgba(255,255,255,0.08);
      display:flex; flex-direction:column; gap:8px;
	  align-items: center;
    }
    .stat-cell:last-child { border-right:none; }
    /* KF uses large Cormorant serif for stat numbers */
    .stat-val {
      font-family:"Cormorant Garamond",serif;
      font-size:3.6rem; font-weight:600; line-height:1;
      color:white; letter-spacing:-0.02em;
    }
    .stat-val em { font-style:normal; color:var(--orange); }
    .stat-val .up-to {
      font-family:"DM Sans",sans-serif;
      font-size:1.3rem; font-weight:600; color:#ffffff;
      display:block; margin-bottom:3px;
    }
    .stat-lbl {
      font-size:0.68rem; font-weight:700;
      letter-spacing:0.18em; text-transform:uppercase;
      color:#888888;
    }

    /* ── ORANGE BANNER — exactly like KF ── */
    .orange-banner {
      background:var(--orange);
      padding:18px 0;
      text-align:center;
    }
    .orange-banner p {
      font-size:1rem; font-weight:500; color:white; letter-spacing:0.01em;
    }

    /* ── SHARED SECTIONS ── */
    /* White sections */
    .section     { padding:96px 0; background:var(--white); }
    /* Off-white / warm cream sections */
    .section-off { padding:96px 0; background:var(--off-white); }
    /* Dark sections */
    .section-dk  { padding:96px 0; background:var(--dark-band); }

    /* Eyebrow — exactly KF style: orange line + orange uppercase text */
    .eyebrow {
      display:inline-flex; align-items:center; gap:10px;
      font-size:0.65rem; font-weight:700; letter-spacing:0.20em;
      text-transform:uppercase; color:var(--orange);
      margin-bottom:18px;
    }
    .eyebrow::before { content:""; width:22px; height:2px; background:var(--orange); display:block; flex-shrink:0; }

    /* Headings */
    h2 {
      font-family:"Cormorant Garamond",serif!important;
      font-size:clamp(2.6rem,4.5vw,3.8rem)!important;
      font-weight:600; line-height:1.04!important;
      letter-spacing:-0.03em; color:var(--text)!important;
    }
    h2.on-dark { color:#ffffff; }
    h3 {
      font-family:"Cormorant Garamond",serif!important;
      font-size:1.2rem!important; font-weight:600!important;
      letter-spacing:-0.02em!important; line-height:1.25!important; color:var(--text)!important;
    }
    h3.on-dark { color:#ffffff; }

    /* Body copy */
    .body { font-size:1rem; font-weight:400; line-height:1.76; color:var(--body); }
    .body.on-dark { color:#c0cdd8; }
    .body p+p { margin-top:14px; }

    /* ── SCENARIO — white bg, photo left / table right ── */
    .two-col { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
    .two-col.flip { direction:rtl; }
    .two-col.flip > * { direction:ltr; }
    .feat-img { border-radius:3px; overflow:hidden; height:520px; }
    .feat-img img { width:100%; height:100%; object-fit:cover; }

    /* Loan table — KF light style */
    .loan-table { margin-top:36px; border:1px solid var(--border); border-radius:3px; overflow:hidden; }
    .loan-head { padding:11px 20px; background:var(--light-grey); font-size:0.62rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--muted); border-bottom:1px solid var(--border); }
    .loan-row { display:flex; justify-content:space-between; align-items:center; padding:13px 20px; border-bottom:1px solid var(--border); font-size:0.92rem; background:white; }
    .loan-row:last-child { border-bottom:none; }
    .loan-row span { color:var(--muted); font-weight:400; }
    .loan-row strong { color:var(--text); font-weight:600; }

    /* ── PHOTO PAIR — edge to edge ── */
    .photo-pair { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
    .photo-cell { overflow:hidden; height:460px; }
    .photo-cell img { width:100%; height:100%; object-fit:cover; transition:transform 700ms ease; display:block; }
    .photo-cell:hover img { transform:scale(1.03); }

    /* ── WHY — off-white bg, numbered list right (exactly like screenshot 3) ── */
    .why-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
    .why-left h2 { margin-bottom:20px; }
    .why-left .body { margin-bottom:32px; }
    .btn-orange-solid {
      display:inline-flex; align-items:center; justify-content:center;
      padding:16px 28px; border-radius:2px;
      background:var(--orange); color:white!important;
      font-size:0.85rem; font-weight:700; letter-spacing:0.05em; text-transform:uppercase;
      transition:opacity 150ms;
    }
    .btn-orange-solid:hover { opacity:0.88; }
    /* Right side: numbered list with horizontal rules — exactly KF screenshot 3 */
    .why-list { display:flex; flex-direction:column; }
    .why-item {
      display:grid; grid-template-columns:48px 1fr;
      gap:0 20px; padding:24px 0;
      border-bottom:1px solid var(--border);
    }
    .why-item:first-child { border-top:1px solid var(--border); }
    .why-n { font-family:"Cormorant Garamond",serif; font-size:2.5rem; font-weight:600; color:var(--orange); padding-top:3px; line-height:1; margin-top: -15px;}
    .why-item h3 { font-size:1.05rem; margin-bottom:6px; color:var(--text); }
    .why-item p { font-size:0.92rem; line-height:1.70; color:var(--body); font-weight:400; }
	
	
	/* FL properties*/
	.fl-slide{padding:20px;}
	.fl-slide .deal-details{text-align:center; font-size:16px; line-height:1; padding:25px 0 0 0;}
	.fl-slide .deal-amount{font-family:"Cormorant Garamond",serif;font-size:2.2rem; line-height:1; color:#E8500A; font-weight:600; display:block; margin:0 auto 10px;}
	
	.slick-prev:before, .slick-next:before {
    font-size: 24px!important;
    color: black!important;}
	
	.slick-prev, .slick-next {
    top: 40%!important;}

    /* ── PROCESS — off-white bg, 4-col numbered ── */
    .process-grid {
      display:grid; grid-template-columns:repeat(4,1fr);
      gap:16px; margin-top:52px;
    }
    .process-step {
      padding:40px 32px;
      background:white;
      border-radius:3px;
      border:1px solid var(--border);
      position:relative;
      overflow:hidden;
      transition:box-shadow 220ms, transform 220ms;
    }
    .process-step:hover {
      box-shadow:0 12px 40px rgba(0,0,0,0.09);
      transform:translateY(-3px);
    }
    /* Orange top accent bar */
    .process-step::before {
      content:"";
      position:absolute;
      top:0; left:0; right:0;
      height:3px;
      background:var(--orange);
    }
    .step-num {
      font-family:"Cormorant Garamond",serif;
      font-size:4rem; font-weight:600; line-height:1;
      color:var(--orange);
      margin-bottom:20px;
      opacity:0.85;
    }
    .process-step h3 {
      font-size:1.4rem!important; color:var(--text);
      margin-bottom:12px; font-weight:700;
      letter-spacing:-0.01em;
    }
    .process-step p  { font-size:0.92rem; line-height:1.74; color:var(--body); font-weight:400; }

    /* ── FAQ — white bg, two-col Q&A rows with rules ── */
    .faq-table { margin-top:48px; border-top:1px solid var(--border); }
    .faq-row {
      display:grid; grid-template-columns:1fr 1fr;
      gap:48px; padding:28px 0;
      border-bottom:1px solid var(--border);
    }
    .faq-q { font-family:"Cormorant Garamond",serif; font-size:1.4rem; font-weight:800; color:#000; line-height:1.3; }
    .faq-a { font-size:0.92rem; line-height:1.74; color:var(--body); font-weight:400; }

    /* ── CONTACT — white bg, form style exactly KF screenshot 2 ── */
    .contact-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
    .contact-left h2 { margin-bottom:18px; }
    .contact-left .body { margin-bottom:28px; color:var(--body); }
    .bullet-list { margin-bottom:32px; display:flex; flex-direction:column; gap:12px; }
    .bullet-item {
      display:flex; align-items:center; gap:12px;
      font-size:0.95rem; color:var(--body); font-weight:400;
    }
    .bullet-item::before {
      content:""; width:8px; height:8px; border-radius:50%;
      background:var(--orange); flex-shrink:0;
    }
    /* KF form style: bottom-border only inputs on light grey bg */
    .contact-form { display:flex; flex-direction:column; gap:0; background:var(--light-grey); padding:36px; border-radius:3px; }
    .form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
    .form-group { display:flex; flex-direction:column; gap:6px; margin-bottom:20px; }
    .form-group label { font-size:0.82rem; font-weight:600; color:var(--text); letter-spacing:0.01em; }
    .form-group input,
    .form-group textarea,
    .form-group select {
      width:100%; padding:10px 0;
      background:transparent;
      border:none; border-bottom:1px solid #ccc;
      color:var(--text);
      font-family:"DM Sans",sans-serif; font-size:0.92rem; font-weight:400;
      outline:none; transition:border-color 150ms;
    }
    .form-group input:focus,
    .form-group textarea:focus,
    .form-group select:focus { border-bottom-color:var(--orange); }
    .form-group input::placeholder,
    .form-group textarea::placeholder { color:#aaa; }
    .form-group select { cursor:pointer; }
    .form-group select option { background:white; color:var(--text); }
    .form-group textarea { height:90px; resize:none; }
    .btn-submit {
      display:flex; align-items:center; justify-content:center;
      width:100%; padding:15px; border-radius:2px; border:none; cursor:pointer;
      background:var(--orange); color:white;
      font-family:"DM Sans",sans-serif; font-size:0.9rem; font-weight:700;
      letter-spacing:0.04em; text-transform:uppercase;
      margin-top:8px;
      transition:opacity 150ms;
    }
    .btn-submit:hover { opacity:0.88; }

    /* ── FOOTER — white ── */
    .site-footer {
      background:#ffffff; border-top:1px solid var(--border); padding:36px 0;
    }
    .footer-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
    .footer-brand { display:flex; align-items:center; gap:12px; }
    .footer-logo  { /*width:72px; height:44px;*/ height:60px; object-fit:contain; }
    .footer-name  { font-size:0.8rem; color:var(--muted); font-weight:500; }
    .footer-note  { max-width:560px; font-size:0.72rem; color:var(--muted); line-height:1.65; }

    /* ── RESPONSIVE ── */
    @media (max-width:1020px) {
      .two-col, .why-layout, .contact-layout { grid-template-columns:1fr; gap:40px; }
      .two-col.flip { direction:ltr; }
      .stats-grid { grid-template-columns:repeat(2,1fr); }
      .process-grid { grid-template-columns:repeat(2,1fr); }
      .faq-row { grid-template-columns:1fr; gap:10px; }
    }
    @media (max-width:680px) {
      .nav-links { display:none; }
	  .nav-inner {width: min(1200px, calc(100% - 0px))};
	  .nav-cta{padding: 10px 10px;}
	  .hero-body {padding-bottom: 24px;}
      .hero-h1 { font-size:3rem; }
      .hero-btns { flex-direction:column; }
	  .stat-cell {
align-items: center;
 align-content: center;
 flex-wrap: wrap;
        flex-direction: row;
		justify-content: center;
    }
	
	#process h2{font-size: 2.65em !important}
	
      .photo-pair { grid-template-columns:1fr; }
      .photo-cell { height:280px; }
      .process-grid { grid-template-columns:1fr; }
      h2 { font-size:2.2rem; }
    }