@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#062b52;
  --navy-dark:#041d38;
  --gold:#bd934f;
  --gold-soft:#d8bd82;
  --linen:#f4eeea;
  --ivory:#fffaf4;
  --card:#fffdf9;
  --ink:#12243b;
  --muted:#5b6470;
  --border:#dfcfb7;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,var(--linen),#fffaf5 40%,var(--linen));color:var(--ink);font-family:Inter,Arial,sans-serif}
a{text-decoration:none;color:inherit}

.site-header{height:118px;overflow:hidden;display:flex;align-items:center;padding:0 64px;background:var(--linen);border-bottom:2px solid var(--gold);position:sticky;top:0;z-index:20;box-shadow:0 12px 30px #061f3f10}
.brand{display:flex;align-items:center;width:250px;min-width:250px}
.brand img{width:260px;height:auto;display:block;background:var(--linen);padding:8px 0;object-fit:contain}
nav{display:flex;align-items:center;justify-content:center;gap:44px;margin-left:auto}
nav a{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy-dark);position:relative}
nav a:after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:.2s ease}
nav a:hover:after{transform:scaleX(1)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:7px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800;padding:18px 28px;box-shadow:0 8px 18px #00183018;transition:.2s ease}.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--navy);color:white}.btn.small{margin-left:34px;padding:17px 26px}.btn.gold{background:linear-gradient(135deg,#d5af6e,#b98b45);color:white;min-width:270px}

.hero{min-height:470px;display:flex;align-items:center;padding:64px;background:linear-gradient(90deg,#fffaf4 0%,#fffaf4 36%,#fffaf4e5 46%,#fffaf400 70%),url('https://images.pexels.com/photos/33641687/pexels-photo-33641687.jpeg?cs=srgb&dl=pexels-zakh-33641687.jpg&fm=jpg') center center/cover no-repeat;border-bottom:1px solid #e8dccb}.hero-copy{max-width:510px}.eyebrow{margin:0 0 18px;text-transform:uppercase;letter-spacing:.22em;color:var(--gold);font-size:13px;font-weight:800}.hero h1,.section-head h2,.cta-band h2{font-family:'Cormorant Garamond',serif;color:var(--navy-dark);font-size:61px;line-height:.98;margin:0;font-weight:600}.hero p{max-width:455px;font-size:17px;line-height:1.7;color:#465360;margin:24px 0 28px}

.services{padding:34px 32px 70px;background:linear-gradient(180deg,#fffaf4 0%,#f8f2eb 100%)}.section-head{text-align:center;max-width:820px;margin:0 auto}.section-head h2{font-size:42px;line-height:1.05}.section-head p:not(.eyebrow){font-size:16px;line-height:1.6;color:#5d6470;margin:0 auto 22px;max-width:1200px;width:92%}.rule{width:58px;height:2px;background:var(--gold);margin:12px auto 18px}

.services-grid{max-width:1240px;margin:32px auto 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.service-card{min-height:285px;background:linear-gradient(135deg,#fffefb 0%,#f8f0e8 100%);border:1px solid var(--border);border-top:4px solid var(--gold);border-radius:16px;display:flex;flex-direction:column;align-items:flex-start;gap:22px;text-align:left;padding:38px 34px;position:relative;transition:.22s ease;box-shadow:0 18px 36px #061f3f12;overflow:hidden}
.service-card:after{content:"";position:absolute;right:-38px;bottom:-42px;width:120px;height:120px;border-radius:999px;background:rgba(189,147,79,.10)}
.service-card:hover{transform:translateY(-7px);box-shadow:0 24px 44px #062b5220;border-color:var(--gold)}
.service-card .service-icon{flex:0 0 auto}
.service-card h3{font-family:'Cormorant Garamond',serif;font-size:30px;line-height:1.02;margin:0 0 14px;color:var(--navy-dark);font-weight:700}
.service-card p{margin:0;color:#4f5a67;line-height:1.62;font-size:15.5px}

.team{padding:38px 32px 28px;background:linear-gradient(180deg,#fffaf4,#f4eeea)}.team-grid{max-width:1120px;margin:28px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}.profile-card{display:grid;grid-template-columns:170px 1fr;gap:28px;align-items:start;background:linear-gradient(135deg,#fffdf9 0%,#f8f0e8 100%);border:1px solid #dfcfb7;border-radius:10px;padding:28px;box-shadow:0 16px 40px #061f3f12;min-height:560px;height:100%}.marc-card{grid-template-columns:170px 1fr;padding:28px}.marc-card TEMP{font-size:32px}.bio-text{margin-top:0}.profile-copy .bio-text p{font-size:13px;line-height:1.55;margin:0 0 12px;color:#4f5a67}.headshot,.marc-card .headshot{width:170px;height:170px;border-radius:999px;border:2px solid var(--gold);background:radial-gradient(circle at 50% 35%,#d3d3d3 0 18%,#c4c4c4 19% 35%,#b8b8b8 36% 58%,#d9d9d9 59%);box-shadow:inset 0 0 0 12px #fff8,0 12px 24px #061f3f18;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.headshot img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}

/* Advisor bio alignment: both bios share the same font size and color; Lauren's line-height is gently increased to visually match Marc's longer bio. */
.profile-card .bio-text p, .marc-card .bio-text p{font-size:13px;color:#4f5a67;margin:0 0 12px;}
.marc-card .bio-text p{line-height:1.55;}
.lauren-card .bio-text p{line-height:1.72;}
.lauren-card .headshot,.marc-card .headshot{width:170px;height:170px;min-width:170px;min-height:170px;max-width:170px;max-height:170px;}
.headshot span{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#062b52cc;padding:7px 12px;margin-bottom:17px;border-radius:20px}TEMP{font-family:'Cormorant Garamond',serif;font-size:29px;line-height:1;margin:0;color:var(--navy-dark)}.role{font-size:13px;color:var(--gold);font-weight:700;margin:6px 0 0}.mini-rule{width:52px;height:2px;background:var(--gold);margin:14px 0}.profile-copy p:not(.role){font-size:14px;line-height:1.55;color:#56616c;margin:0 0 16px}.profile-copy a{font-size:13px;font-weight:800;color:var(--navy);letter-spacing:.03em}

.cta-band{max-width:980px;margin:20px auto 64px;background:linear-gradient(135deg,var(--navy-dark),var(--navy));color:white;border-radius:9px;padding:30px 42px;display:grid;grid-template-columns:70px 1fr auto;align-items:center;gap:28px;position:relative;overflow:hidden;box-shadow:0 20px 42px #061f3f25}.cta-icon{width:58px;height:58px;border:2px solid var(--gold);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:28px}.cta-band h2{font-size:25px;color:white}.cta-band p{margin:6px 0 0;font-size:16px}.watermark{position:absolute;right:70px;bottom:-24px;font-family:'Cormorant Garamond',serif;font-size:92px;color:#ffffff12}.watermark span{font-size:.75em;color:#d5af6e26}

footer{display:grid;grid-template-columns:1.35fr 1fr .9fr 1fr 1.25fr;gap:50px;padding:42px 76px 24px;background:#0A2E63;border-top:3px solid var(--gold)}.footer-logo img{width:230px;height:auto;filter:brightness(1.05);border-radius:4px}footer h4{margin:0 0 15px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:#D5AF6E}footer a,footer p{display:block;margin:8px 0;font-size:13px;line-height:1.55;color:#F4EEEA}.footer-policy-link{display:inline-flex;align-items:center;justify-content:center;margin-top:2px;padding:9px 13px;border:1px solid rgba(213,175,110,.65);border-radius:6px;color:#F4EEEA;background:rgba(255,255,255,.04);transition:.2s ease}.footer-policy-link:hover{background:rgba(213,175,110,.16);transform:translateY(-1px)}.copyright{text-align:center;background:#0A2E63;color:#D9D2CB;padding:0 76px 28px}.copyright-line{font-size:12px;margin:0 auto 16px;padding-top:6px}.footer-disclaimer{max-width:1180px;margin:0 auto;padding-top:16px;border-top:1px solid rgba(213,175,110,.45);text-align:left;color:#D9D2CB}.footer-disclaimer p{margin:0 0 7px;font-size:10.5px;line-height:1.42;color:#D9D2CB}

.policy-page{min-height:620px;padding:76px 28px;background:linear-gradient(180deg,#fffaf4,#f4eeea)}.policy-card{max-width:920px;margin:0 auto;background:linear-gradient(135deg,#fffdf9 0%,#f8f0e8 100%);border:1px solid var(--border);border-top:4px solid var(--gold);border-radius:12px;padding:48px 54px;box-shadow:0 20px 42px #061f3f12}.policy-card h1{font-family:'Cormorant Garamond',serif;color:var(--navy-dark);font-size:54px;line-height:1;margin:0}.policy-card .rule{margin:18px 0 24px}.policy-card p:not(.eyebrow){font-size:16px;line-height:1.72;color:#4f5a67;margin:0 0 20px}.policy-card .btn{margin-top:10px}

@media(max-width:950px){.site-header{height:auto;padding:20px;flex-wrap:wrap}.brand{width:180px;min-width:180px}.brand img{width:165px}nav{order:3;width:100%;justify-content:flex-start;flex-wrap:wrap;gap:18px;margin-top:10px}.btn.small{margin-left:auto}.hero{padding:58px 24px;background:linear-gradient(90deg,#fffaf4 0%,#fffaf4e8 66%,#fffaf400),url('https://images.pexels.com/photos/33641687/pexels-photo-33641687.jpeg?cs=srgb&dl=pexels-zakh-33641687.jpg&fm=jpg') center center/cover no-repeat}.hero h1{font-size:45px}.services-grid,.team-grid,footer{grid-template-columns:1fr}.services-grid{gap:18px}.service-card{text-align:center;align-items:center;min-height:auto;padding:34px 26px}.service-card:after{display:none}.profile-card,.marc-card{grid-template-columns:1fr;text-align:center;justify-items:center;min-height:auto}.marc-card .headshot{width:170px;height:170px}.mini-rule{margin:14px auto}.cta-band{margin:20px 20px 50px;grid-template-columns:1fr;text-align:center;justify-items:center}.watermark{display:none}footer{padding:34px 24px;text-align:left}.copyright{padding:0 24px 26px}.footer-disclaimer p{font-size:10px;line-height:1.4}.policy-card{padding:34px 24px}.policy-card h1{font-size:42px}}

/* Keep advisor titles aligned horizontally across both profile cards. */
.profile-copy h3,.marc-card .profile-copy h3{font-family:'Cormorant Garamond',serif;font-size:32px !important;line-height:1.1;min-height:70px;margin:0;color:var(--navy-dark);font-weight:700;}

@media(max-width:950px){.profile-copy h3,.marc-card .profile-copy h3{min-height:auto;}}


.policy-card h2{
  font-family:'Cormorant Garamond',serif;
  color:var(--navy-dark);
  font-size:30px;
  line-height:1.15;
  margin:30px 0 12px;
}
.policy-card ul{
  margin:0 0 22px 22px;
  padding:0;
  color:#4f5a67;
}
.policy-card li{
  font-size:16px;
  line-height:1.68;
  margin:0 0 10px;
}


/* Header logo transparency/blending fix */
.site-header,
.navbar,
.header,
.nav {
  background: #ffffff;
}

.logo,
.logo-link,
.nav-logo,
.header-logo {
  background: transparent !important;
  overflow: visible;
}

.logo img,
.logo-link img,
.nav-logo img,
.header-logo img,
header img[src*="revel-wealth-partners-logo-transparent"] {
  background: transparent !important;
  display: block;
  max-height: 72px;
  width: auto;
  object-fit: contain;
}

header,
.site-header {
  padding-top: 10px;
  padding-bottom: 10px;
}


/* Client revision: navbar wording and spacing fix */
.nav-links,
.nav-menu,
.header-nav,
.navbar ul,
nav ul {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 34px !important;
}

.nav-links a,
.nav-menu a,
.header-nav a,
.navbar a,
nav a {
  letter-spacing: 0.02em !important;
  word-spacing: normal !important;
  white-space: nowrap !important;
  text-transform: none;
}

.nav-links li,
.nav-menu li,
.header-nav li,
.navbar li,
nav li {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 900px) {
  .nav-links,
  .nav-menu,
  .header-nav,
  .navbar ul,
  nav ul {
    gap: 20px !important;
  }
}


/* Footer contact SVG icons */
.footer-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05em;
  height: 1.05em;
  margin-right: 0.45em;
  vertical-align: -0.15em;
  color: currentColor;
}

.footer-contact-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  display: block;
}


/* Client update: sandy navbar + proper equal nav spacing */
.site-header {
  background: #f4eeea !important;
  display: flex !important;
  align-items: center !important;
  gap: 36px !important;
}

.site-header .brand {
  flex: 0 0 260px !important;
  min-width: 260px !important;
}

.site-header nav {
  flex: 0 0 440px !important;
  width: 440px !important;
  margin-left: auto !important;
  margin-right: 28px !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 0 !important;
}

.site-header nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  text-align: center !important;
  letter-spacing: 0.03em !important;
  word-spacing: normal !important;
  text-transform: uppercase !important;
}

.site-header .btn.small {
  margin-left: 0 !important;
  flex: 0 0 auto !important;
}

@media(max-width:950px) {
  .site-header {
    gap: 18px !important;
  }

  .site-header .brand {
    flex: 0 0 180px !important;
    min-width: 180px !important;
  }

  .site-header nav {
    order: 3 !important;
    flex: 1 1 100% !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
    grid-template-columns: repeat(4, 1fr) !important;
  }
}


/* Client update: larger header logo */
.brand img,
.logo img,
.header-logo img{
    max-height: 88px !important;
    width:auto !important;
}


/* Client update: phone icon CTA button */
.btn.small,
.btn-primary,
.header .btn,
.site-header .btn {
    position: relative;
}

.btn.small::before,
.btn-primary::before,
.header .btn::before,
.site-header .btn::before {
    content: "☎";
    font-size: 32px;
    line-height: 1;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}


/* Replace broken CTA text with a clean SVG-style phone icon */
.btn.small::before,
.btn-primary::before,
.header .btn::before,
.site-header .btn::before{
content:"";
display:block;
width:28px;
height:28px;
margin:auto;
background-repeat:no-repeat;
background-position:center;
background-size:contain;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1C10.61 21 3 13.39 3 4c0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.24.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
}


.location-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.05em;
  height: 1.05em;
  margin-right: 0.45em;
  vertical-align: -0.15em;
  color: currentColor;
}

.location-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  display: block;
}


/* final location icon cleanup */
.footer .location-icon,
footer .location-icon {
  display: none !important;
}



/* Client update: make the Complete Financial Strategy paragraph wider and less cramped */
.section-intro,
.strategy-intro,
.strategy-copy,
.complete-strategy p,
.financial-strategy p,
.services-intro,
#services > p,
section p:has(+ .service-grid),
section p:has(+ .services-grid) {
  max-width: 1150px !important;
  width: 92% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Fallback target for the paragraph directly under the Complete Financial Strategy heading */
section:has(h2) h2 + .section-divider + p,
section:has(h2) h2 + .gold-line + p,
section:has(h2) h2 + p {
  max-width: 1150px !important;
  width: 92% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


.strategy-wide {
  max-width: 1150px !important;
  width: 92% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* Center the Complete Financial Strategy paragraph */
.strategy-three-lines{
    display:block !important;
    max-width:1200px !important;
    width:85% !important;
    margin:0 auto !important;
    text-align:center !important;
    position:relative !important;
    left:0 !important;
    right:0 !important;
}


/* Wider + centered Complete Financial Strategy paragraph */
.strategy-three-lines{
    width: 96% !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
    display: block !important;
}


/* Final fix: force Complete Financial Strategy paragraph to span wider and stay centered */
p.strategy-three-lines,
.strategy-three-lines,
p[style*="max-width:1280px"] {
  max-width: 1280px !important;
  width: 94vw !important;
  margin-left: calc(50% - 47vw) !important;
  margin-right: calc(50% - 47vw) !important;
  text-align: center !important;
  line-height: 1.55 !important;
  display: block !important;
}

@media (max-width: 900px) {
  p.strategy-three-lines,
  .strategy-three-lines,
  p[style*="max-width:1280px"] {
    width: 92% !important;
    max-width: 92% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* Corrected strategy paragraph: wide but centered */
.strategy-three-lines,
p.strategy-three-lines,
p[style*="max-width:1180px"] {
  max-width: 1180px !important;
  width: 88% !important;
  margin: 0 auto !important;
  text-align: center !important;
  line-height: 1.55 !important;
  display: block !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
}

@media (max-width: 900px) {
  .strategy-three-lines,
  p.strategy-three-lines,
  p[style*="max-width:1180px"] {
    width: 92% !important;
    max-width: 92% !important;
  }
}


/* FINAL FIX: wide centered paragraph */
.strategy-fix{
    display:block;
    max-width:1200px !important;
    width:95% !important;
    margin:0 auto !important;
    text-align:center !important;
    line-height:1.6 !important;
}


/* ACTUAL container fix for Complete Financial Strategy */
.strategy-container-fix{
    width: 90% !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    display:block !important;
}

.strategy-container-fix p{
    width:100% !important;
    max-width:none !important;
    text-align:center !important;
    margin:0 auto !important;
    line-height:1.7 !important;
}
