/* ==========================================================================
   PaiaFinance — Design System
   Tokens extracted verbatim from the live site (main.8cc94e41.css, Tailwind 3.2.2)
   Fonts and colours are byte-identical to the current design.
   ========================================================================== */

:root{
  /* ---- Brand ---- */
  --pf-blue:#1680EB;          /* primary CTA / links */
  --pf-blue-hover:#1D4ED8;    /* blue-700 */
  --pf-navy:#25375B;          /* dark section bg + headings */
  --pf-teal:#00BBA7;          /* accent / ticks */

  /* ---- Neutrals ---- */
  --pf-black:#141416;         /* footer bg, primary heading */
  --pf-charcoal:#363E4A;
  --pf-text:#353945;          /* body copy */
  --pf-text-alt:#383C48;
  --pf-muted:#5F6578;         /* secondary copy */
  --pf-muted-light:#8A95A8;   /* footer muted */
  --pf-white:#FFFFFF;
  --pf-offwhite:#F7FAFC;

  /* ---- Surfaces ---- */
  --pf-surface:#F6F7F8;
  --pf-surface-alt:#F6F8F9;
  --pf-surface-blue:#ECF4FC;
  --pf-surface-teal:#ECFDFA;
  --pf-surface-grey:#DEE1E7;

  /* ---- Borders ---- */
  --pf-border:#EDEEF2;
  --pf-border-alt:#E7E7E7;
  --pf-border-blue:#ABD2FA;
  --pf-border-teal:#AFEFF3;

  /* ---- Type: identical stack to the live site ---- */
  --pf-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,
            Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;

  /* ---- Radii (from live site) ---- */
  --pf-r-sm:4px;
  --pf-r-md:12px;
  --pf-r-lg:16px;
  --pf-r-xl:24px;
  --pf-r-full:9999px;

  /* ---- Shadows (Tailwind equivalents) ---- */
  --pf-shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);
  --pf-shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  --pf-shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);

  --pf-max:80rem;             /* max-w-7xl */
}

/* ---- Reset ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;border:0 solid var(--pf-border)}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;line-height:1.5;tab-size:4}
body{
  font-family:var(--pf-font);
  color:var(--pf-text);
  background:var(--pf-white);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;color:inherit;background:none;cursor:pointer}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
:focus-visible{outline:2px solid var(--pf-blue);outline-offset:2px}

/* ---- Skip link (accessibility) ---- */
.pf-skip{
  position:absolute;left:-9999px;top:0;z-index:100;
  padding:.75rem 1.25rem;background:var(--pf-blue);color:#fff;
  border-radius:0 0 var(--pf-r-sm) 0;font-weight:600;
}
.pf-skip:focus{left:0}

/* ---- Layout ---- */
.pf-container{max-width:var(--pf-max);margin-inline:auto;padding-inline:1rem}
@media(min-width:640px){.pf-container{padding-inline:1.5rem}}
@media(min-width:1024px){.pf-container{padding-inline:2rem}}
.pf-section{padding-block:4rem}
@media(min-width:768px){.pf-section{padding-block:5rem}}
.pf-section--surface{background:var(--pf-surface)}
.pf-section--alt{background:var(--pf-surface-alt)}
.pf-narrow{max-width:48rem}
.pf-mid{max-width:56rem}

/* ---- Type scale ---- */
.pf-h1{font-size:2.25rem;line-height:1.15;font-weight:600;color:var(--pf-black);letter-spacing:-.02em}
@media(min-width:768px){.pf-h1{font-size:3rem}}
@media(min-width:1024px){.pf-h1{font-size:3.75rem}}
.pf-h2{font-size:1.875rem;line-height:1.2;font-weight:600;color:var(--pf-black);letter-spacing:-.01em}
@media(min-width:1024px){.pf-h2{font-size:2.5rem}}
.pf-h3{font-size:1.25rem;line-height:1.4;font-weight:600;color:var(--pf-black)}
@media(min-width:1024px){.pf-h3{font-size:1.5rem}}
.pf-h4{font-size:1.0625rem;line-height:1.4;font-weight:600;color:var(--pf-text-alt)}
.pf-lead{font-size:1.0625rem;line-height:1.7;color:var(--pf-muted)}
@media(min-width:1024px){.pf-lead{font-size:1.125rem}}
.pf-body{font-size:1rem;line-height:1.7;color:var(--pf-text)}
.pf-body + .pf-body{margin-top:1rem}
.pf-small{font-size:.875rem;line-height:1.6;color:var(--pf-muted)}
.pf-eyebrow{
  display:inline-block;font-size:.875rem;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--pf-blue);margin-bottom:.875rem;
}
.pf-stack>*+*{margin-top:1rem}
.pf-mb-2{margin-bottom:.5rem}.pf-mb-4{margin-bottom:1rem}
.pf-mb-6{margin-bottom:1.5rem}.pf-mb-12{margin-bottom:3rem}
.pf-center{text-align:center}
.pf-accent{color:var(--pf-blue)}

/* ---- Buttons ---- */
.pf-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.75rem 1.5rem;border-radius:var(--pf-r-md);
  font-size:1rem;font-weight:600;cursor:pointer;
  transition:background-color .15s,color .15s,box-shadow .15s,transform .15s;
}
.pf-btn--primary{background:var(--pf-blue);color:#fff}
.pf-btn--primary:hover{background:var(--pf-blue-hover);box-shadow:var(--pf-shadow-lg)}
.pf-btn--ghost{background:transparent;color:var(--pf-blue);border:1px solid var(--pf-border-blue)}
.pf-btn--ghost:hover{background:var(--pf-surface-blue)}
.pf-btn--light{background:#fff;color:var(--pf-navy)}
.pf-btn--light:hover{background:var(--pf-surface);box-shadow:var(--pf-shadow-lg)}
.pf-btn--wide{width:100%}

/* ---- Header ---- */
.pf-header{
  position:sticky;top:0;z-index:50;
  background:hsla(0,0%,100%,.95);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--pf-border);
}
.pf-header__inner{display:flex;align-items:center;justify-content:space-between;height:4rem}
@media(min-width:768px){.pf-header__inner{height:5rem}}
.pf-header__logo img{height:2rem;width:auto}
@media(min-width:768px){.pf-header__logo img{height:2.5rem}}
.pf-nav{display:none;align-items:center;gap:2rem}
@media(min-width:900px){.pf-nav{display:flex}}
.pf-nav a{font-size:1rem;font-weight:500;color:var(--pf-text);transition:color .15s}
.pf-nav a:hover{color:var(--pf-blue)}
.pf-nav a[aria-current=page]{color:var(--pf-blue);font-weight:600}
.pf-burger{display:flex;padding:.5rem;border-radius:var(--pf-r-sm)}
@media(min-width:900px){.pf-burger{display:none}}
.pf-mobilenav{display:none;border-top:1px solid var(--pf-border);background:#fff;padding-block:1rem}
.pf-mobilenav[data-open=true]{display:block}
@media(min-width:900px){.pf-mobilenav{display:none!important}}
.pf-mobilenav a{display:block;padding:.75rem 0;font-weight:500;color:var(--pf-text)}
.pf-mobilenav a:hover{color:var(--pf-blue)}

/* ---- Hero ---- */
.pf-hero{position:relative;overflow:hidden;background:var(--pf-black);color:#fff}
.pf-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.pf-hero__inner{position:relative;z-index:1;padding-block:5rem}
@media(min-width:768px){.pf-hero__inner{padding-block:8rem}}
.pf-hero .pf-h1{color:#fff}
.pf-hero .pf-lead{color:var(--pf-offwhite)}
.pf-hero--compact .pf-hero__inner{padding-block:4rem}
@media(min-width:768px){.pf-hero--compact .pf-hero__inner{padding-block:6rem}}

/* ---- Pills / chips ---- */
.pf-pills{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.pf-pill{
  padding:.5rem 1rem;border-radius:var(--pf-r-full);
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  font-size:.875rem;font-weight:500;color:#fff;
}
.pf-tag{
  display:inline-block;padding:4px 8px;border-radius:var(--pf-r-sm);
  background:var(--pf-surface-blue);border:1px solid var(--pf-border-blue);
  font-size:.875rem;font-weight:600;color:var(--pf-blue);
}
.pf-tag--teal{background:var(--pf-surface-teal);border-color:var(--pf-border-teal);color:var(--pf-teal)}

/* ---- Grids ---- */
.pf-grid{display:grid;gap:1.5rem;grid-template-columns:1fr}
@media(min-width:768px){.pf-grid--2{grid-template-columns:repeat(2,1fr)}}
@media(min-width:768px){.pf-grid--3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.pf-grid--3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:640px){.pf-grid--4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.pf-grid--4{grid-template-columns:repeat(4,1fr)}}
.pf-split{display:grid;gap:3rem;align-items:center;grid-template-columns:1fr}
@media(min-width:1024px){.pf-split{grid-template-columns:repeat(2,1fr);gap:4rem}}

/* ---- Cards ---- */
.pf-card{
  padding:1.5rem;background:#fff;border:1px solid var(--pf-border);
  border-radius:var(--pf-r-md);transition:box-shadow .15s,transform .15s;
}
.pf-card:hover{box-shadow:var(--pf-shadow-lg)}
.pf-card--flat:hover{box-shadow:none}
.pf-card__title{font-size:1.125rem;font-weight:600;color:var(--pf-black);margin-bottom:.5rem}
.pf-card__body{font-size:.9375rem;line-height:1.65;color:var(--pf-muted)}
.pf-card--dark{background:var(--pf-navy);border-color:transparent;color:#fff}
.pf-card--dark .pf-card__title{color:#fff}
.pf-card--dark .pf-card__body{color:var(--pf-offwhite)}

/* ---- Feature list with ticks ---- */
.pf-ticks{display:grid;gap:1rem}
.pf-tick{display:flex;gap:.75rem;align-items:flex-start}
.pf-tick__icon{
  flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:.2rem;
  border-radius:var(--pf-r-full);background:var(--pf-surface-teal);
  display:flex;align-items:center;justify-content:center;
  color:var(--pf-teal);font-size:.7rem;font-weight:700;
}
.pf-tick__text{font-size:1rem;line-height:1.6;color:var(--pf-text)}

/* ---- Process steps ---- */
.pf-steps{display:grid;gap:1.5rem;counter-reset:step}
@media(min-width:768px){.pf-steps{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.pf-steps{grid-template-columns:repeat(4,1fr)}}
.pf-step{
  padding:1.5rem;background:#fff;border:1px solid var(--pf-border);
  border-radius:var(--pf-r-md);
}
.pf-step__num{
  display:inline-flex;align-items:center;justify-content:center;
  width:2.5rem;height:2.5rem;border-radius:var(--pf-r-full);
  background:var(--pf-surface-blue);color:var(--pf-blue);
  font-weight:700;font-size:1.125rem;margin-bottom:1rem;
}
.pf-step__label{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--pf-muted-light);margin-bottom:.25rem}
.pf-step__title{font-size:1.0625rem;font-weight:600;color:var(--pf-black);margin-bottom:.5rem}
.pf-step__meta{font-size:.875rem;color:var(--pf-blue);font-weight:600}

/* ---- FAQ accordion ---- */
.pf-faq{display:grid;gap:.75rem}
.pf-faq__item{border:1px solid var(--pf-border);border-radius:var(--pf-r-md);background:#fff;overflow:hidden}
.pf-faq__q{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:100%;padding:1.25rem 1.5rem;text-align:left;cursor:pointer;
  font-size:1.0625rem;font-weight:600;color:var(--pf-black);list-style:none;
}
.pf-faq__q:hover{background:var(--pf-surface)}
.pf-faq__q::after{content:"+";font-size:1.5rem;font-weight:400;color:var(--pf-blue);flex-shrink:0;line-height:1}
.pf-faq__item[open] .pf-faq__q::after{content:"\2013"}
.pf-faq__a{padding:0 1.5rem 1.25rem;font-size:1rem;line-height:1.7;color:var(--pf-muted)}
.pf-faq__a p+p{margin-top:.75rem}
.pf-faq__q::-webkit-details-marker{display:none}

/* ---- CTA band ---- */
.pf-cta{position:relative;overflow:hidden;background:var(--pf-navy);color:#fff;text-align:center}
.pf-cta__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}
.pf-cta__inner{position:relative;z-index:1;padding-block:4rem}
.pf-cta .pf-h2{color:#fff}
.pf-cta p{color:var(--pf-offwhite);margin-top:.75rem;font-size:1.0625rem}
.pf-cta .pf-btn{margin-top:2rem}

/* ---- Contact blocks ---- */
.pf-contact-grid{display:grid;gap:1.5rem}
@media(min-width:768px){.pf-contact-grid{grid-template-columns:repeat(3,1fr)}}
.pf-contact-card{padding:1.5rem;border:1px solid var(--pf-border);border-radius:var(--pf-r-md);background:#fff}
.pf-contact-card h3{font-size:1rem;font-weight:600;color:var(--pf-black);margin-bottom:.75rem}
.pf-contact-card a{color:var(--pf-blue);font-size:1rem}
.pf-contact-card a:hover{text-decoration:underline}
.pf-offices{display:flex;flex-wrap:wrap;gap:.5rem}
.pf-office{padding:4px 10px;border-radius:var(--pf-r-full);background:var(--pf-surface);font-size:.875rem;color:var(--pf-text)}

/* ---- Forms ---- */
.pf-field{margin-bottom:1rem}
.pf-label{display:block;font-size:.875rem;font-weight:600;color:var(--pf-text-alt);margin-bottom:.375rem}
.pf-input,.pf-textarea,.pf-select{
  width:100%;padding:.75rem 1rem;font-size:1rem;font-family:inherit;color:var(--pf-text);
  background:#fff;border:1px solid var(--pf-border-alt);border-radius:var(--pf-r-md);
  transition:border-color .15s,box-shadow .15s;
}
.pf-input:focus,.pf-textarea:focus,.pf-select:focus{
  outline:none;border-color:var(--pf-blue);box-shadow:0 0 0 3px rgba(22,128,235,.15);
}
.pf-textarea{min-height:8rem;resize:vertical}
.pf-hp{position:absolute!important;left:-9999px!important;opacity:0;height:0;width:0}
.pf-formnote{font-size:.8125rem;color:var(--pf-muted-light);margin-top:.75rem}
.pf-alert{padding:.875rem 1rem;border-radius:var(--pf-r-md);font-size:.9375rem;margin-bottom:1rem}
.pf-alert--ok{background:var(--pf-surface-teal);border:1px solid var(--pf-border-teal);color:#0a6b60}
.pf-alert--err{background:#FEF2F2;border:1px solid #FECACA;color:#991B1B}

/* ---- Footer ---- */
.pf-footer{background:var(--pf-black);color:var(--pf-muted-light);padding-block:4rem 2rem}
.pf-footer__grid{display:grid;gap:2.5rem;grid-template-columns:1fr}
@media(min-width:768px){.pf-footer__grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.pf-footer h3{font-size:.875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;margin-bottom:1rem}
.pf-footer a{color:var(--pf-muted-light);font-size:.9375rem;transition:color .15s}
.pf-footer a:hover{color:#fff}
.pf-footer ul{display:grid;gap:.625rem}
.pf-footer__logo{height:2.25rem;width:auto;margin-bottom:1rem}
.pf-footer__bar{
  display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;
  margin-top:3rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.1);
  font-size:.875rem;
}
.pf-footer__legal{display:flex;flex-wrap:wrap;gap:1.25rem}

/* ---- Breadcrumbs ---- */
.pf-crumbs{padding-block:1rem;font-size:.875rem;color:var(--pf-muted)}
.pf-crumbs ol{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.pf-crumbs li+li::before{content:"/";margin-right:.5rem;color:var(--pf-muted-light)}
.pf-crumbs a{color:var(--pf-blue)}
.pf-crumbs a:hover{text-decoration:underline}

/* ==========================================================================
   AI CHAT AGENT WIDGET
   ========================================================================== */
.pfc-launcher{
  position:fixed;bottom:1.25rem;right:1.25rem;z-index:9998;
  display:flex;align-items:center;gap:.625rem;
  padding:.875rem 1.25rem;border-radius:var(--pf-r-full);
  background:var(--pf-blue);color:#fff;font-weight:600;font-size:.9375rem;
  box-shadow:var(--pf-shadow-2xl);border:none;
  transition:transform .2s,background-color .15s;
}
.pfc-launcher:hover{background:var(--pf-blue-hover);transform:translateY(-2px)}
.pfc-launcher[hidden]{display:none}
.pfc-launcher__dot{
  width:.5rem;height:.5rem;border-radius:var(--pf-r-full);background:var(--pf-teal);
  animation:pfc-pulse 2s cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes pfc-pulse{0%,100%{opacity:1}50%{opacity:.4}}

.pfc-panel{
  position:fixed;bottom:1.25rem;right:1.25rem;z-index:9999;
  display:flex;flex-direction:column;
  width:calc(100vw - 2.5rem);max-width:23.5rem;height:min(34rem,calc(100vh - 2.5rem));
  background:#fff;border:1px solid var(--pf-border);border-radius:var(--pf-r-lg);
  box-shadow:var(--pf-shadow-2xl);overflow:hidden;
}
.pfc-panel[hidden]{display:none}
@media(max-width:480px){
  .pfc-panel{inset:0;width:100%;max-width:none;height:100%;border-radius:0;border:none}
}
.pfc-head{
  display:flex;align-items:center;gap:.75rem;
  padding:1rem 1.125rem;background:var(--pf-navy);color:#fff;flex-shrink:0;
}
.pfc-head__avatar{
  width:2.25rem;height:2.25rem;border-radius:var(--pf-r-full);
  background:var(--pf-blue);display:flex;align-items:center;justify-content:center;
  font-weight:700;font-size:.875rem;flex-shrink:0;
}
.pfc-head__meta{flex:1;min-width:0}
.pfc-head__name{font-size:.9375rem;font-weight:600;line-height:1.3}
.pfc-head__status{font-size:.75rem;color:#AFEFF3;display:flex;align-items:center;gap:.35rem}
.pfc-head__status::before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--pf-teal)}
.pfc-head__close{
  flex-shrink:0;width:2rem;height:2rem;border-radius:var(--pf-r-sm);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-size:1.25rem;line-height:1;opacity:.8;
}
.pfc-head__close:hover{opacity:1;background:rgba(255,255,255,.12)}

.pfc-log{flex:1;overflow-y:auto;padding:1.125rem;display:flex;flex-direction:column;gap:.875rem;background:var(--pf-surface-alt)}
.pfc-msg{max-width:85%;padding:.75rem 1rem;font-size:.9375rem;line-height:1.55;border-radius:var(--pf-r-md);word-wrap:break-word}
.pfc-msg--bot{align-self:flex-start;background:#fff;color:var(--pf-text);border:1px solid var(--pf-border);border-bottom-left-radius:var(--pf-r-sm)}
.pfc-msg--me{align-self:flex-end;background:var(--pf-blue);color:#fff;border-bottom-right-radius:var(--pf-r-sm)}
.pfc-msg--sys{align-self:center;max-width:100%;background:var(--pf-surface-teal);border:1px solid var(--pf-border-teal);color:#0a6b60;font-size:.8125rem;text-align:center}
.pfc-msg p+p{margin-top:.5rem}

.pfc-typing{align-self:flex-start;display:flex;gap:.25rem;padding:.875rem 1rem;background:#fff;border:1px solid var(--pf-border);border-radius:var(--pf-r-md)}
.pfc-typing span{width:.4rem;height:.4rem;border-radius:50%;background:var(--pf-muted-light);animation:pfc-bounce 1.2s infinite}
.pfc-typing span:nth-child(2){animation-delay:.15s}
.pfc-typing span:nth-child(3){animation-delay:.3s}
@keyframes pfc-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-.3rem);opacity:1}}

.pfc-choices{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.125rem .875rem;background:var(--pf-surface-alt)}
.pfc-choice{
  padding:.5rem .875rem;border-radius:var(--pf-r-full);
  background:#fff;border:1px solid var(--pf-border-blue);color:var(--pf-blue);
  font-size:.875rem;font-weight:600;transition:background-color .15s,color .15s;
}
.pfc-choice:hover{background:var(--pf-blue);color:#fff}

.pfc-foot{display:flex;gap:.5rem;padding:.875rem;border-top:1px solid var(--pf-border);background:#fff;flex-shrink:0}
.pfc-input{
  flex:1;padding:.625rem .875rem;font-size:.9375rem;font-family:inherit;
  border:1px solid var(--pf-border-alt);border-radius:var(--pf-r-full);color:var(--pf-text);
}
.pfc-input:focus{outline:none;border-color:var(--pf-blue);box-shadow:0 0 0 3px rgba(22,128,235,.15)}
.pfc-send{
  flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:var(--pf-r-full);
  background:var(--pf-blue);color:#fff;display:flex;align-items:center;justify-content:center;
}
.pfc-send:hover{background:var(--pf-blue-hover)}
.pfc-send:disabled{opacity:.45;cursor:not-allowed}
.pfc-disclaimer{font-size:.6875rem;color:var(--pf-muted-light);text-align:center;padding:0 .875rem .625rem;background:#fff}

/* ---- Print ---- */
@media print{
  .pf-header,.pf-footer,.pfc-launcher,.pfc-panel,.pf-cta{display:none!important}
}

/* ---- Reduced motion ---- */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
a.pf-btn--primary{color:#fff}.pf-header__partner{display:inline-flex;align-items:center;gap:.5rem;margin-left:.875rem;margin-right:auto;padding-left:.875rem;border-left:1px solid #E3E7EE}.pf-header__partner img{height:2rem;width:auto}.pf-header__partner small{font-size:.625rem;line-height:1.2;color:#353945;font-weight:500;display:block}@media(max-width:480px){.pf-header__partner small{display:none}}.pf-hero__bg{opacity:.35};