/*
Theme Name: MeritCredit
Theme URI: https://meritcreditmicrofinance.co.ug
Author: Merit Credit Microfinance Services LTD
Description: Purpose-built theme for Merit Credit Microfinance Services LTD. Savings and loan products, a flat-rate loan calculator, and contact details editable from the Customizer.
Version: 1.2.1
Requires at least: 6.4
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: meritcredit
Tags: business, finance, custom-logo, custom-menu, featured-images, translation-ready
*/

/* ==========================================================================
   1. Tokens
   ========================================================================== */
:root{
  /* Taken from the logo artwork: indigo mark #2E3192, cyan wordmark #00AEEF,
     red tagline #ED1C24. Cyan and red are lightened inks, so the interactive
     shades below are darkened versions that still meet WCAG AA on white. */
  --mc-navy:        #2E3192;
  --mc-navy-deep:   #21246B;
  --mc-blue:        #0E76B3;
  --mc-blue-mid:    #00AEEF;
  --mc-blue-light:  #5BC8F5;
  --mc-blue-pale:   #B7E5FA;
  --mc-magenta:     #D4141B;
  --mc-magenta-dk:  #A90E14;
  --mc-tint:        #EDF6FD;
  --mc-ink:         #17193F;
  --mc-body:        #4A5070;
  --mc-muted:       #6E7492;
  --mc-line:        #D8DFF0;
  --mc-line-soft:   #EAEFF9;
  --mc-white:       #FFFFFF;
  --mc-wa:          #25D366;
  --mc-wa-dk:       #1EA854;

  --mc-wrap:        1200px;
  --mc-gutter:      32px;
  --mc-radius:      14px;
  --mc-radius-lg:   18px;
  --mc-shadow:      0 18px 48px rgba(33,36,107,.16);
  --mc-shadow-sm:   0 6px 18px rgba(33,36,107,.09);

  --mc-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ==========================================================================
   2. Base
   ========================================================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--mc-sans);
  font-size:16px;
  line-height:1.6;
  color:var(--mc-body);
  background:var(--mc-white);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
img{max-width:100%;height:auto;display:block}
svg{display:block}
a{color:var(--mc-blue);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4,h5,h6{
  margin:0 0 .5em;
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.02em;
  color:var(--mc-ink);
}
h1{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.35rem)}
h2{font-size:clamp(1.6rem,1.2rem + 1.5vw,2.25rem)}
h3{font-size:1.125rem;font-weight:700;letter-spacing:-.01em}
p{margin:0 0 1rem}
p:last-child{margin-bottom:0}
ul,ol{margin:0 0 1rem;padding-left:1.25rem}
hr{border:0;border-top:1px solid var(--mc-line);margin:2rem 0}
:focus-visible{outline:3px solid var(--mc-blue-mid);outline-offset:2px;border-radius:4px}

.mc-wrap{max-width:var(--mc-wrap);margin:0 auto;padding:0 var(--mc-gutter)}
.mc-section{padding:92px 0}
.mc-section--tint{background:var(--mc-tint)}
.mc-section__head{max-width:620px;margin-bottom:44px}
.mc-section__head p{color:var(--mc-muted);font-size:1.0625rem;margin:0}
.mc-eyebrow{
  display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mc-magenta);margin-bottom:.75rem;
}
.screen-reader-text{
  position:absolute!important;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;
}
.mc-skip{position:absolute;left:-9999px}
.mc-skip:focus{
  position:fixed;top:12px;left:12px;z-index:999;background:var(--mc-white);
  color:var(--mc-ink);padding:12px 18px;border-radius:8px;box-shadow:var(--mc-shadow);
}

/* ==========================================================================
   3. Buttons
   ========================================================================== */
.mc-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  padding:.8rem 1.4rem;border:2px solid transparent;border-radius:8px;
  font-family:inherit;font-size:.9375rem;font-weight:700;line-height:1.2;
  cursor:pointer;text-align:center;text-decoration:none;
  transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease;
}
.mc-btn:hover{text-decoration:none;transform:translateY(-1px)}
.mc-btn:active{transform:translateY(0)}
.mc-btn--primary{background:var(--mc-magenta);border-color:var(--mc-magenta);color:#fff}
.mc-btn--primary:hover{background:var(--mc-magenta-dk);border-color:var(--mc-magenta-dk);color:#fff}
.mc-btn--blue{background:var(--mc-blue);border-color:var(--mc-blue);color:#fff}
.mc-btn--blue:hover{background:var(--mc-navy);border-color:var(--mc-navy);color:#fff}
.mc-btn--ghost{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.mc-btn--ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.mc-btn--outline{background:transparent;border-color:var(--mc-blue);color:var(--mc-blue)}
.mc-btn--outline:hover{background:var(--mc-blue);color:#fff}
.mc-btn--sm{padding:.6rem 1.05rem;font-size:.875rem}
.mc-btn--wa{background:var(--mc-wa);border-color:var(--mc-wa);color:#07301a}
.mc-btn--wa:hover{background:var(--mc-wa-dk);border-color:var(--mc-wa-dk);color:#fff}

/* ==========================================================================
   4. Top bar + header
   ========================================================================== */
.mc-topbar{background:var(--mc-navy-deep);color:rgba(255,255,255,.72);font-size:.8125rem}
.mc-topbar .mc-wrap{display:flex;flex-wrap:wrap;gap:.35rem 1.5rem;justify-content:space-between;padding-top:.6rem;padding-bottom:.6rem}
.mc-topbar a{color:#fff;font-weight:600}

/* Magenta pinstripe between colour bands, as on the branch facade. */
.mc-header{background:var(--mc-navy);position:relative;z-index:30;border-bottom:3px solid var(--mc-magenta)}
.mc-header .mc-wrap{display:flex;align-items:center;gap:1.5rem;padding-top:1.1rem;padding-bottom:1.1rem}

.mc-brand{display:flex;align-items:center;gap:.7rem;margin-right:auto;color:#fff}
.mc-brand:hover{text-decoration:none}
.mc-brand__mark{width:38px;height:38px;flex:none;color:#fff}
.mc-brand__mark svg{width:100%;height:100%}
.mc-brand__text{display:flex;flex-direction:column;line-height:1.05}
.mc-brand__name{font-size:1.0625rem;font-weight:800;letter-spacing:-.02em;color:#fff}
.mc-brand__tag{font-size:.6875rem;font-weight:600;letter-spacing:.06em;color:#FF7AB0}
/* Uploaded logo. the_custom_logo() brings its own markup, so these target it
   inside the wrapper that mc_brand() prints. */
.mc-brand--image{display:flex;align-items:center;margin-right:auto;min-width:0}
.mc-brand--image .custom-logo-link{display:inline-block;line-height:0;max-width:100%}
.mc-brand--image .custom-logo{max-height:var(--mc-logo-h,56px);width:auto;height:auto;max-width:100%}
.mc-brand--plate .custom-logo-link{background:#fff;padding:8px 12px;border-radius:10px}
.mc-footer .mc-brand--image{margin:0 0 1.1rem}
.mc-footer .mc-brand--image .custom-logo{max-height:calc(var(--mc-logo-h,56px) + 8px)}

.mc-nav ul{display:flex;align-items:center;gap:1.75rem;margin:0;padding:0;list-style:none}
.mc-nav li{position:relative}
.mc-nav a{color:rgba(255,255,255,.86);font-size:.9375rem;font-weight:600;padding:.35rem 0;position:relative;display:block}
.mc-nav a:hover{color:#fff;text-decoration:none}
.mc-nav > ul > li > a::after{
  content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;
  background:var(--mc-magenta);transform:scaleX(0);transition:transform .16s ease;
}
.mc-nav > ul > li > a:hover::after,
.mc-nav .current-menu-item > a::after,
.mc-nav .current_page_item > a::after{transform:scaleX(1)}
.mc-nav .current-menu-item > a,.mc-nav .current_page_item > a{color:#fff}

/* Dropdowns */
.mc-nav ul ul{
  position:absolute;top:100%;left:-16px;min-width:230px;display:block;
  background:#fff;border-radius:10px;box-shadow:var(--mc-shadow);padding:8px;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:all .16s ease;z-index:40;
}
.mc-nav li:hover > ul,.mc-nav li:focus-within > ul{opacity:1;visibility:visible;transform:translateY(0)}
.mc-nav ul ul a{color:var(--mc-ink);padding:.5rem .75rem;border-radius:6px;font-weight:600}
.mc-nav ul ul a:hover{background:var(--mc-tint);color:var(--mc-blue)}
.mc-nav ul ul a::after{display:none}

.mc-nav-toggle{
  display:none;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.35);
  border-radius:8px;background:transparent;cursor:pointer;
}
.mc-nav-toggle span{display:block;width:20px;height:2px;margin:4px auto;background:#fff;transition:transform .2s ease,opacity .2s ease}
.mc-nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.mc-nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.mc-nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* Light header. The logo is printed in colour on white, so the bar behind it
   can be white too; the nav then switches to indigo on white. */
.mc-header--light{background:#fff;border-bottom:3px solid var(--mc-magenta)}
.mc-header--light .mc-brand,
.mc-header--light .mc-brand__name{color:var(--mc-navy)}
.mc-header--light .mc-brand__tag{color:var(--mc-magenta)}
.mc-header--light .mc-brand__mark{color:var(--mc-navy)}
.mc-header--light .mc-nav a{color:var(--mc-navy)}
.mc-header--light .mc-nav a:hover,
.mc-header--light .mc-nav .current-menu-item > a,
.mc-header--light .mc-nav .current_page_item > a{color:var(--mc-magenta)}
.mc-header--light .mc-nav-toggle{border-color:rgba(46,49,146,.35)}
.mc-header--light .mc-nav-toggle span{background:var(--mc-navy)}
.mc-header--light .mc-brand--plate .custom-logo-link{background:transparent;padding:0}
@media (max-width:880px){
  .mc-header--light .mc-nav > ul > li{border-top:1px solid var(--mc-line)}
  .mc-header--light .mc-nav ul ul a{color:var(--mc-body)}
}

/* Hero picture treatments.
   scrim  clear photograph, shaded only behind the text
   clear  clear photograph, text on its own panel
   tint   the whole picture washed in brand blue */
.mc-hero--scrim::after,
.mc-hero--clear::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(90deg,
    rgba(23,25,63,calc(.70 + var(--mc-hero-veil,.15))) 0%,
    rgba(23,25,63,calc(.62 + var(--mc-hero-veil,.15))) 44%,
    rgba(23,25,63,calc(.14 + var(--mc-hero-veil,.15))) 74%,
    rgba(23,25,63,var(--mc-hero-veil,.15)) 100%);
}
.mc-hero--clear::after{
  background:linear-gradient(90deg,
    rgba(23,25,63,calc(.22 + var(--mc-hero-veil,.15))) 0%,
    rgba(23,25,63,var(--mc-hero-veil,.15)) 60%);
}
.mc-hero--clear .mc-hero__copy{
  background:rgba(33,36,107,.74);border-radius:var(--mc-radius-lg);
  padding:34px 32px;backdrop-filter:blur(3px);
}
@media (max-width:1024px){
  .mc-hero--scrim::after,
  .mc-hero--clear::after{
    background:linear-gradient(180deg,
      rgba(23,25,63,calc(.60 + var(--mc-hero-veil,.15))) 0%,
      rgba(23,25,63,calc(.46 + var(--mc-hero-veil,.15))) 60%,
      rgba(23,25,63,calc(.34 + var(--mc-hero-veil,.15))) 100%);
  }
}

/* ==========================================================================
   5. Hero
   ========================================================================== */
.mc-hero{
  color:#fff;padding:72px 0 84px;position:relative;overflow:hidden;
  background:linear-gradient(165deg,#12459A 0%,var(--mc-navy) 52%,#08265F 100%);
}
.mc-hero::before{
  content:"";position:absolute;top:-200px;right:-150px;width:560px;height:560px;
  background:radial-gradient(circle,rgba(82,166,245,.30),transparent 68%);pointer-events:none;
}
/* Optional hero photograph or slideshow.
   The blue gradient is multiplied onto the picture rather than laid over it,
   so the picture keeps its detail while its brightest point can never exceed
   the gradient. White headline text therefore stays readable against any
   photograph uploaded. The slider on top only adds extra black. */
.mc-hero__slides{position:absolute;inset:0;z-index:0;overflow:hidden}
.mc-hero__slide{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:0;transition:opacity 1.1s ease-in-out;
}
.mc-hero__slide.is-on{opacity:1}
.mc-hero--tint::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(0deg, rgba(23,25,63,var(--mc-hero-veil,.15)), rgba(23,25,63,var(--mc-hero-veil,.15))),
    linear-gradient(165deg,rgba(46,49,146,.92) 0%,rgba(33,36,107,.94) 52%,rgba(23,25,63,.96) 100%);
  mix-blend-mode:multiply;
}
@supports not (mix-blend-mode:multiply){
  .mc-hero--tint::after{
    background:linear-gradient(165deg,rgba(46,49,146,.9),rgba(23,25,63,.94));
  }
}
.mc-hero--photo > .mc-wrap{z-index:2}
@supports not (background-blend-mode:multiply){
  /* Fall back to a plain dark veil where blending is unsupported. */
  .mc-hero--photo::after{
    background-image:linear-gradient(165deg,rgba(18,69,154,.9),rgba(8,38,95,.94)),var(--mc-hero-img);
    background-size:cover,cover;
  }
}
.mc-hero .mc-wrap{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:64px;align-items:start}
.mc-hero h1{color:#fff;max-width:12ch;margin-bottom:1.25rem}
.mc-hero__lead{color:rgba(255,255,255,.78);font-size:1.0625rem;max-width:44ch;margin-bottom:2rem}
.mc-hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* Calculator card */
.mc-calc{
  background:#fff;border-radius:var(--mc-radius-lg);box-shadow:var(--mc-shadow);
  padding:26px 26px 24px;border-top:5px solid var(--mc-magenta);color:var(--mc-body);
}
.mc-calc h2{font-size:1.125rem;font-weight:800;margin-bottom:1.35rem;color:var(--mc-ink)}
.mc-calc__row{margin-bottom:1.25rem}
.mc-calc__row-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.55rem}
.mc-calc__label{font-size:.875rem;color:var(--mc-muted)}
.mc-calc__value{font-size:.9375rem;font-weight:800;color:var(--mc-ink);font-variant-numeric:tabular-nums}

.mc-range{
  -webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:99px;
  background:var(--mc-line);cursor:pointer;margin:0;
}
.mc-range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;
  background:#fff;border:4px solid var(--mc-blue);box-shadow:0 2px 6px rgba(33,36,107,.32);cursor:pointer;
}
.mc-range::-moz-range-thumb{
  width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid var(--mc-blue);
  box-shadow:0 2px 6px rgba(33,36,107,.32);cursor:pointer;
}
.mc-range::-moz-range-track{height:6px;border-radius:99px;background:var(--mc-line)}

.mc-calc__out{background:var(--mc-tint);border-radius:var(--mc-radius);padding:18px 20px;margin-top:1.4rem}
.mc-calc__out-label{font-size:.8125rem;color:var(--mc-muted);margin-bottom:.15rem}
.mc-calc__amount{
  font-size:2rem;font-weight:800;letter-spacing:-.025em;color:var(--mc-blue);
  line-height:1.1;font-variant-numeric:tabular-nums;
}
.mc-calc__split{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--mc-line)}
.mc-calc__split span{display:block;font-size:.75rem;color:var(--mc-muted);margin-bottom:.1rem}
.mc-calc__split strong{font-size:.9375rem;font-weight:800;color:var(--mc-ink);font-variant-numeric:tabular-nums}
.mc-calc__note{font-size:.75rem;line-height:1.5;color:var(--mc-muted);margin-top:1rem}

/* ==========================================================================
   6. Trust bar
   ========================================================================== */
.mc-trust{background:var(--mc-tint);position:relative;border-bottom:1px solid var(--mc-line-soft)}
.mc-trust__rule{display:flex;height:6px}
.mc-trust__rule i{display:block;height:100%}
.mc-trust__rule i:first-child{flex:0 0 62%;background:var(--mc-blue-light)}
.mc-trust__rule i:last-child{flex:1;background:var(--mc-magenta)}
.mc-trust .mc-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding-top:26px;padding-bottom:26px}
.mc-trust__item{border-left:3px solid var(--mc-blue);padding-left:1rem}
.mc-trust__item strong{display:block;font-size:.9375rem;font-weight:800;color:var(--mc-ink);margin-bottom:.15rem}
.mc-trust__item span{font-size:.875rem;color:var(--mc-muted)}

/* Floating WhatsApp pill */
.mc-chat{
  position:fixed;right:22px;bottom:22px;z-index:120;
  display:inline-flex;align-items:center;gap:.55rem;
  background:var(--mc-wa);color:#fff;font-weight:700;font-size:.9375rem;
  padding:.8rem 1.25rem;border-radius:99px;box-shadow:0 10px 26px rgba(37,211,102,.4);
  transition:background-color .16s ease,transform .16s ease;
}
.mc-chat:hover{background:var(--mc-wa-dk);color:#fff;text-decoration:none;transform:translateY(-2px)}
.mc-chat svg{width:20px;height:20px;fill:currentColor}

/* ==========================================================================
   7. Savings accounts
   ========================================================================== */
.mc-group{display:grid;grid-template-columns:300px minmax(0,1fr);gap:2.5rem;padding:34px 0;border-top:1px solid var(--mc-line)}
.mc-group:last-child{border-bottom:1px solid var(--mc-line)}
.mc-group__intro h3{font-size:1.0625rem;font-weight:800;color:var(--mc-ink);margin-bottom:.4rem}
.mc-group__intro p{font-size:.9375rem;color:var(--mc-muted);margin:0}
.mc-group__list{display:flex;flex-direction:column}
.mc-account{display:grid;grid-template-columns:230px minmax(0,1fr);gap:1.75rem;padding:.9rem 0;align-items:start}
.mc-account + .mc-account{border-top:1px solid var(--mc-line-soft)}
.mc-account__name{font-size:.9375rem;font-weight:800;color:var(--mc-ink);margin:0}
.mc-account__name a{color:inherit}
.mc-account__name a:hover{color:var(--mc-blue);text-decoration:none}
.mc-account__desc{font-size:.9375rem;color:var(--mc-muted);margin:0}

/* ==========================================================================
   8. Loan products
   ========================================================================== */
.mc-loans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.mc-loan{
  background:#fff;border:1px solid var(--mc-line);border-radius:var(--mc-radius);
  padding:30px;display:flex;flex-direction:column;box-shadow:var(--mc-shadow-sm);
  overflow:hidden;
}
.mc-loan__media{margin:-30px -30px 24px;aspect-ratio:16/9;overflow:hidden;background:var(--mc-tint)}
.mc-loan__media img{width:100%;height:100%;object-fit:cover}
.mc-loan h3{font-size:1.375rem;font-weight:800;color:var(--mc-ink);margin-bottom:.85rem}
.mc-loan__desc{font-size:.9375rem;color:var(--mc-muted);margin-bottom:1rem}
.mc-loan__who{font-size:.875rem;font-weight:700;color:var(--mc-ink);margin-bottom:1.5rem}
.mc-loan .mc-btn{align-self:flex-start;margin-top:auto}
.mc-loan--feature{background:var(--mc-blue);border-color:var(--mc-blue);color:#fff;box-shadow:var(--mc-shadow)}
.mc-loan--feature h3{color:#fff}
.mc-loan--feature .mc-loan__desc{color:rgba(255,255,255,.82)}
.mc-loan--feature .mc-loan__who{color:#fff}
.mc-loans__more{margin-top:1.5rem;font-size:.9375rem;color:var(--mc-muted)}
.mc-loans__more a{font-weight:700;text-decoration:underline}

/* ==========================================================================
   9. Steps
   ========================================================================== */
.mc-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;counter-reset:mcstep}
.mc-step{position:relative;padding-top:52px}
.mc-step::before{
  counter-increment:mcstep;content:counter(mcstep);
  position:absolute;top:0;left:0;width:34px;height:34px;border-radius:50%;
  background:var(--mc-magenta);color:#fff;font-size:.875rem;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}
.mc-step::after{
  content:"";position:absolute;top:17px;left:46px;right:-2.5rem;height:1px;background:var(--mc-line);
}
.mc-step:last-child::after{display:none}
.mc-step h3{font-size:1rem;font-weight:800;color:var(--mc-ink);margin-bottom:.4rem}
.mc-step p{font-size:.9375rem;color:var(--mc-muted);margin:0}

/* ==========================================================================
   9b. Branch photo band
   ========================================================================== */
.mc-band{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center}
.mc-band__media{
  margin:0;border-radius:var(--mc-radius-lg);overflow:hidden;
  box-shadow:var(--mc-shadow);position:relative;
}
.mc-band__media::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--mc-magenta);
}
.mc-band__media img{width:100%;height:100%;object-fit:cover;display:block}
.mc-band__copy h2{margin-bottom:.75rem}
.mc-band__copy > p{color:var(--mc-muted);font-size:1.0625rem}
.mc-band__meta{
  margin:1.5rem 0;padding-left:1rem;border-left:3px solid var(--mc-blue-light);
  font-size:.9375rem;color:var(--mc-body);line-height:1.7;
}

/* ==========================================================================
   10. Testimonial
   ========================================================================== */
.mc-quote{border-top:1px solid var(--mc-line);padding-top:56px}
.mc-quote blockquote{
  margin:0 0 1.75rem;max-width:800px;font-size:clamp(1.25rem,1rem + 1.1vw,1.75rem);
  font-weight:700;line-height:1.35;letter-spacing:-.02em;color:var(--mc-ink);
}
.mc-quote__by{border-left:3px solid var(--mc-magenta);padding-left:1rem}
.mc-quote__by strong{display:block;font-size:.9375rem;font-weight:800;color:var(--mc-ink)}
.mc-quote__who > span{font-size:.875rem;color:var(--mc-muted)}
.mc-quote__by--photo{display:flex;align-items:center;gap:1rem;border-left:0;padding-left:0}
.mc-quote__pic{flex:none;width:64px;height:64px;border-radius:50%;overflow:hidden;box-shadow:var(--mc-shadow-sm)}
.mc-quote__pic img{width:100%;height:100%;object-fit:cover}
.mc-quote__by--photo .mc-quote__who{border-left:3px solid var(--mc-magenta);padding-left:1rem}

/* ==========================================================================
   11. CTA band
   ========================================================================== */
.mc-cta{background:linear-gradient(100deg,var(--mc-blue) 0%,var(--mc-navy) 100%);color:#fff;padding:56px 0}
.mc-cta .mc-wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.75rem}
.mc-cta h2{color:#fff;margin-bottom:.4rem;font-size:clamp(1.4rem,1.1rem + 1.2vw,1.9rem)}
.mc-cta p{color:rgba(255,255,255,.82);margin:0;font-size:1rem}
.mc-cta__actions{display:flex;flex-wrap:wrap;gap:.75rem}

/* ==========================================================================
   12. Footer
   ========================================================================== */
.mc-footer{background:var(--mc-navy);color:rgba(255,255,255,.74);padding:64px 0 0;font-size:.875rem;border-top:3px solid var(--mc-magenta)}
.mc-footer__cols{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;padding-bottom:48px}
.mc-footer h4{font-size:.9375rem;font-weight:800;color:#fff;margin-bottom:1rem;letter-spacing:-.01em}
.mc-footer p{margin:0 0 .85rem;line-height:1.65}
.mc-footer a{color:rgba(255,255,255,.72)}
.mc-footer a:hover{color:#fff}
.mc-footer ul{list-style:none;margin:0;padding:0}
.mc-footer li{margin-bottom:.55rem}
.mc-footer__brand .mc-brand{margin-bottom:1rem}
.mc-footer__licence{font-size:.75rem;color:rgba(255,255,255,.5);line-height:1.6}
.mc-footer__bottom{
  border-top:1px solid rgba(255,255,255,.14);padding:20px 0;
  display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;
  font-size:.8125rem;color:rgba(255,255,255,.55);
}
.mc-footer__bottom ul{display:flex;gap:1.5rem}
.mc-footer__bottom li{margin:0}

/* ==========================================================================
   10b. Managing Director's message
   ========================================================================== */
.mc-md{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}
.mc-md__portrait{
  position:relative;aspect-ratio:5/6;border-radius:var(--mc-radius-lg);overflow:hidden;
  background:#fff;box-shadow:var(--mc-shadow);
}
.mc-md__portrait img{width:100%;height:100%;object-fit:cover;display:block}
.mc-md__portrait::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--mc-magenta)}
.mc-md__initials{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:3rem;font-weight:800;color:var(--mc-blue);
  background:linear-gradient(160deg,var(--mc-tint),#DCEAFB);
}
.mc-md__body h2{margin-bottom:1.1rem}
.mc-md__quote{
  margin:0 0 1.5rem;padding-left:1.25rem;border-left:3px solid var(--mc-blue-light);
  font-size:1.0625rem;color:var(--mc-body);
}
.mc-md__quote p{margin-bottom:.9rem}
.mc-md__sign strong{display:block;font-size:.9375rem;font-weight:800;color:var(--mc-ink)}
.mc-md__sign span{font-size:.875rem;color:var(--mc-muted)}
.mc-md__more{margin-top:1.75rem}

/* ==========================================================================
   12b. Social icons
   ========================================================================== */
.mc-social{display:flex;flex-wrap:wrap;gap:.6rem;list-style:none;margin:1.25rem 0 0;padding:0}
.mc-social li{margin:0}
.mc-social a{
  display:flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:50%;background:rgba(255,255,255,.12);color:#fff;
  transition:background-color .16s ease,transform .16s ease;
}
.mc-social a:hover{background:var(--mc-magenta);transform:translateY(-2px)}
.mc-social svg{width:18px;height:18px;fill:currentColor}

.mc-footer__photo{
  margin:0 0 1.1rem;border-radius:var(--mc-radius);overflow:hidden;
  aspect-ratio:16/9;position:relative;
}
.mc-footer__photo img{width:100%;height:100%;object-fit:cover;display:block}
.mc-footer__photo::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--mc-magenta)}
.mc-footer__where{font-weight:700;color:#fff}

/* ==========================================================================
   13. Inner pages / editor content
   ========================================================================== */
.mc-pagehead{color:#fff;padding:58px 0;background:linear-gradient(165deg,#12459A 0%,var(--mc-navy) 60%,#08265F 100%)}
.mc-pagehead h1{color:#fff;margin:0;max-width:20ch}
.mc-pagehead p{color:rgba(255,255,255,.75);margin-top:.75rem;max-width:56ch}
.mc-content{max-width:760px;margin:0 auto}
.mc-content h2{margin-top:2.25rem}
.mc-content h3{margin-top:1.75rem;font-size:1.25rem}
.mc-content ul,.mc-content ol{margin-bottom:1.25rem}
.mc-content li{margin-bottom:.4rem}
.mc-content img{border-radius:var(--mc-radius);margin:1.75rem 0}
.mc-content blockquote{
  margin:1.75rem 0;padding:.25rem 0 .25rem 1.25rem;
  border-left:3px solid var(--mc-magenta);font-size:1.0625rem;color:var(--mc-ink);font-weight:600;
}
.mc-content table{width:100%;border-collapse:collapse;margin:1.75rem 0;font-size:.9375rem}
.mc-content th,.mc-content td{border:1px solid var(--mc-line);padding:.7rem .9rem;text-align:left}
.mc-content th{background:var(--mc-tint);color:var(--mc-ink);font-weight:700}
.alignleft{float:left;margin:.4rem 1.75rem 1rem 0}
.alignright{float:right;margin:.4rem 0 1rem 1.75rem}
.aligncenter{margin-left:auto;margin-right:auto}
.wp-caption-text{font-size:.8125rem;color:var(--mc-muted);text-align:center}

.mc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.mc-card{
  background:#fff;border:1px solid var(--mc-line);border-radius:var(--mc-radius);
  padding:26px;box-shadow:var(--mc-shadow-sm);
}
.mc-card h3{margin-bottom:.5rem}
.mc-card p{font-size:.9375rem;color:var(--mc-muted)}

.mc-pagination{display:flex;gap:.5rem;margin-top:2.5rem}
.mc-pagination .page-numbers{
  display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;
  padding:0 .6rem;border:1px solid var(--mc-line);border-radius:8px;font-weight:700;font-size:.875rem;
}
.mc-pagination .current{background:var(--mc-blue);border-color:var(--mc-blue);color:#fff}

/* ==========================================================================
   13b. Management and staff
   ========================================================================== */
.mc-team-group + .mc-team-group{margin-top:56px}
.mc-team-group__name{
  font-size:1.0625rem;font-weight:800;color:var(--mc-ink);margin-bottom:.35rem;
  padding-bottom:.75rem;border-bottom:1px solid var(--mc-line);
}
.mc-team-group__desc{font-size:.9375rem;color:var(--mc-muted);margin:.75rem 0 0}
.mc-team-group__name + .mc-team{margin-top:28px}

.mc-team{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:32px 28px;margin-top:28px}
.mc-person{margin:0}
.mc-person__photo{
  position:relative;aspect-ratio:5/6;border-radius:var(--mc-radius);overflow:hidden;
  background:var(--mc-tint);margin-bottom:14px;box-shadow:var(--mc-shadow-sm);
}
.mc-person__photo img{width:100%;height:100%;object-fit:cover;display:block}
.mc-person__photo::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--mc-magenta);
}
.mc-person__initials{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-size:2.25rem;font-weight:800;letter-spacing:.02em;color:var(--mc-blue);
  background:linear-gradient(160deg,var(--mc-tint),#DCEAFB);
}
.mc-person__name{font-size:1rem;font-weight:800;color:var(--mc-ink);margin:0 0 .15rem;letter-spacing:-.01em}
.mc-person__role{font-size:.875rem;font-weight:700;color:var(--mc-blue);margin:0 0 .5rem}
.mc-person__bio{font-size:.875rem;color:var(--mc-muted);margin:0}
.mc-person__contact{font-size:.8125rem;margin:.6rem 0 0;line-height:1.7}
.mc-team__more{margin-top:40px}

@media (max-width:620px){
  .mc-team{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:24px 18px}
  .mc-person__initials{font-size:1.5rem}
}

/* ==========================================================================
   14. Shortcodes and page-builder pages
   ========================================================================== */
.mc-calc-holder{max-width:460px}
.mc-calc-holder--center{margin-left:auto;margin-right:auto}

/* A shortcode dropped into ordinary page content should not gain a second
   gutter on top of the text column it already sits in. */
.mc-content .mc-shortcode{padding:48px 0}
.mc-content .mc-shortcode > .mc-wrap{padding-left:0;padding-right:0;max-width:none}
.mc-content .mc-shortcode.mc-section--tint{
  padding-left:28px;padding-right:28px;border-radius:var(--mc-radius);
}
.mc-content .mc-calc-holder{max-width:none}

/* Full width (page builder) template: header and footer only. */
.mc-builder{display:block}
.mc-builder > .mc-wrap:first-child{padding-top:48px}

/* ==========================================================================
   15. Responsive
   ========================================================================== */
@media (max-width:1024px){
  .mc-hero .mc-wrap{grid-template-columns:1fr;gap:44px}
  .mc-hero h1{max-width:18ch}
  .mc-calc{max-width:460px}
  .mc-footer__cols{grid-template-columns:1fr 1fr;gap:2rem}
}
@media (max-width:880px){
  :root{--mc-gutter:24px}
  .mc-section{padding:64px 0}
  .mc-nav-toggle{display:block;order:3}
  .mc-header .mc-wrap{flex-wrap:wrap}
  .mc-nav{order:4;flex-basis:100%;display:none}
  .mc-nav.is-open{display:block}
  .mc-nav ul{flex-direction:column;align-items:stretch;gap:0;padding:.5rem 0 1rem}
  .mc-nav > ul > li{border-top:1px solid rgba(255,255,255,.12)}
  .mc-nav a{padding:.85rem 0}
  .mc-nav > ul > li > a::after{display:none}
  .mc-nav ul ul{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;padding:0 0 .5rem 1rem}
  .mc-nav ul ul a{color:rgba(255,255,255,.72)}
  .mc-nav ul ul a:hover{background:transparent;color:#fff}
  .mc-header__cta{order:2}
  .mc-group{grid-template-columns:1fr;gap:1.25rem}
  .mc-account{grid-template-columns:1fr;gap:.25rem}
  .mc-trust .mc-wrap{grid-template-columns:1fr;gap:1.25rem}
  .mc-steps{grid-template-columns:1fr;gap:1.75rem}
  .mc-step::after{display:none}
  .mc-loans{grid-template-columns:1fr}
  .mc-band{grid-template-columns:1fr;gap:2rem}
  .mc-md{grid-template-columns:1fr;gap:1.75rem}
  .mc-md__portrait{max-width:260px}
  .mc-band__media{aspect-ratio:16/10}
}
@media (max-width:620px){
  .mc-brand--image .custom-logo{max-height:min(var(--mc-logo-h,56px),42px)}
  .mc-topbar .mc-wrap{flex-direction:column}
  .mc-hero{padding:52px 0 64px}
  .mc-hero__actions .mc-btn{flex:1 1 100%}
  .mc-footer__cols{grid-template-columns:1fr}
  .mc-cta .mc-wrap{flex-direction:column;align-items:flex-start}
  .mc-cta__actions{width:100%}
  .mc-cta__actions .mc-btn{flex:1 1 100%}
  .mc-chat{right:14px;bottom:14px;padding:.7rem 1rem;font-size:.875rem}
  .mc-calc__split{grid-template-columns:1fr;gap:.75rem}
}
@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .mc-btn:hover{transform:none}
}
