/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* Base / Elementor site settings */
body.sf-site,
.sf-site { color: var(--sf-charcoal); background: var(--sf-cream); font-family: "Manrope", sans-serif; -webkit-font-smoothing: antialiased; }
.sf-site h1,
.sf-site h2,
.sf-site h3,
.sf-site h4,
.sf-heading { color: var(--sf-ink); font-family: "Fraunces", Georgia, serif; font-weight: 600; letter-spacing: -.055em; line-height: .99; }
.sf-site p { line-height: 1.7; }
.sf-site a { transition: color 180ms var(--sf-ease), background 180ms var(--sf-ease), transform 180ms var(--sf-ease), box-shadow 180ms var(--sf-ease); }
.sf-site a:focus-visible,
.sf-site button:focus-visible,
.sf-site input:focus-visible,
.sf-site select:focus-visible,
.sf-site textarea:focus-visible { outline: 2px solid var(--sf-brass); outline-offset: 4px; }

/* Layout helpers */
.sf-page-rail { width: min(var(--sf-content-width), calc(100% - 64px)); margin-inline: auto; }
.sf-dark { color: var(--sf-cream); background: var(--sf-ink); }
.sf-dark-soft { color: var(--sf-cream); background: var(--sf-ink-soft); }
.sf-paper { background: var(--sf-paper); }
.sf-mist { background: var(--sf-mist); }
.sf-section-padding { padding-block: 116px 126px; }
.sf-section-kicker { display: flex; align-items: center; gap: 10px; color: var(--sf-brass-dark); font-size: 10px; font-weight: 800; letter-spacing: .17em; line-height: 1.4; text-transform: uppercase; }
.sf-section-kicker::before { content: ""; display: inline-block; width: 32px; height: 1px; background: var(--sf-brass); }
.sf-dark .sf-section-kicker,
.sf-dark-soft .sf-section-kicker { color: var(--sf-brass); }

/* Brand lockup */
.sf-brand { display: inline-flex; align-items: center; gap: 11px; }
.sf-brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(215, 164, 74, .72); }
.sf-brand-mark img { width: 27px; height: 27px; object-fit: contain; }
.sf-brand-name { display: block; color: var(--sf-ink); font-family: "Fraunces", Georgia, serif; font-size: 17px; font-weight: 600; line-height: 1; letter-spacing: -.02em; }
.sf-brand-affiliation { display: block; margin-top: 3px; color: var(--sf-slate); font-size: 9px; font-weight: 800; letter-spacing: .12em; line-height: 1; text-transform: uppercase; }
.sf-dark .sf-brand-name,
.sf-dark .sf-brand-affiliation,
.sf-dark-soft .sf-brand-name,
.sf-dark-soft .sf-brand-affiliation { color: var(--sf-cream); }

/* Utility bar / header */
.sf-utility-bar { color: rgba(255, 255, 255, .78); background: var(--sf-ink); font-size: 11px; }
.sf-utility-bar a { color: inherit; }
.sf-utility-bar a:hover { color: var(--sf-brass); }
.sf-header { position: sticky; top: 0; z-index: 30; background: rgba(247, 242, 233, .92); border-bottom: 1px solid rgba(16, 40, 59, .1); backdrop-filter: blur(16px); }
.sf-header .elementor-container { min-height: 84px; align-items: center; }
.sf-header-nav a { color: var(--sf-ink); font-size: 12px; font-weight: 800; }
.sf-header-nav a:hover { color: var(--sf-brass-dark); }

/* Buttons */
.sf-button .elementor-button,
.sf-button a,
.sf-button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 20px; color: var(--sf-ink); background: var(--sf-brass); border: 1px solid transparent; border-radius: 0; box-shadow: 0 7px 0 rgba(16, 40, 59, .08); font-size: 11px; font-weight: 800; letter-spacing: .08em; line-height: 1; text-transform: uppercase; transition: transform 160ms var(--sf-ease), background 180ms var(--sf-ease), color 180ms var(--sf-ease), box-shadow 180ms var(--sf-ease); }
.sf-button .elementor-button:hover,
.sf-button a:hover,
.sf-button:hover { color: var(--sf-ink); background: #E1B45C; box-shadow: 0 10px 22px rgba(159, 112, 34, .22); transform: translateY(-2px); }
.sf-button--outline .elementor-button,
.sf-button--outline a { color: var(--sf-cream); background: transparent; border-color: rgba(247, 242, 233, .45); box-shadow: none; }
.sf-button--outline .elementor-button:hover,
.sf-button--outline a:hover { color: var(--sf-ink); background: var(--sf-brass); border-color: var(--sf-brass); }
.sf-button--navy .elementor-button,
.sf-button--navy a { color: var(--sf-cream); background: var(--sf-ink); box-shadow: none; }
.sf-button--navy .elementor-button:hover,
.sf-button--navy a:hover { color: var(--sf-cream); background: var(--sf-ink-soft); box-shadow: 0 11px 24px rgba(16, 40, 59, .18); }

/* Hero */
.sf-hero { position: relative; overflow: hidden; color: var(--sf-cream); background: var(--sf-ink); isolation: isolate; }
.sf-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(16, 40, 59, .98), rgba(16, 40, 59, .76)); pointer-events: none; }
.sf-hero .elementor-container { min-height: 650px; align-items: center; }
.sf-hero h1 { color: var(--sf-cream); font-size: clamp(46px, 5.3vw, 76px); }
.sf-hero h1 em,
.sf-emphasis { color: var(--sf-brass); font-style: italic; font-weight: 500; }
.sf-hero p { color: rgba(247, 242, 233, .76); font-size: 17px; }
.sf-hero-image img { border: 1px solid rgba(215, 164, 74, .72); box-shadow: 22px 24px 0 rgba(215, 164, 74, .14); filter: saturate(.86) contrast(.96); }
.sf-badge { color: var(--sf-ink); background: var(--sf-brass); border-radius: 50%; box-shadow: 8px 10px 0 rgba(16, 40, 59, .2); transform: rotate(7deg); }

/* Feature cards */
.sf-feature-card,
.sf-testimonial-card { position: relative; background: var(--sf-white); border: 1px solid rgba(16, 40, 59, .09); box-shadow: 0 8px 0 rgba(16, 40, 59, .035); transition: transform 220ms var(--sf-ease), box-shadow 220ms var(--sf-ease); }
.sf-feature-card:hover,
.sf-testimonial-card:hover { box-shadow: var(--sf-shadow); transform: translateY(-7px); }
.sf-feature-icon { width: 43px; height: 43px; display: grid; place-items: center; color: var(--sf-ink); background: rgba(215, 164, 74, .23); }
.sf-feature-number { color: rgba(16, 40, 59, .3); font-size: 10px; font-weight: 800; }
.sf-feature-card h3 { margin-block: 28px 9px; font-size: 23px; }
.sf-feature-card p { color: var(--sf-slate); font-size: 13px; }

/* Service cards */
.sf-service-card { color: var(--sf-cream); background: var(--sf-ink); transition: transform 220ms var(--sf-ease), background 220ms var(--sf-ease), box-shadow 220ms var(--sf-ease); }
.sf-service-card:hover { background: var(--sf-ink-soft); box-shadow: -8px 9px 0 rgba(215, 164, 74, .8); transform: translateX(7px); }
.sf-service-card h3 { color: var(--sf-cream); font-size: 26px; }
.sf-service-card li { color: rgba(247, 242, 233, .65); font-size: 11px; }
.sf-service-card li::marker { color: var(--sf-brass); }
.sf-service-card a { color: var(--sf-brass); font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.sf-service-card a:hover { color: var(--sf-cream); }

/* Image treatment / process */
.sf-image-frame img { filter: saturate(.8); }
.sf-image-frame { position: relative; }
.sf-image-frame::before { content: ""; position: absolute; inset: -13px 13px 13px -13px; border: 1px solid rgba(215, 164, 74, .85); pointer-events: none; }
.sf-image-stamp { color: var(--sf-ink); background: var(--sf-brass); }
.sf-process-step { border-bottom: 1px solid var(--sf-line); }
.sf-process-step strong { color: var(--sf-brass-dark); font-size: 11px; }
.sf-process-step h3 { font-size: 21px; }
.sf-process-step p { color: var(--sf-slate); font-size: 12px; }

/* Lender network */
.sf-lender-pill { display: inline-flex; align-items: center; gap: 9px; min-height: 46px; padding: 0 15px; color: rgba(247, 242, 233, .76); border: 1px solid rgba(247, 242, 233, .21); background: rgba(247, 242, 233, .035); font-size: 11px; font-weight: 700; transition: color 180ms var(--sf-ease), background 180ms var(--sf-ease), transform 180ms var(--sf-ease); }
.sf-lender-pill:hover { color: var(--sf-ink); background: var(--sf-brass); transform: translateY(-3px); }
.sf-lender-pill--brass { color: var(--sf-ink); border-color: var(--sf-brass); background: var(--sf-brass); }

/* Testimonials */
.sf-testimonial-card--featured { color: var(--sf-cream); background: var(--sf-ink); border-color: var(--sf-ink); }
.sf-testimonial-card p { color: var(--sf-slate); font-family: "Fraunces", Georgia, serif; font-size: 20px; font-style: italic; line-height: 1.35; }
.sf-testimonial-card--featured p { color: rgba(247, 242, 233, .85); }
.sf-stars { color: var(--sf-brass-dark); letter-spacing: .17em; font-size: 12px; }

/* Consultation form */
.sf-form-card { color: var(--sf-charcoal); background: var(--sf-paper); border-top: 4px solid var(--sf-brass); box-shadow: 20px 20px 0 rgba(16, 40, 59, .17); }
.sf-form-card .elementor-field-group { margin-bottom: 18px; }
.sf-form-card input,
.sf-form-card select,
.sf-form-card textarea { color: var(--sf-ink); background: transparent; border: 0; border-bottom: 1px solid rgba(16, 40, 59, .25); border-radius: 0; }
.sf-form-card input:focus,
.sf-form-card select:focus,
.sf-form-card textarea:focus { border-bottom-color: var(--sf-brass-dark); }
.sf-form-card label { color: var(--sf-slate); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }

/* Footer */
.sf-footer { color: rgba(247, 242, 233, .63); background: var(--sf-ink); }
.sf-footer h3 { color: var(--sf-cream); font-family: "Manrope", sans-serif; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sf-footer a:hover { color: var(--sf-brass); }
.sf-footer-bottom { border-top: 1px solid rgba(247, 242, 233, .15); color: rgba(247, 242, 233, .38); font-size: 10px; }

@media (max-width: 900px) {
  .sf-page-rail { width: min(100% - 44px, 920px); }
  .sf-section-padding { padding-block: 88px 96px; }
  .sf-hero .elementor-container { min-height: auto; }
  .sf-hero h1 { font-size: clamp(50px, 8vw, 76px); }
  .sf-feature-card:hover,
  .sf-testimonial-card:hover { transform: none; }
}

@media (max-width: 620px) {
  .sf-page-rail { width: calc(100% - 36px); }
  .sf-section-padding { padding-block: 72px 80px; }
  .sf-hero h1 { font-size: clamp(45px, 13vw, 61px); }
  .sf-hero p { font-size: 15px; }
  .sf-button .elementor-button,
  .sf-button a { width: 100%; }
  .sf-service-card:hover { transform: none; }
  .sf-image-frame::before { inset: -9px 9px 9px -9px; }
  .sf-form-card { box-shadow: 10px 12px 0 rgba(16, 40, 59, .17); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
