/* ===== Crest Fundgrove — Slate Navy + Bronze theme ===== */
:root{
  --c-primary: #3b4f63;
  --c-primary-dark: #243140;
  --c-primary-darker: #1a242d;
  --c-accent: #b08d57;
  --c-accent-dark: #8e6f43;
  --c-text: #1c2632;
  --c-muted: #5a6473;
  --c-light: #eef1f5;
  --c-lighter: #d9e0ea;
  --c-border: #cdd5e0;
  --c-white: #ffffff;
  --c-card: #f6f8fb;
  --c-shadow: rgba(36, 49, 64, 0.12);
}

html,body{scroll-behavior:smooth;}
html{box-sizing:border-box;}
*,*::before,*::after{box-sizing:inherit;margin:0;padding:0;border:0;outline:0;}
*{font-family:"Poppins", sans-serif;}
a{color:inherit;text-decoration:none;transition:color .25s ease;}
ul,ol{list-style:none;}
button{background:transparent;border:0;cursor:pointer;font:inherit;color:inherit;}
img{max-width:100%;display:block;}

body{
  font-weight:400;
  font-size:16px;
  line-height:1.55;
  color:var(--c-text);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.wrapper{overflow:hidden;min-height:100%;display:flex;flex-direction:column;}
.container{
  max-width:1280px;
  width:100%;
  margin:0 auto;
  padding:0 16px;
}

/* ====== Header (sticky) ====== */
.header{
  position:sticky;
  top:0;
  z-index:50;
  background:var(--c-white);
  border-bottom:1px solid var(--c-lighter);
  padding:12px 0;
  box-shadow:0 2px 10px rgba(36,49,64,.05);
}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  position:relative;
}
.logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  color:var(--c-primary-dark);
}
.logo img{height:34px;width:auto;}
.logo__text{
  font-size:20px;
  font-weight:700;
  letter-spacing:.2px;
  color:var(--c-primary-dark);
  white-space:nowrap;
}
.menu{
  display:flex;
  align-items:center;
  gap:24px;
  flex-wrap:wrap;
}
.menu a{
  font-weight:600;
  font-size:14px;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--c-primary-dark);
  padding:6px 4px;
  position:relative;
}
.menu a:hover, .menu a._active{color:var(--c-accent);}
.menu a._active::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-6px;
  height:2px;background:var(--c-accent);
  border-radius:2px;
}
.menu .cta{
  background:var(--c-primary);
  color:var(--c-white);
  padding:9px 18px;
  border-radius:8px;
  text-transform:none;
  font-size:14px;
  font-weight:600;
}
.menu .cta:hover{background:var(--c-primary-dark);color:#fff;}

/* Burger */
.burger{
  display:none;
  width:44px;height:44px;
  border-radius:8px;
  border:1px solid var(--c-lighter);
  background:var(--c-white);
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  cursor:pointer;
  margin-left:auto;
}
.burger span{
  display:block;
  width:22px;height:2px;background:var(--c-primary-dark);
  border-radius:2px;transition:transform .3s, opacity .3s;
}
.burger._open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger._open span:nth-child(2){opacity:0;}
.burger._open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width: 900px){
  .burger{display:flex;}
  .menu{
    position:absolute;
    top:calc(100% + 8px);
    right:0;left:0;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:var(--c-white);
    border:1px solid var(--c-lighter);
    border-radius:12px;
    padding:8px 0;
    max-height:0;
    overflow:hidden;
    transition:max-height .3s ease;
    box-shadow:0 10px 30px rgba(36,49,64,.12);
  }
  .menu._open{max-height:520px;padding:8px 0;}
  .menu a{
    padding:14px 20px;
    border-bottom:1px solid var(--c-light);
    text-align:left;
  }
  .menu a:last-child{border-bottom:0;}
  .menu .cta{
    margin:10px 20px;
    text-align:center;
    border-radius:8px;
  }
}

/* ====== Hero ====== */
.hero{
  background:linear-gradient(180deg,#f4f6fb 0%, #eef1f5 100%);
  padding:50px 0 60px;
  position:relative;
}
.hero__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:40px;
  align-items:start;
}
.hero__content h1{
  font-size:38px;
  line-height:1.15;
  font-weight:800;
  color:var(--c-primary-dark);
  margin-bottom:14px;
  letter-spacing:-.3px;
}
.hero__lead{
  font-size:18px;
  line-height:1.55;
  color:var(--c-muted);
  margin-bottom:24px;
  max-width:560px;
}
.hero__cta-row{
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  margin-bottom:28px;
}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 26px;
  border-radius:10px;
  font-size:16px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  text-align:center;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
  letter-spacing:.2px;
  border:0;
}
.btn-primary{background:var(--c-primary);color:#fff;box-shadow:0 6px 18px rgba(36,49,64,.18);}
.btn-primary:hover{background:var(--c-primary-dark);color:#fff;transform:translateY(-1px);}
.btn-accent{background:var(--c-accent);color:#fff;box-shadow:0 6px 18px rgba(176,141,87,.28);}
.btn-accent:hover{background:var(--c-accent-dark);color:#fff;transform:translateY(-1px);}
.btn-outline{background:transparent;color:var(--c-primary-dark);border:1px solid var(--c-primary-dark);}
.btn-outline:hover{background:var(--c-primary-dark);color:#fff;}
.btn--block{width:100%;}

/* Form */
.hero__form{
  background:var(--c-white);
  border-radius:14px;
  padding:24px;
  box-shadow:0 12px 40px rgba(36,49,64,.12);
  border:1px solid var(--c-lighter);
}
.form-title{
  font-size:22px;
  font-weight:700;
  color:var(--c-primary-dark);
  text-align:center;
  margin-bottom:16px;
}
.form-group{margin-bottom:12px;position:relative;}
.form-control{
  width:100%;
  padding:14px 16px;
  font-size:15px;
  font-weight:500;
  color:var(--c-text);
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:10px;
  transition:border-color .2s, box-shadow .2s;
}
.form-control::placeholder{color:#8a93a3;}
.form-control:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(59,79,99,.12);outline:0;}
.form-fineprint{
  margin-top:14px;
  font-size:12px;
  line-height:1.5;
  color:var(--c-muted);
}
.form-fineprint a{color:var(--c-accent);font-weight:600;}
.form-fineprint a:hover{color:var(--c-accent-dark);text-decoration:underline;}
.iti{width:100%;}
input[type="tel"].form-control{padding-left:96px;}
.iti--separate-dial-code .iti__selected-dial-code{
  color:var(--c-primary-dark);
  margin-left:6px;
  font-size:15px;
}

@media(min-width:900px){
  .hero{padding:80px 0 90px;}
  .hero__inner{grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;}
  .hero__content h1{font-size:54px;}
}

/* ====== Sections ====== */
section.section{padding:60px 0;}
.section--gray{background:var(--c-light);}
.section--dark{background:var(--c-primary-dark);color:#fff;}
.section--dark h2,.section--dark h3,.section--dark p,.section--dark li{color:#fff;}

h2.title{
  font-size:30px;
  line-height:1.2;
  font-weight:700;
  color:var(--c-primary-dark);
  margin-bottom:18px;
  letter-spacing:-.2px;
}
h3.subtitle{
  font-size:20px;
  line-height:1.3;
  font-weight:600;
  color:var(--c-primary-dark);
  margin-bottom:10px;
}
@media(min-width:768px){
  h2.title{font-size:36px;}
}
.section p{margin-bottom:14px;color:var(--c-text);}
.section p:last-child{margin-bottom:0;}
.section ul{margin:14px 0 18px 22px;list-style:disc;}
.section ul li{margin-bottom:8px;color:var(--c-text);}
.section--dark ul li::marker{color:var(--c-accent);}

.two-col{
  display:grid;
  grid-template-columns:1fr;
  gap:30px;
  align-items:start;
}
@media(min-width:900px){
  .two-col{grid-template-columns:.95fr 1.05fr;gap:50px;}
  .two-col--reverse{grid-template-columns:1.05fr .95fr;}
}
.two-col img{border-radius:14px;width:100%;height:auto;}

.cards{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:24px;
}
@media(min-width:600px){.cards{grid-template-columns:1fr 1fr;}}
@media(min-width:1000px){.cards{grid-template-columns:repeat(4,1fr);}}
.card{
  background:#fff;
  border:1px solid var(--c-lighter);
  border-radius:14px;
  padding:22px;
  transition:transform .2s, box-shadow .2s;
}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(36,49,64,.08);}
.card .icon{
  width:48px;height:48px;
  border-radius:12px;
  background:var(--c-light);
  display:flex;align-items:center;justify-content:center;
  margin-bottom:14px;
}
.card .icon img{width:24px;height:24px;}
.card h3{
  font-size:17px;font-weight:600;color:var(--c-primary-dark);
  margin-bottom:8px;
}

/* Feature points */
.feature-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin:24px 0;
}
@media(min-width:600px){.feature-grid{grid-template-columns:1fr 1fr;}}
.feature{
  display:flex;
  gap:14px;
  align-items:flex-start;
  background:#fff;
  border:1px solid var(--c-lighter);
  border-radius:12px;
  padding:16px;
}
.feature .icon{
  flex:0 0 42px;
  width:42px;height:42px;
  border-radius:10px;
  background:var(--c-primary);
  display:flex;align-items:center;justify-content:center;
}
.feature .icon img{width:22px;height:22px;filter:brightness(0) invert(1);}
.feature h3{
  font-size:16px;font-weight:600;color:var(--c-primary-dark);
  margin-bottom:4px;
}
.feature p{font-size:14px;color:var(--c-muted);margin:0;}

/* Stat / overview grid */
.points-row{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:24px;
}
@media(min-width:600px){.points-row{grid-template-columns:1fr 1fr;}}
@media(min-width:1000px){.points-row{grid-template-columns:repeat(3,1fr);}}
.point{
  background:#fff;
  border:1px solid var(--c-lighter);
  border-radius:12px;
  padding:18px;
}
.point__head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.point__head .icon{
  width:40px;height:40px;
  border-radius:10px;
  background:var(--c-accent);
  display:flex;align-items:center;justify-content:center;
}
.point__head .icon img{width:20px;height:20px;filter:brightness(0) invert(1);}
.point h3{
  font-size:15px;
  color:var(--c-primary-dark);
  font-weight:600;
}
.point p{font-size:14px;color:var(--c-muted);}

/* FAQ */
.faq{display:grid;gap:12px;margin-top:24px;}
.faq__item{
  border:1px solid var(--c-lighter);
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.faq__head{
  width:100%;
  text-align:left;
  padding:18px 50px 18px 22px;
  font-size:16px;
  font-weight:600;
  color:var(--c-primary-dark);
  position:relative;
  cursor:pointer;
}
.faq__head::after{
  content:"+";
  position:absolute;
  right:20px;top:50%;
  transform:translateY(-50%);
  font-size:22px;
  color:var(--c-accent);
  transition:transform .25s;
}
.faq__head._open::after{content:"–";}
.faq__body{
  display:none;
  padding:0 22px 18px;
  font-size:15px;
  color:var(--c-muted);
  line-height:1.6;
}
.faq__body._open{display:block;}

/* Testimonials */
.testi-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  margin-top:24px;
}
@media(min-width:800px){.testi-grid{grid-template-columns:repeat(3,1fr);}}
.testi{
  background:#fff;
  border:1px solid var(--c-lighter);
  border-radius:14px;
  padding:22px;
}
.testi__head{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.testi__head img{width:50px;height:50px;border-radius:50%;object-fit:cover;}
.testi__name{font-weight:700;color:var(--c-primary-dark);font-size:15px;}
.testi__role{font-size:13px;color:var(--c-muted);}
.testi__quote{color:var(--c-text);font-size:15px;line-height:1.55;}

/* CTA inline */
.cta-inline{
  background:linear-gradient(135deg,var(--c-primary) 0%, var(--c-primary-dark) 100%);
  color:#fff;
  border-radius:18px;
  padding:36px 28px;
  display:flex;
  flex-direction:column;
  gap:18px;
  align-items:flex-start;
  margin:30px 0;
}
.cta-inline h2{font-size:24px;color:#fff;margin-bottom:6px;}
.cta-inline p{color:#dde2eb;font-size:15px;margin-bottom:0;}
.cta-inline .btn{align-self:flex-start;background:var(--c-accent);color:#fff;}
.cta-inline .btn:hover{background:var(--c-accent-dark);color:#fff;}
@media(min-width:800px){
  .cta-inline{flex-direction:row;align-items:center;justify-content:space-between;padding:42px 44px;}
  .cta-inline h2{font-size:28px;}
}

/* Footer */
.footer{
  background:var(--c-primary-darker);
  color:#cdd5e0;
  padding:40px 0 24px;
  margin-top:auto;
}
.footer a{color:#cdd5e0;}
.footer a:hover{color:var(--c-accent);}
.footer__top{
  display:grid;
  grid-template-columns:1fr;
  gap:30px;
  margin-bottom:30px;
}
@media(min-width:800px){.footer__top{grid-template-columns:1.2fr 1fr 1fr;}}
.footer .logo__text{color:#fff;}
.footer h4{
  color:#fff;font-size:15px;font-weight:600;margin-bottom:14px;text-transform:uppercase;letter-spacing:.6px;
}
.footer__nav{display:flex;flex-direction:column;gap:10px;}
.footer__nav a{font-size:14px;}
.footer__info p{font-size:13px;line-height:1.55;color:#aab3c1;margin-bottom:10px;}
.footer__info b{color:#fff;}
.footer__bottom{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:18px;
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:center;
  justify-content:space-between;
}
@media(min-width:800px){.footer__bottom{flex-direction:row;}}
.copyright{font-size:13px;color:#9ba4b3;}
.copyright b{color:#fff;}
.socials{display:flex;gap:10px;flex-wrap:wrap;}
.socials a{
  width:36px;height:36px;
  border-radius:10px;
  background:rgba(255,255,255,.06);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s, transform .2s;
}
.socials a:hover{background:rgba(176,141,87,.2);transform:translateY(-2px);}
.socials img{width:18px;height:18px;}

/* Page header (interior pages) */
.page-head{
  background:linear-gradient(180deg,#f4f6fb 0%, #eef1f5 100%);
  padding:50px 0 40px;
  text-align:center;
}
.page-head h1{
  font-size:36px;
  font-weight:800;
  color:var(--c-primary-dark);
  margin-bottom:10px;
  line-height:1.2;
}
.page-head p{font-size:16px;color:var(--c-muted);max-width:680px;margin:0 auto;}
.crumbs{
  font-size:13px;color:var(--c-muted);
  margin-bottom:14px;
  display:flex;justify-content:center;flex-wrap:wrap;gap:6px;
}
.crumbs a{color:var(--c-accent);font-weight:500;}
.crumbs a:hover{text-decoration:underline;}
@media(min-width:800px){.page-head h1{font-size:44px;}}

/* Long-form content (legal pages) */
.content-wrap{padding:50px 0 70px;}
.content-wrap h2{
  font-size:22px;color:var(--c-primary-dark);font-weight:700;
  margin:30px 0 12px;
}
.content-wrap h3{
  font-size:18px;color:var(--c-primary-dark);font-weight:600;
  margin:20px 0 8px;
}
.content-wrap p,.content-wrap li{
  font-size:15px;color:var(--c-text);line-height:1.65;
}
.content-wrap ul,.content-wrap ol{margin:10px 0 14px 22px;}
.content-wrap ul li,.content-wrap ol li{margin-bottom:6px;list-style:disc;}
.content-wrap ol li{list-style:decimal;}
.content-wrap a{color:var(--c-accent);font-weight:600;}

/* Contact page */
.contact-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:36px;
  padding:40px 0 70px;
}
@media(min-width:900px){.contact-grid{grid-template-columns:1fr 1fr;gap:50px;}}
.contact-info{
  background:var(--c-light);
  border-radius:14px;
  padding:28px;
}
.contact-info h2{
  font-size:22px;color:var(--c-primary-dark);font-weight:700;margin-bottom:14px;
}
.contact-info p{color:var(--c-text);font-size:15px;margin-bottom:8px;}
.contact-info a{color:var(--c-accent);font-weight:600;}

/* Login page wrapper */
.login-wrap{
  padding:50px 0 70px;
  background:linear-gradient(180deg,#f4f6fb 0%, #eef1f5 100%);
  min-height:calc(100vh - 200px);
}
.login-card{
  max-width:460px;margin:0 auto;
  background:#fff;
  border-radius:16px;
  padding:34px 28px;
  box-shadow:0 14px 40px rgba(36,49,64,.1);
  border:1px solid var(--c-lighter);
}
.login-card h1{
  font-size:28px;color:var(--c-primary-dark);font-weight:700;
  text-align:center;margin-bottom:8px;
}
.login-card .sub{
  text-align:center;color:var(--c-muted);font-size:14px;margin-bottom:20px;
}
.login-card .form-control{margin-bottom:0;}
.login-card .alt-row{
  text-align:center;font-size:13px;color:var(--c-muted);margin-top:16px;
}
.login-card .alt-row a{color:var(--c-accent);font-weight:600;}

/* Sign-up / contact form wide */
.signup-card{
  max-width:560px;
  margin:0 auto;
}

/* Responsible risk */
.risk-box{
  background:#fff;
  border:1px solid var(--c-lighter);
  border-left:4px solid var(--c-accent);
  border-radius:10px;
  padding:18px 22px;
  margin:24px 0;
  font-size:14px;color:var(--c-muted);
  line-height:1.6;
}
.risk-box b{color:var(--c-primary-dark);}

/* Hero illustration */
.hero__img{
  width:100%;border-radius:18px;
  box-shadow:0 18px 50px rgba(36,49,64,.18);
}
@media(max-width:899px){
  .hero__img{margin-top:10px;}
}

/* Small helpers */
.text-center{text-align:center;}
.mb-0{margin-bottom:0!important;}
.mb-1{margin-bottom:8px;}
.mb-2{margin-bottom:16px;}
.mb-3{margin-bottom:24px;}
.mt-1{margin-top:8px;}
.mt-2{margin-top:16px;}
.mt-3{margin-top:24px;}
.spacer-50{height:50px;}
.accent-text{color:var(--c-accent);}
.muted{color:var(--c-muted);}

/* Make sure interior block H2 sits left-aligned by default */
.intro-block p{font-size:16px;line-height:1.65;}

/* Spinner */
.preloader{display:none;}

/* ===== Review fixes ===== */
.section--dark h2.title{color:#fff;}
.section--dark .section p, .section--dark p,
.section--dark ul li, .section--dark .section ul li{color:#fff;}

.menu .cta:hover, .menu .cta._active{color:#fff;}
.menu .cta._active::after{display:none;}

@media (max-width: 900px){
  .menu .cta{padding:14px 20px;}
}

.form-fineprint a, .crumbs a{color:var(--c-accent-dark);}

.socials a{width:42px;height:42px;}
.content-wrap .cta-inline h2{color:#fff}
.content-wrap .cta-inline p{color:#dde2eb}
