/* Florida Palm Lending — design tokens
   Color: Dusk #211A14 (nav/footer neutral, not green), Brass #C98A3E (primary accent),
          Ember #E8641C (illustration only), Sawgrass #3E7C63 (one deliberate green touch —
          the "Palm" in the name — used only for the homepage tag and text links),
          Shell #FBFAF6 (bg), Ink #1C1915 (text), Cloud #E7E2D3 (divider)
   Type: Bodoni Moda (display) + Inter (body)
   Layout: asymmetric hero, left-aligned, hierarchy-driven program cards (featured vs list rows)
   Restraint rule: brass hairlines mark the three real structural boundaries (nav, page-hero,
   footer) only — panels and cards stay plain rectangles, not a repeated decorative treatment.
*/

:root{
  --palm:#114B3F;
  --sawgrass:#3E7C63;
  --brass:#C98A3E;
  --brass-dark:#A66F2C;
  --ember:#E8641C;
  --dusk:#211A14;
  --shell:#FBFAF6;
  --ink:#1C1915;
  --ink-soft:#58544C;
  --cloud:#E7E2D3;
  --cloud-line:#D8D2BE;
  --white:#FFFFFF;

  --font-display:"Bodoni Moda",ui-serif,Georgia,serif;
  --font-body:"Inter",ui-sans-serif,-apple-system,sans-serif;

  --maxw:1180px;
}

/* Neutral warm darks (not green-tinted) so dark mode reads as "dusk", not "more palm" */
@media (prefers-color-scheme: dark){
  :root{
    --shell:#141311;
    --ink:#EDEBE5;
    --ink-soft:#B4B0A6;
    --cloud:#211F1B;
    --cloud-line:#332F28;
    --white:#1C1A16;
  }
}
:root[data-theme="dark"]{
  --shell:#141311; --ink:#EDEBE5; --ink-soft:#B4B0A6; --cloud:#211F1B; --cloud-line:#332F28; --white:#1C1A16;
}
:root[data-theme="light"]{
  --shell:#FBFAF6; --ink:#1C1915; --ink-soft:#58544C; --cloud:#E7E2D3; --cloud-line:#D8D2BE; --white:#FFFFFF;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--shell);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%;display:block;}
a{color:var(--sawgrass);text-decoration:none;}
a:hover{text-decoration:underline;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}

h1,h2,h3{font-family:var(--font-display);color:var(--ink);line-height:1.1;margin:0;font-weight:600;letter-spacing:-0.01em;}
h1{font-size:clamp(2.5rem,4.8vw,3.8rem);}
h2{font-size:clamp(1.7rem,2.8vw,2.3rem);}
h3{font-size:1.2rem;font-weight:500;}
p{max-width:62ch;color:var(--ink-soft);}
.lede{font-size:1.1rem;max-width:56ch;}

:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important;animation-iteration-count:1 !important;transition-duration:0.001ms !important;}
}

/* NAV */
nav.site-nav{
  background:var(--dusk);
  color:#F5F1E8;
  padding:16px 0;
  position:sticky;top:0;z-index:40;
  border-bottom:2px solid var(--brass);
}
nav.site-nav .bar{display:flex;align-items:center;gap:18px;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.nav-logo{display:flex;align-items:center;gap:10px;color:#F5F1E8;font-family:var(--font-display);font-weight:600;font-size:1.15rem;}
.nav-logo:hover{text-decoration:none;}
.nav-mark{width:30px;height:30px;flex-shrink:0;}
.nav-links{list-style:none;display:flex;gap:26px;margin:0 0 0 auto;padding:0;align-items:center;}
.nav-links a{color:#F5F1E8;opacity:.88;font-size:.95rem;}
.nav-links a:hover{opacity:1;text-decoration:none;border-bottom:1px solid var(--brass);}
.nav-links .cta a{background:linear-gradient(135deg,#DBA054,var(--brass) 55%,var(--ember));color:var(--dusk);padding:9px 20px;border-radius:5px;font-weight:700;opacity:1;box-shadow:0 2px 14px rgba(201,138,62,.35);}
.nav-links .cta a:hover{box-shadow:0 4px 18px rgba(201,138,62,.5);border-bottom:none;text-decoration:none;}
.nav-links li.lang-switch{display:flex;align-items:center;gap:6px;}
.lang-pill{display:inline-flex;align-items:center;justify-content:center;min-width:28px;padding:4px 9px;border-radius:999px;border:1px solid rgba(245,241,232,.35);font-size:.72rem;font-weight:700;letter-spacing:.02em;color:#F5F1E8;opacity:.75;}
.lang-pill:hover{opacity:1;text-decoration:none;border-color:var(--brass);}
.lang-pill.active{background:var(--brass);color:var(--dusk);border-color:var(--brass);opacity:1;}
.lang-pill.blink{animation:langBlink 2.2s ease-in-out infinite;}
@keyframes langBlink{0%,100%{opacity:.55;border-color:rgba(245,241,232,.35);}50%{opacity:1;border-color:var(--brass);}}
.nav-burger{display:none;background:none;border:0;color:#F5F1E8;width:34px;height:34px;margin-left:auto;cursor:pointer;}
.nav-burger span{display:block;height:2px;background:#F5F1E8;margin:7px 6px;}

@media (max-width:860px){
  .nav-links{position:fixed;inset:60px 0 0 0;background:var(--dusk);flex-direction:column;align-items:flex-start;padding:28px 24px;gap:20px;transform:translateX(100%);transition:transform .25s ease;}
  .nav-links.open{transform:translateX(0);}
  .nav-burger{display:block;}
}

/* HERO */
.hero{padding:64px 0 48px;}
.hero .bar{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.hero-tag{color:var(--sawgrass);font-weight:600;font-size:.95rem;margin-bottom:14px;}
.hero h1{margin-bottom:18px;}
.hero .lede{margin-bottom:26px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 24px;border-radius:3px;font-weight:600;font-size:.98rem;border:1px solid transparent;cursor:pointer;}
.btn-primary{background:var(--brass);color:var(--dusk);}
.btn-primary:hover{background:#D79B52;text-decoration:none;}
.btn-outline{background:transparent;color:var(--ink);border-color:var(--cloud-line);}
.btn-outline:hover{border-color:var(--sawgrass);text-decoration:none;}
.trust-line{color:var(--ink-soft);font-size:.9rem;margin:4px 0 0;}
.trust-line.lang-line{color:var(--brass-dark);font-weight:600;}

.hero-art{position:relative;aspect-ratio:4/3;border:1px solid var(--brass);overflow:hidden;}
.hero-art svg{width:100%;height:100%;display:block;}
.hero-art .stat-card{position:absolute;left:0;bottom:0;background:var(--dusk);border-top:1px solid var(--brass);padding:14px 26px 14px 18px;color:#fff;}
.hero-art .stat-card .n{font-family:var(--font-display);font-size:1.4rem;line-height:1.1;white-space:nowrap;}
.hero-art .stat-card .l{font-size:.78rem;opacity:.75;margin-top:4px;max-width:22ch;}
@media (prefers-reduced-motion: no-preference){
  .hero-art{animation:sweep 1.1s ease-out;}
}
@keyframes sweep{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

@media (max-width:860px){.hero .bar{grid-template-columns:1fr;}.hero-art{order:-1;aspect-ratio:16/9;}}

/* TICKER — horizontally scrollable, shares the .carousel mechanics below */
.ticker{background:var(--dusk);padding:16px 0;}
.ticker .carousel-block{max-width:var(--maxw);margin:0 auto;padding:0 48px;}
.ticker-track{padding:4px 0;}
.ticker-track.carousel{scroll-snap-type:none;}
.ticker-track span{flex:0 0 auto;scroll-snap-align:start;padding-right:18px;font-size:.85rem;color:#DCE6E0;white-space:nowrap;position:relative;}
.ticker-track span:not(:last-child)::after{content:"";position:absolute;right:9px;top:50%;width:5px;height:5px;background:var(--brass);transform:translate(50%,-50%) rotate(45deg);}
.ticker .carousel-arrow{background:#2B2118;color:#F5F1E8;width:32px;height:32px;}
.ticker .carousel-arrow.prev{left:0;}
.ticker .carousel-arrow.next{right:0;}
@media (max-width:640px){.ticker .carousel-arrow{display:none;}.ticker .carousel-block{padding:0 24px;}}

/* SECTIONS */
.section{padding:72px 0;}
.section-head{max-width:640px;margin-bottom:40px;}
.section-head h2{margin-bottom:12px;}
.section-alt{background:var(--white);border-top:1px solid var(--cloud-line);border-bottom:1px solid var(--cloud-line);}

/* PROGRAM GRID (featured vs list rows — not identical cards) */
.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;}
.program-card{background:var(--white);border:1px solid var(--cloud-line);border-radius:3px;padding:26px;display:flex;flex-direction:column;gap:10px;}
.program-card h3{font-size:1.25rem;font-weight:500;}
.program-card p{font-size:.94rem;}
.program-card a.more{font-weight:600;color:var(--brass-dark);font-size:.9rem;margin-top:auto;}
@media (max-width:860px){.program-grid{grid-template-columns:1fr;}}

/* PROGRAM CAROUSEL — the full 13-program listing, horizontally scrollable */
.carousel-block{position:relative;}
.carousel{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;padding:4px 2px 12px;}
.carousel::-webkit-scrollbar{display:none;}
.carousel-card{flex:0 0 268px;scroll-snap-align:start;background:var(--white);border:1px solid var(--cloud-line);border-radius:3px;padding:24px;display:flex;flex-direction:column;gap:10px;}
.carousel-card.featured{border-top:3px solid var(--brass);}
.carousel-card h3{font-size:1.1rem;font-weight:500;}
.carousel-card p{font-size:.9rem;}
.carousel-card a.more{font-weight:600;color:var(--brass-dark);font-size:.88rem;margin-top:auto;}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--brass);background:var(--shell);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.18);z-index:3;transition:background .15s,color .15s;}
.carousel-arrow:hover{background:var(--brass);color:var(--dusk);}
.carousel-arrow[disabled]{opacity:0;pointer-events:none;}
.carousel-arrow.prev{left:4px;}
.carousel-arrow.next{right:4px;}
@media (max-width:860px){.carousel-arrow{display:none;}.carousel-card{flex-basis:76vw;}}

/* PROCESS */
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.process-step .idx{font-family:var(--font-display);color:var(--brass-dark);font-size:1.15rem;width:38px;height:38px;border:1.5px solid var(--brass);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
@media (max-width:860px){.process-steps{grid-template-columns:1fr 1fr;}}
@media (max-width:540px){.process-steps{grid-template-columns:1fr;}}

/* TEAM */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px 40px;}
.team-card{border-top:1px solid var(--cloud-line);padding-top:20px;}
.team-avatar{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--brass);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1rem;color:var(--brass-dark);margin-bottom:14px;}
.team-card h3{font-size:1.1rem;margin-bottom:2px;}
.team-title{font-size:.85rem;color:var(--brass-dark);font-weight:600;margin-bottom:10px;}
.team-card p{font-size:.92rem;}
.team-quote{margin-top:12px;padding-left:14px;border-left:2px solid var(--brass);font-style:italic;color:var(--ink-soft);font-size:.9rem;}
@media (max-width:640px){.team-grid{grid-template-columns:1fr;}}

/* FAQ — accordion */
.faq-item{border-bottom:1px solid var(--cloud-line);}
.faq-q{width:100%;background:none;border:none;cursor:pointer;text-align:left;padding:18px 0;font-family:var(--font-body);font-size:1rem;font-weight:600;color:var(--ink);display:flex;justify-content:space-between;align-items:center;gap:16px;}
.faq-q:hover{color:var(--brass-dark);}
.faq-icon{font-size:1.2rem;line-height:1;flex-shrink:0;color:var(--brass);transition:transform .25s ease;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease;}
.faq-a > p{min-height:0;overflow:hidden;font-size:.95rem;margin:0;}
.faq-item.open .faq-a{grid-template-rows:1fr;}
.faq-item.open .faq-a > p{padding-bottom:18px;}

/* FORM */
.lead-form{background:var(--white);border:1px solid var(--cloud-line);border-radius:3px;padding:30px;display:grid;gap:14px;max-width:520px;}
.lead-form label{font-size:.85rem;font-weight:600;color:var(--ink);display:block;margin-bottom:5px;}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;padding:11px 12px;border:1px solid var(--cloud-line);border-radius:3px;background:var(--shell);color:var(--ink);font-family:var(--font-body);font-size:.95rem;}
.lead-form textarea{min-height:80px;resize:vertical;}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{outline:2px solid var(--sawgrass);outline-offset:1px;}
.lead-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:540px){.lead-form .row2{grid-template-columns:1fr;}}
.form-note{font-size:.82rem;color:var(--ink-soft);margin-top:-4px;}
.form-success{display:none;background:var(--cloud);border:1px solid var(--sawgrass);border-radius:3px;padding:18px;color:var(--ink);}
.form-error{display:none;margin-top:4px;padding:13px 16px;background:#F7E8E4;border:1px solid #DCB3A8;border-radius:3px;color:#7A3324;font-size:.85rem;line-height:1.6;}
.form-error a{color:inherit;font-weight:600;text-decoration:underline;}
.req{color:#B23A2E;font-size:.85em;}

/* SPLIT LAYOUTS — two-column sections (bullets+form, form+contact info, etc.) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.split.align-start{align-items:start;}
.split-lede{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;}
@media (max-width:860px){.split,.split-lede{grid-template-columns:1fr;}}

/* CALCULATOR */
.calc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;}
.calc-inputs{display:grid;gap:14px;}
.calc-inputs label{font-size:.85rem;font-weight:600;}
.calc-inputs input{width:100%;padding:11px 12px;border:1px solid var(--cloud-line);border-radius:3px;background:var(--white);color:var(--ink);font-family:var(--font-body);font-size:.95rem;}
.calc-result{background:var(--dusk);color:#F5F1E8;border-radius:3px;padding:28px;}
.calc-result .big{font-family:var(--font-display);font-size:2.4rem;}
.calc-result .label{opacity:.78;font-size:.88rem;}
.calc-result .row{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid rgba(255,255,255,.18);font-size:.92rem;}
.calc-tier{font-size:.85rem;margin:14px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.18);color:#E8E3D8;}
.calc-tier.tier-strong{color:#8FCBAE;}
.calc-tier.tier-ok{color:#E8C994;}
.calc-tier.tier-low{color:#E3A98F;}
@media (max-width:860px){.calc-wrap{grid-template-columns:1fr;}}

/* FOOTER */
footer.site-footer{background:var(--dusk);color:#E3DED2;padding:48px 0 28px;margin-top:40px;border-top:2px solid var(--brass);}
footer.site-footer a{color:#E3DED2;opacity:.85;}
footer.site-footer a:hover{opacity:1;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:28px;}
.footer-grid h4{color:#fff;font-size:.9rem;margin:0 0 12px;}
.footer-grid ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;font-size:.9rem;}
.footer-disclosure{font-size:.8rem;opacity:.65;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;max-width:900px;}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr;}}

/* PAGE HERO (program pages) */
.page-hero{background:var(--dusk);color:#fff;padding:52px 0;border-bottom:2px solid var(--brass);}
.page-hero .hero-tag{color:#E8C994;}
.page-hero h1{color:#fff;font-size:clamp(2rem,3.6vw,2.8rem);}
.page-hero p{color:#E3DED2;}
.bullets{display:grid;gap:12px;margin:0;padding:0;list-style:none;}
.bullets li{display:flex;gap:10px;align-items:flex-start;color:var(--ink-soft);}
.bullets li svg{flex-shrink:0;margin-top:4px;color:var(--sawgrass);}

/* STICKY APPLY — appears once past the hero, hidden near the footer or while the modal is open */
.sticky-apply{position:fixed;right:22px;bottom:22px;z-index:500;transform:translateY(12px);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease;}
.sticky-apply.show{transform:translateY(0);opacity:1;pointer-events:auto;}
.sticky-apply .btn{background:linear-gradient(135deg,#DBA054,var(--brass) 55%,var(--ember));color:var(--dusk);padding:15px 26px;font-size:1rem;box-shadow:0 10px 28px rgba(0,0,0,.32),0 0 0 0 rgba(232,100,28,.45);}
.sticky-apply.show .btn{animation:applyPulse 2.6s ease-in-out 1s infinite;}
.sticky-apply .btn:hover{animation-play-state:paused;box-shadow:0 10px 28px rgba(0,0,0,.32),0 0 0 8px rgba(232,100,28,0);}
@keyframes applyPulse{
  0%,100%{box-shadow:0 10px 28px rgba(0,0,0,.32),0 0 0 0 rgba(232,100,28,.4);}
  50%{box-shadow:0 10px 28px rgba(0,0,0,.32),0 0 0 9px rgba(232,100,28,0);}
}
@media (max-width:540px){.sticky-apply{right:14px;bottom:14px;}.sticky-apply .btn{padding:13px 20px;font-size:.92rem;}}

/* APPLY MODAL — step wizard */
.modal-overlay{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:none;align-items:center;justify-content:center;padding:20px;}
.modal-overlay.open{display:flex;}
.modal-box{background:var(--white);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;padding:40px;position:relative;border-radius:3px;transform:translateY(16px);opacity:0;transition:transform .25s ease,opacity .25s ease;}
.modal-overlay.open .modal-box{transform:translateY(0);opacity:1;}
.modal-close{position:absolute;top:14px;right:16px;background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--ink-soft);line-height:1;padding:6px;}
.modal-close:hover{color:var(--ink);}
.modal-progress-bar{height:3px;background:var(--cloud-line);width:100%;margin-top:4px;}
.modal-progress-fill{height:100%;background:var(--brass);width:25%;transition:width .3s ease;}
.modal-step-label{font-size:.78rem;color:var(--ink-soft);margin-top:12px;font-weight:600;}
.modal-step-title{font-family:var(--font-display);font-weight:600;font-size:1.4rem;margin:18px 0 22px;}
.apply-step{display:none;}
.apply-step.active{display:block;}
.modal-box .field{margin-bottom:16px;}
.modal-box label{font-size:.85rem;font-weight:600;color:var(--ink);display:block;margin-bottom:5px;}
.modal-box input,.modal-box select,.modal-box textarea{width:100%;padding:11px 12px;border:1px solid var(--cloud-line);border-radius:3px;background:var(--shell);color:var(--ink);font-family:var(--font-body);font-size:.95rem;}
.modal-box textarea{min-height:80px;resize:vertical;}
.modal-box input:focus,.modal-box select:focus,.modal-box textarea:focus{outline:2px solid var(--sawgrass);outline-offset:1px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:540px){.form-row{grid-template-columns:1fr;}.modal-box{padding:28px 22px;}}
.modal-actions{display:flex;gap:12px;margin-top:28px;}
.modal-actions .btn{flex:1;justify-content:center;}

/* THANK YOU */
.thank-you-overlay{z-index:9999;}
.thank-you-box{background:var(--white);max-width:460px;width:100%;padding:44px 40px;position:relative;text-align:center;border-radius:3px;}
.thank-you-box h3{margin-bottom:12px;}
.thank-you-box p{margin:0 auto 26px;color:var(--ink-soft);font-size:.92rem;max-width:34ch;}
