/* =========================================================
   Mannix Capital — Shared Stylesheet
   Light cream + gold palette
   ========================================================= */

/* ---------- Fonts ---------- */
@font-face{font-family:'Crimson Text';font-style:normal;font-weight:400;font-display:swap;src:url(crimson-text-bold.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Crimson Text';font-style:normal;font-weight:600;font-display:swap;src:url(crimson-text.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Outfit;font-style:normal;font-weight:300;font-display:swap;src:url(outfit.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Outfit;font-style:normal;font-weight:700;font-display:swap;src:url(outfit-bold.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- CSS Variables ---------- */
:root{
  /* Gold accents (kept from original) */
  --highlight-color:#dbc285;
  --highlight-color-darker:#c69728;
  --highlight-color-darkest:#ac8832;

  /* Light palette */
  --primary-bg-color:#faf7f0;        /* page cream */
  --primary-bg-color-lighter:#ffffff;
  --primary-bg-color-lightest:#fdfbf5;
  --primary-fg-color:#1f2a33;        /* deep navy text */
  --primary-heading-color:#1a2530;
  --primary-heading-shadow:transparent;

  /* Section accents */
  --secondary-bg-color:#f5efe0;      /* warm sand */
  --secondary-bg-color-lighter:#fbf7ec;
  --secondary-fg-color:#2a2a2a;

  /* Subtle dividers / surfaces */
  --surface-border:#ece4d0;
  --surface-shadow:rgba(20,30,36,0.08);
  --surface-shadow-strong:rgba(20,30,36,0.14);

  /* Buttons */
  --button-bg-color:var(--highlight-color);
  --button-bg-color-hover:#fff5dc;
  --button-bg-color-lighter:#ffe093;
  --button-bg-color-lighter-hover:#ffeec5;
  --button-fg-color:#141e24;

  /* Header / footer */
  --header-bg-color:#ffffff;
  --header-fg-color:#1a2530;
  --footer-bg-color:#1a2530;        /* dark navy footer for contrast */
  --footer-fg-color:#f5efe0;
}

*{box-sizing:border-box}

body,html{
  background:var(--primary-bg-color);
  color:var(--primary-fg-color);
  font-family:Outfit,sans-serif;
  font-optical-sizing:auto;
  font-style:normal;
  font-weight:300;
  margin:0;
  padding:0;
}

/* ---------- Typography ---------- */
h1,h2,h3,h4,h5,h6,p{margin-top:0}
h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child,li:last-child,p:last-child{margin-bottom:0}
h1:not(:first-child),h2:not(:first-child),h3:not(:first-child),h4:not(:first-child),h5:not(:first-child),h6:not(:first-child){margin-top:2rem}
img+h3:not(:first-child){margin-top:0}

h1,h2{font-family:"Crimson Text",serif;font-style:normal;line-height:1.15;color:var(--primary-heading-color)}
h1{font-size:1.75rem;font-weight:400;margin-bottom:1.5rem}
@media screen and (min-width:768px){h1{font-size:2.25rem}}
@media screen and (min-width:1296px){h1{font-size:2.875rem}}
h2{font-size:1.6rem;font-weight:600;margin-bottom:1.25rem}
@media screen and (min-width:768px){h2{font-size:2rem}}
h3{font-family:"Crimson Text",serif;font-weight:600;font-size:1.25rem;color:var(--primary-heading-color)}
@media screen and (min-width:768px){h3{font-size:1.4rem}}
h4{font-family:"Crimson Text",serif;font-weight:600;color:var(--primary-heading-color);font-size:1.125rem;margin-bottom:.5rem}

p,ul{line-height:1.75;margin-bottom:1rem}
p{text-align:left}
@media screen and (min-width:768px){p{text-align:justify}}
li{line-height:1.75;margin:0 0 .5rem 0}
a{color:var(--highlight-color-darkest)}

.container{margin:auto;max-width:calc(100% - 48px);width:75rem}
@media screen and (min-width:768px){.container{max-width:calc(100% - 96px)}}

.animated path{opacity:0}
@keyframes dash{to{stroke-dashoffset:0}}

/* ---------- Buttons ---------- */
.button{
  background:linear-gradient(to top,var(--button-bg-color),var(--button-bg-color-lighter));
  border:0;border-radius:0;
  color:var(--button-fg-color);
  cursor:pointer;display:inline-block;
  font-family:inherit;font-size:inherit;font-weight:inherit;
  letter-spacing:.05rem;line-height:inherit;
  padding:16px 28px;position:relative;text-align:center;text-decoration:none;
  box-shadow:0 4px 16px rgba(198,151,40,0.25);
  transition:box-shadow .4s, transform .3s;
}
.button span{position:relative}
.button:before{
  background:linear-gradient(to top,var(--button-bg-color-hover),var(--button-bg-color-lighter-hover));
  content:'';height:100%;left:0;opacity:0;position:absolute;top:0;
  transition:opacity .5s;width:100%;
}
.button:hover{box-shadow:0 6px 22px rgba(198,151,40,0.45);transform:translateY(-1px)}
.button:hover:before{opacity:1}

.button--secondary{
  background:transparent;
  border:1.5px solid var(--highlight-color-darker);
  color:var(--highlight-color-darkest);
  box-shadow:none;
  padding:14.5px 28px;
}
.button--secondary:before{display:none}
.button--secondary:hover{background:var(--secondary-bg-color);box-shadow:none}

/* ---------- Header ---------- */
.header{
  left:0;position:absolute;top:0;width:100%;z-index:10;
}
.header__inner{
  align-items:center;
  background:var(--header-bg-color);
  border-bottom:1px solid var(--surface-border);
  box-shadow:0 2px 12px var(--surface-shadow);
  display:flex;
  height:5.75rem;
  justify-content:space-between;
  padding:0 16px;
}
@media (min-width:768px){.header__inner{height:6.5rem;padding:0 24px}}
@media (min-width:1024px){.header__inner{height:7.5rem;padding:0 32px}}
/* Logo - new SVG reads on its own without a backdrop */
.header__logo-plate{
  display:inline-flex;align-items:center;
  height:100%;
  padding:6px 0 6px 8px;
  text-decoration:none;
}
.header__logo{height:4.25rem;width:auto;display:block}
@media (min-width:768px){.header__logo{height:5rem} .header__logo-plate{padding-left:14px}}
@media (min-width:1024px){.header__logo{height:5.75rem} .header__logo-plate{padding-left:18px}}

/* Header height needs to accommodate the larger logo */

.header__nav{display:flex;align-items:center;gap:0}
.header__links{
  display:flex;align-items:center;
  height:100%;list-style:none;margin:0;padding:0;
}
.header__links > li{position:relative;display:none;margin:0}
@media (min-width:1024px){.header__links > li{display:flex}}
.header__links a{
  color:var(--header-fg-color);
  display:flex;align-items:center;
  height:100%;padding:0 14px;
  text-decoration:none;
  font-size:.95rem;letter-spacing:.02rem;
  position:relative;
  transition:color .3s;
}
@media (min-width:1296px){.header__links a{padding:0 18px}}
.header__links a:after{
  content:'';position:absolute;left:14px;right:14px;bottom:1.4rem;
  height:2px;background:var(--highlight-color-darker);
  transform:scaleX(0);transform-origin:left;transition:transform .3s;
}
.header__links a:hover{color:var(--highlight-color-darkest)}
.header__links a:hover:after{transform:scaleX(1)}
.header__links a.is-active{color:var(--highlight-color-darkest)}
.header__links a.is-active:after{transform:scaleX(1)}
.header__cta{
  display:none;
  background:linear-gradient(to top,var(--button-bg-color),var(--button-bg-color-lighter));
  color:var(--button-fg-color);
  padding:12px 22px;
  text-decoration:none;
  font-size:.92rem;
  margin-left:18px;
  box-shadow:0 4px 12px rgba(198,151,40,0.25);
  transition:box-shadow .3s, transform .3s;
}
.header__cta:hover{box-shadow:0 6px 18px rgba(198,151,40,0.4);transform:translateY(-1px)}
@media (min-width:768px){.header__cta{display:inline-block}}

/* Mobile menu */
.header__burger{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:40px;height:40px;background:transparent;border:0;cursor:pointer;padding:0;
  gap:5px;
}
@media (min-width:1024px){.header__burger{display:none}}
.header__burger span{display:block;width:22px;height:2px;background:var(--header-fg-color);transition:transform .3s, opacity .3s}
.header__burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.header__burger.is-open span:nth-child(2){opacity:0}
.header__burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.header__mobile{
  display:none;
  background:#ffffff;
  border-bottom:1px solid var(--surface-border);
  box-shadow:0 4px 12px var(--surface-shadow);
}
.header__mobile.is-open{display:block}
@media (min-width:1024px){.header__mobile,.header__mobile.is-open{display:none}}
.header__mobile ul{list-style:none;margin:0;padding:0}
.header__mobile li{border-bottom:1px solid var(--surface-border)}
.header__mobile li:last-child{border-bottom:0}
.header__mobile a{
  display:block;padding:16px 24px;
  color:var(--header-fg-color);text-decoration:none;
  font-size:1rem;
}
.header__mobile a:hover{background:var(--secondary-bg-color);color:var(--highlight-color-darkest)}

/* Push content below fixed header */
.page{padding-top:5.75rem}
@media (min-width:768px){.page{padding-top:6.5rem}}
@media (min-width:1024px){.page{padding-top:7.5rem}}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,var(--secondary-bg-color-lighter) 0%,var(--primary-bg-color) 60%,var(--secondary-bg-color) 100%);
  padding:48px 0;
}
@media (min-width:768px){.hero{padding:80px 0}}
@media (min-width:1024px){.hero{padding:96px 0 112px}}
.hero__grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
@media (min-width:1024px){.hero__grid{grid-template-columns:1.05fr 1fr;gap:64px}}
.hero__content h1{
  font-size:2rem;line-height:1.1;margin-bottom:1.25rem;
  letter-spacing:-.01rem;
}
@media (min-width:768px){.hero__content h1{font-size:2.75rem}}
@media (min-width:1296px){.hero__content h1{font-size:3.25rem}}
.hero__eyebrow{
  display:inline-block;
  color:var(--highlight-color-darkest);
  font-size:.8rem;letter-spacing:.18rem;text-transform:uppercase;
  font-weight:700;margin-bottom:1.25rem;
  padding-bottom:.5rem;border-bottom:2px solid var(--highlight-color);
}
.hero__lead{
  font-size:1.05rem;line-height:1.7;color:#3b4a55;margin-bottom:1.75rem;
}
@media (min-width:768px){.hero__lead{font-size:1.15rem}}
.hero__buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:1rem}
.hero__image-wrap{
  position:relative;
  border-top:3px solid var(--highlight-color);
  box-shadow:0 12px 50px var(--surface-shadow-strong);
  overflow:hidden;
}
.hero__image-wrap img{display:block;width:100%;height:auto}

/* Compact hero for inner pages */
.hero--compact{padding:40px 0 32px}
@media (min-width:768px){.hero--compact{padding:64px 0 56px}}
.hero--compact .hero__grid{grid-template-columns:1fr}
.hero--compact .hero__image-wrap{display:none}
.hero--compact h1{font-size:2rem}
@media (min-width:768px){.hero--compact h1{font-size:2.5rem}}

/* ---------- Section spacing ---------- */
.section{padding:48px 0}
@media (min-width:768px){.section{padding:80px 0}}
@media (min-width:1024px){.section{padding:96px 0}}
.section--alt{background:var(--secondary-bg-color)}
.section--white{background:#ffffff}
.section__head{text-align:center;max-width:42rem;margin:0 auto 48px}
.section__head h2{margin-bottom:1rem}
.section__head p{text-align:center;color:#4a5660;font-size:1.05rem;line-height:1.7}
.section__eyebrow{
  display:inline-block;color:var(--highlight-color-darkest);
  font-size:.78rem;letter-spacing:.18rem;text-transform:uppercase;
  font-weight:700;margin-bottom:.75rem;
}

/* ---------- Service Cards ---------- */
.svc-grid{
  display:grid;grid-template-columns:1fr;gap:24px;
}
@media (min-width:600px){.svc-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.svc-grid{grid-template-columns:repeat(3,1fr);gap:32px}}
.svc-card{
  background:#ffffff;
  border:1px solid var(--surface-border);
  border-top:3px solid var(--highlight-color);
  padding:36px 28px;
  text-decoration:none;color:inherit;
  display:flex;flex-direction:column;
  position:relative;overflow:hidden;
  transition:transform .35s, box-shadow .35s;
  box-shadow:0 6px 20px var(--surface-shadow);
}
.svc-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px var(--surface-shadow-strong)}
.svc-card__icon{
  width:56px;height:56px;
  background:var(--secondary-bg-color);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:18px;
}
.svc-card__icon svg{width:30px;height:30px;color:var(--highlight-color-darkest)}
.svc-card h3{margin-top:0;margin-bottom:.75rem;font-family:"Crimson Text",serif;font-size:1.4rem;color:var(--primary-heading-color)}
.svc-card p{font-size:.97rem;line-height:1.65;color:#4a5660;flex-grow:1;text-align:left}
.svc-card__link{
  margin-top:18px;color:var(--highlight-color-darkest);
  font-weight:700;font-size:.92rem;letter-spacing:.05rem;
  text-decoration:none;text-transform:uppercase;
}
.svc-card__link:after{content:' →'}

/* ---------- Why Choose Us / Benefits ---------- */
.benefits{
  display:grid;grid-template-columns:1fr;gap:28px;
}
@media (min-width:600px){.benefits{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.benefits{grid-template-columns:repeat(3,1fr);gap:40px}}
.benefit{display:flex;gap:18px}
.benefit__icon{
  flex-shrink:0;width:54px;height:54px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--highlight-color) 0%,var(--button-bg-color-lighter) 100%);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(198,151,40,0.25);
}
.benefit__icon svg{width:26px;height:26px;color:#1a2530}
.benefit h4{margin:0 0 .35rem;font-size:1.15rem;color:var(--primary-heading-color)}
.benefit p{margin:0;font-size:.95rem;color:#4a5660;line-height:1.6;text-align:left}

/* ---------- Two-column content blocks ---------- */
.split{display:grid;grid-template-columns:1fr;gap:32px;align-items:center}
@media (min-width:1024px){.split{grid-template-columns:1fr 1fr;gap:64px}}
.split--reverse .split__media{order:-1}
@media (min-width:1024px){.split--reverse .split__media{order:1}}
.split__media{position:relative;overflow:hidden;border-top:3px solid var(--highlight-color);box-shadow:0 12px 40px var(--surface-shadow-strong)}
.split__media img{display:block;width:100%;height:auto}
.split__content h2{color:var(--primary-heading-color)}
.split__content h3{margin-top:1.5rem}
.split__content p{color:#3b4a55}
.split__content ul{padding-left:1.25rem;color:#3b4a55}
.split__content ul li::marker{color:var(--highlight-color-darker)}

/* ---------- Stats strip ---------- */
.stats{
  background:linear-gradient(135deg,#1a2530 0%,#2c3e4a 100%);
  color:#fbf7ec;padding:56px 0;
  border-top:3px solid var(--highlight-color);
}
.stats__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;text-align:center}
@media (min-width:768px){.stats__grid{grid-template-columns:repeat(4,1fr)}}
.stats__num{
  font-family:"Crimson Text",serif;font-size:2.5rem;font-weight:600;
  color:var(--highlight-color);line-height:1;margin-bottom:.5rem;
}
@media (min-width:768px){.stats__num{font-size:3.25rem}}
.stats__label{font-size:.9rem;letter-spacing:.05rem;color:#d8dde2}

/* ---------- CTA strip ---------- */
.cta-strip{
  background:linear-gradient(135deg,var(--secondary-bg-color) 0%,var(--secondary-bg-color-lighter) 100%);
  border-top:3px solid var(--highlight-color);
  padding:56px 24px;
  text-align:center;
}
.cta-strip h2{margin-bottom:1rem;color:var(--primary-heading-color)}
.cta-strip p{text-align:center;max-width:36rem;margin:0 auto 1.75rem;color:#4a5660;font-size:1.05rem}
.cta-strip__buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ---------- FAQ ---------- */
.faq{max-width:48rem;margin:0 auto}
.faq__item{
  background:#ffffff;
  border:1px solid var(--surface-border);
  margin-bottom:14px;
  transition:box-shadow .3s;
}
.faq__item[open]{box-shadow:0 6px 22px var(--surface-shadow);border-color:var(--highlight-color)}
.faq__item summary{
  cursor:pointer;list-style:none;
  padding:18px 24px;
  font-family:"Crimson Text",serif;font-size:1.1rem;font-weight:600;
  color:var(--primary-heading-color);
  display:flex;justify-content:space-between;align-items:center;
  position:relative;
}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary:after{
  content:'+';color:var(--highlight-color-darkest);
  font-size:1.4rem;line-height:1;transition:transform .3s;
}
.faq__item[open] summary:after{transform:rotate(45deg)}
.faq__item-body{padding:0 24px 22px;color:#3b4a55}
.faq__item-body p{margin-bottom:.75rem}
.faq__item-body p:last-child{margin-bottom:0}
.faq__item-body ul{margin:0 0 .5rem 1.25rem;padding:0}

/* ---------- Calculators ---------- */
.calc-grid{display:grid;grid-template-columns:1fr;gap:32px}
@media (min-width:1024px){.calc-grid{grid-template-columns:1fr 1fr;gap:48px}}
.calc{
  background:#ffffff;border:1px solid var(--surface-border);
  border-top:3px solid var(--highlight-color);
  padding:32px;
  box-shadow:0 6px 24px var(--surface-shadow);
}
.calc h3{margin-top:0;margin-bottom:.5rem;font-size:1.4rem}
.calc__lead{color:#4a5660;font-size:.95rem;margin-bottom:1.5rem;text-align:left}
.calc label{display:block;font-size:.85rem;letter-spacing:.06rem;margin-top:1rem;font-weight:700;color:#2a2a2a}
.calc__input,.calc__select{
  width:100%;padding:12px 14px;
  background:var(--primary-bg-color);
  border:1px solid var(--surface-border);
  border-radius:0;
  color:var(--primary-fg-color);
  font-family:inherit;font-size:1rem;
  margin-top:.4rem;
  transition:border-color .25s, background .25s;
}
.calc__input:focus,.calc__select:focus{outline:none;border-color:var(--highlight-color-darker);background:#ffffff}
.calc__row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc__result{
  margin-top:24px;padding:20px;
  background:linear-gradient(135deg,var(--secondary-bg-color) 0%,var(--secondary-bg-color-lighter) 100%);
  border-left:4px solid var(--highlight-color-darker);
}
.calc__result-label{font-size:.85rem;letter-spacing:.05rem;color:#4a5660;margin-bottom:.4rem}
.calc__result-value{
  font-family:"Crimson Text",serif;font-size:2rem;font-weight:600;
  color:var(--primary-heading-color);line-height:1.1;
}
.calc__result-extra{font-size:.92rem;color:#4a5660;margin-top:.4rem}
.calc__disclaimer{font-size:.78rem;color:#7a8590;margin-top:1.25rem;line-height:1.5;text-align:left}

/* ---------- Contact form (re-themed for light) ---------- */
.contact-block{display:grid;grid-template-columns:1fr;gap:0;background:#ffffff;border:1px solid var(--surface-border);box-shadow:0 8px 30px var(--surface-shadow)}
@media (min-width:900px){.contact-block{grid-template-columns:1fr 1fr}}
.contact-form{padding:36px;background:#ffffff;border-top:3px solid var(--highlight-color)}
.contact-form h2{margin-bottom:.5rem}
.contact-form__lead{color:#4a5660;margin-bottom:1.5rem}
.contact-form__error{display:none;background:#fef5e7;border:1px solid var(--highlight-color-darker);color:#5d3a08;padding:10px 12px;margin-bottom:.5rem}
.contact-form label{display:block;font-size:.82rem;letter-spacing:.08rem;margin-top:1rem;font-weight:700;color:#2a2a2a;text-transform:uppercase}
.contact-form input,.contact-form textarea{
  width:100%;background:var(--primary-bg-color);
  border:1px solid var(--surface-border);
  color:var(--primary-fg-color);
  font-family:inherit;font-size:1rem;font-weight:300;
  padding:12px 14px;margin-top:.4rem;
  transition:border-color .25s, background .25s;
}
.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--highlight-color-darker);background:#ffffff}
.contact-form textarea{min-height:120px;resize:vertical}
.contact-form .button{margin-top:1.5rem;width:100%}
.contact-info{
  background:linear-gradient(135deg,var(--secondary-bg-color) 0%,var(--secondary-bg-color-lighter) 100%);
  padding:36px;border-top:3px solid var(--highlight-color-darker);
  display:flex;flex-direction:column;
}
.contact-info h2{color:var(--highlight-color-darkest);margin-bottom:1rem}
.contact-info a{color:var(--primary-fg-color);text-decoration:none;border-bottom:1px solid var(--highlight-color)}
.contact-info a:hover{color:var(--highlight-color-darkest)}
.contact-info__row{margin:.75rem 0}
.contact-info__label{display:block;font-size:.78rem;letter-spacing:.12rem;color:var(--highlight-color-darkest);text-transform:uppercase;margin-bottom:.2rem;font-weight:700}
.contact-info__map{margin-top:auto;display:block;width:100%;height:auto;object-fit:cover;border-top:1px solid var(--surface-border)}
.contact-form__complete{display:none;flex-direction:column;justify-content:center;text-align:center;padding:36px;background:#ffffff;border-top:3px solid var(--highlight-color)}
.contact-form__complete p{text-align:center}

/* ---------- Footer ---------- */
.footer{
  background:var(--footer-bg-color);
  color:var(--footer-fg-color);
  border-top:3px solid var(--highlight-color);
  padding:64px 0 32px;
  margin-top:0;
}
.footer__grid{
  display:grid;grid-template-columns:1fr;gap:40px;
  margin-bottom:40px;
}
@media (min-width:768px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px}}
.footer__col h4{
  color:#ffffff;font-family:"Crimson Text",serif;font-size:1.05rem;
  margin:0 0 1rem;letter-spacing:.04rem;
}
.footer__col ul{list-style:none;margin:0;padding:0}
.footer__col li{margin-bottom:.5rem}
.footer__col a{color:#d8dde2;text-decoration:none;font-size:.92rem;transition:color .25s}
.footer__col a:hover{color:var(--highlight-color)}
.footer__col p{font-size:.9rem;color:#d8dde2;line-height:1.65;text-align:left;margin-bottom:.5rem}
.footer__logo{display:block;height:auto;width:13rem;margin:0 auto 1.5rem;}
@media (min-width:768px){.footer__logo{margin:0 0 1.5rem 0}}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,0.12);
  padding-top:24px;
  display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center;
}
@media (min-width:768px){.footer__bottom{flex-direction:row;justify-content:space-between;text-align:left}}
.footer__bottom p{font-size:.82rem;color:#a8b2bc;margin:0;line-height:1.55}
.footer__mfaa{width:90px;height:auto;display:block;background:rgba(255,255,255,0.92);padding:8px;margin-top:1rem;border-radius:2px}
.footer__legal{font-size:.78rem;color:#8a939d;margin-top:18px;line-height:1.5;display:block;max-width:60rem}

/* ---------- Lender logos / small bar ---------- */
.lender-bar{padding:32px 0;background:#ffffff;border-top:1px solid var(--surface-border);border-bottom:1px solid var(--surface-border)}
.lender-bar__inner{text-align:center}
.lender-bar p{
  text-align:center;color:var(--highlight-color-darkest);
  font-weight:700;font-size:.85rem;letter-spacing:.18rem;
  text-transform:uppercase;margin:0;
}

/* ---------- Sub-page hero variant w/ image ---------- */
.page-banner{
  position:relative;padding:60px 0 48px;
  background:linear-gradient(135deg,var(--secondary-bg-color) 0%,var(--primary-bg-color) 100%);
  border-bottom:1px solid var(--surface-border);
}
@media (min-width:768px){.page-banner{padding:88px 0 72px}}
.page-banner__inner{max-width:48rem}
.page-banner h1{font-size:2rem;margin-bottom:1rem;color:var(--primary-heading-color)}
@media (min-width:768px){.page-banner h1{font-size:2.5rem}}
.page-banner p{font-size:1.05rem;color:#3b4a55;line-height:1.7;text-align:left}
.breadcrumb{
  font-size:.82rem;letter-spacing:.06rem;color:var(--highlight-color-darkest);
  margin-bottom:1rem;text-transform:uppercase;font-weight:700;
}
.breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid transparent}
.breadcrumb a:hover{border-bottom-color:var(--highlight-color)}
.breadcrumb span{margin:0 .5rem;color:#aab2ba}

/* ---------- Letter / Pull-quote block ---------- */
.letter{
  background:#ffffff;
  border-top:3px solid var(--highlight-color-darker);
  box-shadow:0 12px 40px var(--surface-shadow-strong);
  padding:36px 24px;position:relative;
}
@media (min-width:768px){.letter{padding:56px 48px}}
@media (min-width:1296px){.letter{padding:72px 80px}}
.letter:before{
  border-color:transparent transparent transparent var(--highlight-color-darker);
  border-style:solid;border-width:0 20px 20px 20px;
  content:'';display:block;height:0;left:0;position:absolute;top:0;width:0;
}
.letter h2{color:var(--highlight-color-darkest)}
.letter__cols{display:grid;grid-template-columns:1fr;gap:32px}
@media (min-width:768px){.letter__cols{grid-template-columns:1fr 1fr;gap:40px}}
.letter__image{
  float:left;margin-right:28px;height:110px;
  filter:saturate(.6);margin-top:8px;margin-bottom:16px;width:auto;
}
@media (min-width:768px){.letter__image{height:143px}}
@media (min-width:1024px){.letter__image{height:194px}}
.letter__signature{display:block;margin:2rem 0 0 auto;width:50%;max-width:400px}
.letter__credentials{text-align:right;font-style:italic;color:#4a5660;margin-top:1rem}

/* ---------- MFAA Vision Abacus calculator iframes ---------- */
/* Iframes are replaced elements and don't reliably honour min-height,
   so we use explicit height with !important per MFAA spec. */
.VisiCalcClass {
  background:#f5efe0 url(load.gif) 50% 15% no-repeat;
  background-size:60px 60px;
  width:100% !important;
  height:800px !important;
  margin:0;
  padding:0;
  border:1px solid var(--surface-border);
  border-top:3px solid var(--highlight-color);
  display:block;
  box-sizing:border-box;
}
#Loan_Repayment_Calculator { height:780px !important; }
#Borrowing_Power_Calculator { height:780px !important; }
#Budget_Planner { height:2900px !important; }
#Comparison_Rate_Calculator { height:880px !important; }
#Compound_Interest_Calculator { height:880px !important; }
#Credit_Card_Calculator { height:920px !important; }
#Extra_Repayment_Calculator { height:880px !important; }
#How_Long_to_Repay_Calculator { height:780px !important; }
#Interest_Only_Mortgage_Calculator { height:780px !important; }
#Saving_Calculator { height:640px !important; }
#Split_Loan_Calculator { height:840px !important; }
#Property_Selling_Cost_Calculator { height:740px !important; }
#Reverse_Mortgage_Calculator { height:1140px !important; }
#Stamp_Duty_Calculator { height:840px !important; }
#Income_Gross_Up_Calculator { height:940px !important; }
#RentvsBuyCalculator { height:1140px !important; }
#Mortgage_Switching_Calculator { height:1140px !important; }
#Fortnightly_Repayment_Calculator { height:780px !important; }

@media screen and (max-width:767px){
  .VisiCalcClass { height:1300px !important; }
  #Loan_Repayment_Calculator { height:1300px !important; }
  #Borrowing_Power_Calculator { height:1850px !important; }
  #Budget_Planner { height:5050px !important; }
  #Comparison_Rate_Calculator { height:1500px !important; }
  #Compound_Interest_Calculator { height:1250px !important; }
  #Credit_Card_Calculator { height:1550px !important; }
  #Extra_Repayment_Calculator { height:1500px !important; }
  #Home_Loan_Offset_Calculator { height:1450px !important; }
  #How_Long_to_Repay_Calculator { height:1300px !important; }
  #Interest_Only_Mortgage_Calculator { height:1500px !important; }
  #Saving_Calculator { height:1300px !important; }
  #Introductory_Rate_Loan_Calculator { height:1450px !important; }
  #Lump_Sum_Repayment_Calculator { height:1500px !important; }
  #Split_Loan_Calculator { height:1600px !important; }
  #Loan_Comparison_Calculator { height:1850px !important; }
  #Property_Buying_Cost_Calculator { height:1900px !important; }
  #Property_Selling_Cost_Calculator { height:1700px !important; }
  #Reverse_Mortgage_Calculator { height:1950px !important; }
  #Stamp_Duty_Calculator { height:1300px !important; }
  #Income_Gross_Up_Calculator { height:1750px !important; }
  #RentvsBuyCalculator { height:1950px !important; }
  #Mortgage_Switching_Calculator { height:1950px !important; }
  #Fortnightly_Repayment_Calculator { height:1300px !important; }
}

/* ---------- Google Reviews widget ---------- */
.gr-wrap{width:100%}
.gr-head{
  display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:40px;
  text-align:center;
}
@media (min-width:600px){.gr-head{flex-direction:row;justify-content:center;gap:18px;text-align:left}}
.gr-head__rating{
  font-family:"Crimson Text",serif;font-size:2.5rem;font-weight:600;
  color:var(--highlight-color-darkest);line-height:1;
}
.gr-head__stars{color:var(--highlight-color-darker);font-size:1.4rem;letter-spacing:2px}
.gr-head__count{font-size:.92rem;color:#4a5660}
.gr-head__count a{color:var(--highlight-color-darkest);text-decoration:none;border-bottom:1px solid var(--highlight-color)}
.gr-head__count a:hover{color:var(--primary-heading-color)}

.gr-grid{display:grid;grid-template-columns:1fr;gap:24px;align-items:stretch}
@media (min-width:600px){.gr-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1024px){.gr-grid{grid-template-columns:repeat(3,1fr)}}
.gr-card{
  background:#ffffff;border:1px solid var(--surface-border);
  border-top:3px solid var(--highlight-color);
  padding:28px 24px;display:flex;flex-direction:column;gap:14px;
  box-shadow:0 4px 16px var(--surface-shadow);
  height:100%;
}
.gr-card__head{display:flex;align-items:center;gap:12px}
.gr-card__avatar{
  width:42px;height:42px;border-radius:50%;
  background:linear-gradient(135deg,var(--highlight-color),var(--button-bg-color-lighter));
  color:#1a2530;display:flex;align-items:center;justify-content:center;
  font-family:"Crimson Text",serif;font-weight:600;font-size:1.1rem;
}
.gr-card__name{font-weight:700;color:var(--primary-heading-color);font-size:.95rem;line-height:1.2}
.gr-card__time{color:#7a8590;font-size:.78rem;margin-top:.15rem}
.gr-card__stars{color:var(--highlight-color-darker);font-size:.95rem;letter-spacing:1px}
.gr-card__text{color:#3b4a55;font-size:.92rem;line-height:1.55;font-style:italic}

.gr-loading{padding:48px 24px;text-align:center;color:#7a8590;font-style:italic}
.gr-fallback{padding:32px;text-align:center;background:var(--secondary-bg-color);border:1px dashed var(--surface-border)}

/* ---------- Animations ---------- */
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important}
}
