@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&display=swap');

:root { --ink:#210a45; --ink-2:#351060; --violet:#722cf4; --violet-light:#a47aff; --gold:#d69b14; --gold-light:#f4c75f; --paper:#f8f7f4; --mist:#efedf6; --line:rgba(34,10,69,.13); --white:#fff; --mono:'DM Mono',monospace; --sans:'Manrope',Arial,sans-serif; --serif:'Playfair Display',Georgia,serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.5; }
a { color:inherit; text-decoration:none; }
button,input,textarea,select { font:inherit; }
button { cursor:pointer; }
.container { width:min(1180px, calc(100% - 48px)); margin-inline:auto; }
.section { padding:124px 0; }
.skip-link { position:fixed; top:12px; left:12px; z-index:100; transform:translateY(-160%); padding:9px 15px; background:var(--white); color:var(--ink); border-radius:8px; font-size:14px; }
.skip-link:focus { transform:translateY(0); }
.site-header { position:fixed; z-index:20; top:0; right:0; left:0; padding:20px 0; transition:.25s ease; }
.site-header.scrolled { padding:11px 0; background:rgba(248,247,244,.87); backdrop-filter:blur(18px); border-bottom:1px solid var(--line); }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.brand { display:flex; width:211px; height:55px; overflow:hidden; align-items:flex-start; flex:0 0 auto; }
.brand-logo { display:block; width:211px; height:55px; overflow:hidden; }
.brand-logo img { display:block; width:363px; max-width:none; transform:translate(-82px,-47px); }
.site-nav { display:flex; align-items:center; gap:22px; font-size:12px; font-weight:700; }
.site-nav > a:not(.button) { position:relative; padding:7px 0; }
.site-nav > a:not(.button)::after { content:''; position:absolute; bottom:0; left:0; height:1px; width:0; background:var(--gold); transition:width .2s ease; }
.site-nav > a:not(.button):hover::after { width:100%; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; border:1px solid transparent; border-radius:999px; padding:14px 20px; font-size:13px; font-weight:800; line-height:1; transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease; }
.button:hover { transform:translateY(-2px); }
.button-primary { background:var(--ink); color:var(--white); box-shadow:0 10px 24px rgba(33,10,69,.14); }
.button-primary:hover { background:var(--violet); box-shadow:0 15px 28px rgba(114,44,244,.23); }
.button-secondary { border-color:rgba(33,10,69,.24); background:rgba(255,255,255,.62); }
.button-secondary:hover { background:var(--white); border-color:var(--ink); }
.button-small { padding:11px 15px; font-size:11px; }
.button-light { color:var(--ink); background:var(--white); }
.button-gold { color:var(--ink); background:var(--gold-light); }
.menu-toggle { display:none; border:0; background:transparent; padding:8px; }
.menu-toggle span { display:block; width:24px; height:2px; margin:5px; background:var(--ink); transition:.2s ease; }
.eyebrow { display:flex; align-items:center; gap:9px; margin:0 0 20px; color:var(--violet); font:500 11px/1.1 var(--mono); letter-spacing:.075em; text-transform:uppercase; }
.eyebrow-light { color:var(--gold-light); }
.pulse-dot { width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px rgba(214,155,20,.14); animation:pulse 2.3s infinite; }
.hero { position:relative; overflow:hidden; min-height:784px; padding:175px 0 96px; background:radial-gradient(circle at 74% 35%,rgba(164,122,255,.17),transparent 29%), radial-gradient(circle at 20% 20%,rgba(244,199,95,.2),transparent 23%); }
.hero::before { content:''; position:absolute; width:480px; height:480px; top:-185px; left:-166px; border:1px solid rgba(114,44,244,.12); border-radius:50%; }
.hero-grid { position:relative; display:grid; grid-template-columns:minmax(0,.93fr) minmax(460px,1.07fr); align-items:center; gap:38px; }
.hero-copy { position:relative; z-index:2; padding-bottom:15px; }
h1,h2,h3,p { margin-top:0; }
h1 { max-width:650px; margin-bottom:26px; font-size:clamp(50px,5.15vw,79px); line-height:1.03; letter-spacing:-.065em; font-weight:800; }
h1 em { color:var(--violet); font-family:var(--serif); font-weight:600; letter-spacing:-.065em; }
.hero-intro { max-width:560px; margin-bottom:34px; color:#554c65; font-size:16px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.hero-meta { display:flex; align-items:center; gap:22px; margin-top:38px; color:#71697d; font-size:11px; font-weight:600; }
.hero-meta span { display:flex; align-items:center; gap:7px; }
.hero-meta b { display:inline-grid; place-items:center; width:26px; height:26px; border:1px solid var(--line); border-radius:50%; color:var(--violet); font:500 9px var(--mono); }
.hero-visual { position:relative; height:540px; }
.hero-photo { position:absolute; inset:10px 0 0 48px; overflow:hidden; border-radius:25px 25px 92px 25px; box-shadow:0 28px 55px rgba(40,15,70,.18); }
.hero-photo::after { content:''; position:absolute; inset:0; background:linear-gradient(125deg,rgba(45,15,89,.08),transparent 55%); mix-blend-mode:multiply; }
.hero-photo img { width:100%; height:100%; object-fit:cover; }
.visual-glow { position:absolute; z-index:-1; border-radius:50%; filter:blur(1px); }
.glow-one { width:202px; height:202px; top:-10px; right:-60px; border:1px solid rgba(114,44,244,.18); }
.glow-two { width:115px; height:115px; right:56px; bottom:1px; background:linear-gradient(135deg,var(--gold-light),var(--gold)); opacity:.86; }
.float-card { position:absolute; z-index:2; display:flex; align-items:center; gap:12px; padding:13px 16px; background:rgba(255,255,255,.93); border:1px solid rgba(255,255,255,.8); border-radius:14px; box-shadow:0 14px 30px rgba(30,8,56,.13); backdrop-filter:blur(8px); }
.float-card small { display:block; color:#766e80; font-size:10px; font-weight:700; }
.float-card strong { display:block; font-size:12px; letter-spacing:-.02em; }
.rate-card { top:59px; left:0; animation:float 4s ease-in-out infinite; }
.card-icon { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; font-size:23px; font-weight:800; }
.icon-gold { background:#fff4d8; color:var(--gold); }
.progress-card { display:block; right:-9px; bottom:38px; width:230px; padding:16px; animation:float 5s ease-in-out .5s infinite; }
.progress-top,.progress-caption { display:flex; justify-content:space-between; align-items:center; }
.progress-top span { padding:3px 7px; border-radius:8px; background:#ede3ff; color:var(--violet); font:500 8px var(--mono); text-transform:uppercase; }
.progress-track { height:6px; margin:13px 0 10px; overflow:hidden; border-radius:10px; background:#e7e2eb; }
.progress-track i { display:block; width:67%; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--violet),var(--gold)); }
.progress-caption { color:#736b7c; font-size:9px; }.progress-caption b { color:var(--ink); font-size:10px; }
.finance-pill { position:absolute; z-index:2; padding:8px 11px; border-radius:999px; background:var(--ink); color:#fff; box-shadow:0 8px 18px rgba(33,10,69,.22); font:500 10px var(--mono); }.finance-pill span { color:var(--gold-light); margin-left:4px; }.pill-mortgage { left:73px; bottom:20px; }.pill-business { right:52px; top:147px; background:var(--gold); color:var(--ink); }
.trust-strip { background:var(--ink); color:var(--white); }.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }.trust-grid p { display:flex; align-items:center; gap:10px; min-height:94px; margin:0; padding:20px 17px; border-right:1px solid rgba(255,255,255,.16); font-size:11px; font-weight:600; line-height:1.55; }.trust-grid p:first-child { border-left:1px solid rgba(255,255,255,.16); }.trust-icon { color:var(--gold-light); font-size:13px; }
.section-heading { margin-bottom:57px; }.split-heading { display:grid; grid-template-columns:1.1fr .55fr; gap:90px; align-items:end; }.split-heading > p { max-width:400px; margin:0 0 9px; color:#645d6e; font-size:15px; line-height:1.7; }.section-heading h2,.process-intro h2,.why-content h2,.faq-intro h2,.contact-copy h2 { max-width:720px; margin:0; font-size:clamp(37px,4vw,58px); line-height:1.1; letter-spacing:-.06em; }.section-heading h2 { max-width:660px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }.service-card { position:relative; display:flex; flex-direction:column; min-height:330px; padding:27px; overflow:hidden; background:var(--white); border:1px solid #e7e3eb; border-radius:18px; transition:transform .25s ease, box-shadow .25s ease, border .25s ease; }.service-card:hover { z-index:1; transform:translateY(-6px); border-color:rgba(114,44,244,.3); box-shadow:0 18px 37px rgba(42,15,74,.1); }.service-card-featured { background:var(--violet); color:var(--white); border-color:var(--violet); }.service-card-dark { background:var(--ink); color:var(--white); border-color:var(--ink); }.service-number { align-self:flex-end; color:#b7adbe; font:500 10px var(--mono); }.service-card-featured .service-number,.service-card-dark .service-number { color:rgba(255,255,255,.56); }.service-icon { display:grid; place-items:center; width:48px; height:48px; margin:10px 0 34px; border-radius:14px; background:#f0ebf7; color:var(--violet); font-size:26px; line-height:1; }.service-card-featured .service-icon { background:rgba(255,255,255,.19); color:var(--gold-light); }.service-card-dark .service-icon { background:rgba(244,199,95,.13); color:var(--gold-light); }.service-card h3 { margin:0 0 11px; font-size:22px; line-height:1.08; letter-spacing:-.052em; }.service-card p { margin-bottom:19px; color:#6a6272; font-size:12px; line-height:1.65; }.service-card-featured p,.service-card-dark p { color:rgba(255,255,255,.74); }.text-link { display:inline-flex; align-items:center; gap:8px; margin-top:auto; color:var(--violet); font-size:11px; font-weight:800; }.text-link b { font-size:15px; transition:transform .2s ease; }.text-link:hover b { transform:translate(2px,-2px); }.service-card-featured .text-link,.service-card-dark .text-link { color:var(--gold-light); }
.process-section { background:var(--ink); color:var(--white); }.process-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:116px; align-items:start; }.process-intro { position:sticky; top:116px; }.process-intro h2 { margin-bottom:26px; }.process-intro > p:not(.eyebrow) { max-width:395px; margin-bottom:30px; color:rgba(255,255,255,.69); line-height:1.7; }.process-list { display:grid; gap:0; padding:0; margin:0; list-style:none; }.process-list li { display:grid; grid-template-columns:84px 1fr; gap:20px; padding:25px 0 27px; border-top:1px solid rgba(255,255,255,.18); }.process-list li:last-child { border-bottom:1px solid rgba(255,255,255,.18); }.process-list li > span { color:var(--gold-light); font:500 10px var(--mono); }.process-list h3 { margin-bottom:8px; font-size:24px; letter-spacing:-.04em; }.process-list p { max-width:390px; margin:0; color:rgba(255,255,255,.64); font-size:13px; line-height:1.65; }
.audience-section { padding-bottom:116px; background:linear-gradient(180deg,var(--paper),#f1eff7); }.centered { text-align:center; }.centered .eyebrow { justify-content:center; }.centered h2 { margin-inline:auto; }.audience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:13px; }.audience-card { min-height:194px; padding:22px; border:1px solid #e5e0eb; border-radius:15px; background:rgba(255,255,255,.72); transition:transform .22s ease, background .22s ease; }.audience-card:hover { transform:translateY(-5px); background:var(--white); }.audience-card span { color:var(--gold); font:500 10px var(--mono); }.audience-card h3 { margin:40px 0 7px; font-size:16px; line-height:1.18; letter-spacing:-.035em; }.audience-card p { margin:0; color:#746d7b; font-size:11px; line-height:1.55; }.audience-card-accent { background:var(--violet); border-color:var(--violet); color:var(--white); }.audience-card-accent span { color:var(--gold-light); }.audience-card-accent p { color:rgba(255,255,255,.7); }
.why-layout { display:grid; grid-template-columns:.81fr 1.19fr; gap:100px; align-items:start; }.why-content h2 { margin-bottom:22px; }.body-large { max-width:460px; color:#655d6e; font-size:16px; line-height:1.7; }.reason-list { border-top:1px solid var(--line); }.reason { display:grid; grid-template-columns:44px 1fr; gap:20px; padding:25px 0; border-bottom:1px solid var(--line); }.reason-mark { display:grid; place-items:center; width:32px; height:32px; border:1px solid rgba(114,44,244,.28); border-radius:50%; color:var(--violet); font-weight:800; }.reason h3 { margin:0 0 5px; font-size:17px; letter-spacing:-.03em; }.reason p { margin:0; color:#716979; font-size:12px; line-height:1.62; }
.cta-section { padding-top:35px; }.cta-panel { position:relative; overflow:hidden; padding:95px max(32px,8vw); text-align:center; color:var(--white); border-radius:22px; background:linear-gradient(118deg,#2b0b59 0%,#4a197f 55%,#280b4c 100%); }.cta-panel > *:not(.cta-orbit) { position:relative; z-index:1; }.cta-panel h2 { max-width:710px; margin:0 auto 18px; font-size:clamp(38px,4.2vw,61px); line-height:1.08; letter-spacing:-.065em; }.cta-panel > p:not(.eyebrow) { max-width:700px; margin:0 auto 30px; color:rgba(255,255,255,.74); font-size:14px; line-height:1.75; }.cta-panel .eyebrow { justify-content:center; }.cta-orbit { position:absolute; border:1px solid rgba(244,199,95,.22); border-radius:50%; }.orbit-a { width:440px; height:440px; top:-242px; left:-135px; }.orbit-b { width:330px; height:330px; right:-140px; bottom:-220px; border-color:rgba(164,122,255,.4); }
.faq-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:110px; }.faq-intro p:not(.eyebrow) { max-width:315px; margin:22px 0; color:#6b6373; font-size:14px; line-height:1.7; }.faq-list { border-top:1px solid var(--line); }.faq-list details { border-bottom:1px solid var(--line); }.faq-list summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 0; cursor:pointer; list-style:none; font-size:14px; font-weight:800; letter-spacing:-.02em; }.faq-list summary::-webkit-details-marker { display:none; }.faq-list summary span { display:grid; place-items:center; flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:#ece7f3; color:var(--violet); font-size:18px; font-weight:400; transition:transform .2s ease, background .2s ease; }.faq-list details[open] summary span { transform:rotate(45deg); background:#ede0ff; }.faq-list details p { max-width:690px; margin:-1px 38px 20px 0; color:#6a6373; font-size:13px; line-height:1.7; }
.contact-section { padding:116px 0; color:var(--white); background:var(--ink); }.contact-layout { display:grid; grid-template-columns:.86fr 1.14fr; gap:100px; align-items:start; }.contact-copy { padding-top:18px; }.contact-copy h2 { margin-bottom:20px; }.contact-copy > p:not(.eyebrow) { max-width:430px; color:rgba(255,255,255,.69); font-size:15px; line-height:1.7; }.contact-note { display:flex; align-items:flex-start; gap:13px; margin-top:37px; color:var(--gold-light); }.contact-note > span { font-size:19px; }.contact-note p { margin:0; color:rgba(255,255,255,.86); font-size:12px; line-height:1.6; }.contact-note small { color:rgba(255,255,255,.5); font-size:10px; }.lead-form { padding:32px; border-radius:18px; background:var(--white); color:var(--ink); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.lead-form label { display:block; margin-bottom:17px; color:#584c64; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }.lead-form input,.lead-form select,.lead-form textarea { display:block; width:100%; margin-top:7px; padding:11px 0; border:0; border-bottom:1px solid #dcd5e4; outline:0; background:transparent; color:var(--ink); font-size:13px; font-weight:500; letter-spacing:0; text-transform:none; transition:border .2s ease; }.lead-form textarea { resize:vertical; min-height:77px; }.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus { border-bottom-color:var(--violet); }.lead-form .button { width:100%; margin-top:5px; }.privacy-note { margin:15px 0 0; color:#837a8b; font-size:10px; line-height:1.55; }.form-success { display:none; margin:13px 0 0; color:#5b1ebc; font-size:12px; font-weight:700; }.form-success.visible { display:block; }
.site-footer { padding:47px 0 28px; color:var(--white); background:#14052d; }.footer-top { display:grid; grid-template-columns:230px 1fr 1.6fr; gap:20px; align-items:start; padding-bottom:39px; }.footer-brand { filter:brightness(0) invert(1) sepia(.4) saturate(2.5); transform-origin:left center; }.footer-top > p { margin:9px 0 0; color:rgba(255,255,255,.62); font-size:12px; line-height:1.6; }.footer-links { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px 23px; padding-top:9px; color:rgba(255,255,255,.72); font-size:11px; font-weight:700; }.footer-links a:hover,.footer-bottom a:hover { color:var(--gold-light); }.footer-bottom { display:grid; grid-template-columns:1fr auto 2fr; gap:22px; align-items:start; padding-top:22px; border-top:1px solid rgba(255,255,255,.16); color:rgba(255,255,255,.45); font-size:9px; line-height:1.6; }.footer-bottom p { margin:0; }.footer-bottom > div { display:flex; gap:16px; }.compliance-note { text-align:right; }
.js .reveal { opacity:0; transform:translateY(20px); transition:opacity .65s ease, transform .65s ease; }.js .reveal.visible { opacity:1; transform:translateY(0); }.reveal-delay { transition-delay:.12s; }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-10px); } } @keyframes pulse { 0%,100% { box-shadow:0 0 0 5px rgba(214,155,20,.14); } 50% { box-shadow:0 0 0 9px rgba(214,155,20,.04); } }
@media (max-width:1020px) { .site-nav { gap:14px; font-size:10px; }.hero-grid { grid-template-columns:.92fr 1.08fr; }.hero-visual { height:490px; }.hero-photo { left:14px; }.split-heading,.process-layout,.why-layout,.faq-layout,.contact-layout { gap:55px; }.service-card { min-height:310px; padding:23px; }.footer-top { grid-template-columns:210px 1fr; }.footer-links { grid-column:1 / -1; justify-content:flex-start; padding-top:5px; } }
@media (max-width:760px) { .container { width:min(100% - 32px, 600px); }.section { padding:83px 0; }.site-header { padding:13px 0; }.site-header.scrolled { padding:8px 0; }.brand,.brand-logo { width:188px; height:49px; }.brand-logo img { width:323px; transform:translate(-73px,-42px); }.menu-toggle { display:block; position:relative; z-index:2; }.menu-toggle[aria-expanded='true'] span:first-child { transform:translateY(3.5px) rotate(45deg); }.menu-toggle[aria-expanded='true'] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }.site-nav { position:absolute; top:0; right:0; left:0; display:flex; visibility:hidden; flex-direction:column; align-items:stretch; gap:0; padding:86px 24px 20px; background:rgba(248,247,244,.98); box-shadow:0 14px 30px rgba(33,10,69,.12); opacity:0; transform:translateY(-10px); transition:.2s ease; }.site-nav.open { visibility:visible; opacity:1; transform:translateY(0); }.site-nav > a:not(.button) { padding:12px 0; font-size:13px; }.site-nav .button { margin-top:8px; }.hero { min-height:0; padding:127px 0 62px; }.hero-grid { grid-template-columns:1fr; gap:33px; }.hero-copy { padding-bottom:0; } h1 { font-size:clamp(46px,14vw,62px); }.hero-intro { font-size:14px; }.hero-meta { flex-direction:column; align-items:flex-start; gap:9px; margin-top:27px; }.hero-visual { height:410px; }.hero-photo { inset:0 0 0 17px; border-radius:18px 18px 62px 18px; }.rate-card { left:0; top:22px; }.progress-card { right:-5px; bottom:20px; width:205px; }.pill-mortgage { left:34px; bottom:1px; }.pill-business { right:21px; top:106px; }.trust-grid { grid-template-columns:1fr 1fr; }.trust-grid p { min-height:75px; border-bottom:1px solid rgba(255,255,255,.16); font-size:10px; }.trust-grid p:nth-child(odd) { border-left:1px solid rgba(255,255,255,.16); }.split-heading,.process-layout,.why-layout,.faq-layout,.contact-layout { grid-template-columns:1fr; gap:38px; }.section-heading { margin-bottom:36px; }.split-heading > p { margin:0; }.service-grid { grid-template-columns:1fr; }.service-card { min-height:278px; }.service-card h3 { font-size:24px; }.process-intro { position:static; }.process-intro h2,.why-content h2,.faq-intro h2,.contact-copy h2 { font-size:clamp(36px,11vw,50px); }.process-list li { grid-template-columns:48px 1fr; }.process-list h3 { font-size:20px; }.audience-grid { grid-template-columns:1fr 1fr; }.audience-card { min-height:176px; padding:18px; }.audience-card h3 { margin-top:32px; font-size:15px; }.cta-section { padding-top:0; }.cta-panel { padding:75px 23px; }.cta-panel h2 { font-size:clamp(38px,11vw,53px); }.faq-list summary { padding:18px 0; font-size:13px; }.faq-list details p { margin-right:0; font-size:12px; }.contact-section { padding:82px 0; }.lead-form { padding:23px; }.form-row { grid-template-columns:1fr; gap:0; }.footer-top { grid-template-columns:1fr; gap:7px; }.footer-links { gap:10px 19px; padding-top:14px; }.footer-bottom { grid-template-columns:1fr; gap:9px; }.footer-bottom > div { order:3; }.compliance-note { text-align:left; }.footer-brand { width:188px; }.js .reveal { opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
