
:root{
  --navy:#142A43;
  --navy-deep:#0e2135;
  --cream:#F4EFE6;
  --cream-soft:#F8F4EC;
  --white:#fffdf9;
  --charcoal:#25313d;
  --line:rgba(20,42,67,.16);
  --font-serif:"Fraunces", Georgia, serif;
  --font-sans:"Inter", Arial, sans-serif;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--charcoal);background:var(--cream);font-family:var(--font-sans);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{padding:0;margin:0;list-style:none}
.container{width:min(calc(100% - 48px),var(--max));margin:0 auto}
.bg-cream{background:var(--cream)}
.bg-cream-soft{background:var(--cream-soft)}
.bg-navy{background:var(--navy);color:var(--cream)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,244,236,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.site-header__inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:34px}
.site-header__logo img{width:170px;height:auto}
.site-nav{display:flex;align-items:center;gap:28px}
.site-nav__links{display:flex;align-items:center;gap:25px}
.site-nav__links a{font-size:.78rem;font-weight:600;letter-spacing:.035em;color:var(--navy);opacity:.7}
.site-nav__links a:hover,.site-nav__links a.active{opacity:1}
.nav-toggle{display:none;width:38px;height:38px;border:0;background:none;position:relative}
.nav-toggle span{position:absolute;left:8px;width:22px;height:1px;background:var(--navy)}
.nav-toggle span:first-child{top:14px}.nav-toggle span:last-child{top:22px}
.mobile-nav{display:none;position:fixed;inset:0;z-index:100;background:var(--navy);padding:84px 28px 32px;color:var(--cream)}
.mobile-nav.is-open{display:block}
.mobile-nav__close{position:absolute;right:24px;top:20px;border:0;background:none;color:var(--cream);font-size:2.2rem}
.mobile-nav__links a{display:block;font-family:var(--font-serif);font-size:2.1rem;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.mobile-nav__cta{margin-top:30px}
.eyebrow{margin:0 0 18px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--navy)}
.bg-navy .eyebrow{color:var(--cream);opacity:.7}
h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3{font-family:var(--font-serif);font-weight:500;color:var(--navy);letter-spacing:-.025em}
h1{font-size:clamp(3.25rem,7vw,6.5rem);line-height:.98;margin-bottom:0}
h2{font-size:clamp(2.45rem,4.8vw,4.4rem);line-height:1.04;margin-bottom:0}
h3{font-size:1.65rem;line-height:1.12}
.bg-navy h1,.bg-navy h2,.bg-navy h3{color:var(--cream)}
.lede{font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.7;color:#4c5863}
.bg-navy .lede{color:rgba(244,239,230,.78)}
.body-text{font-size:1rem;color:#44525e}
.small-note{font-size:.78rem;color:#63707a;line-height:1.6}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 20px;border:1px solid var(--navy);font-size:.76rem;font-weight:600;letter-spacing:.045em;transition:.2s ease}
.btn-primary{background:var(--navy);color:var(--cream)}
.btn-primary:hover{background:var(--navy-deep)}
.btn-ghost{background:transparent;color:var(--navy)}
.btn-ghost:hover{background:rgba(20,42,67,.05)}
.btn-on-navy{border-color:rgba(244,239,230,.7);color:var(--cream)}
.btn-on-navy:hover{background:var(--cream);color:var(--navy)}
.btn-arrow{font-size:1.05rem}
.text-link{font-size:.84rem;font-weight:600;color:var(--navy);border-bottom:1px solid currentColor;padding-bottom:2px}
.hero{padding:100px 0 110px}
.hero__grid,.page-hero__grid,.split-block,.advisor__grid,.about-hero__grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}
.hero__copy{padding-right:20px}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
.image-frame{overflow:hidden;background:#e4ddd1}
.image-frame img{width:100%;height:100%;object-fit:cover}
.hero__art .image-frame{aspect-ratio:4/5}
.section{padding:105px 0}
.section--tight{padding:72px 0}
.page-hero{padding:92px 0 80px}
.philosophy__intro{max-width:840px}
.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:62px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.principle{padding:34px 30px 42px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.principle__index,.service-card__num{font-size:.72rem;letter-spacing:.16em;color:#7f8588;display:block;margin-bottom:56px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.service-card{background:var(--cream-soft);padding:36px 30px 42px;min-height:310px}
.service-card p{font-size:.92rem;color:#56616b}
.split-block{align-items:center}
.split-block--reverse .split-block__media{order:2}
.split-block__media .image-frame{aspect-ratio:4/5}
.checklist{margin-top:30px;border-top:1px solid var(--line)}
.checklist__item{display:grid;grid-template-columns:28px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}
.checklist__mark{color:var(--navy)}
.checklist__item h4{font-family:var(--font-sans);font-size:.9rem;margin:0 0 4px;color:var(--navy)}
.checklist__item p{font-size:.88rem;margin:0;color:#5e6871}
.process-list{counter-reset:item;margin-top:36px;border-top:1px solid var(--line)}
.process-list__item{display:grid;grid-template-columns:80px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.advisor__photo .image-frame{aspect-ratio:4/5}
.advisor__title{font-size:.9rem;color:#6a7279;margin-top:12px}
.advisor__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.callout{border-left:2px solid var(--navy);padding:18px 0 18px 24px;font-family:var(--font-serif);font-size:1.45rem;color:var(--navy)}
.cta-band{text-align:center;padding:92px 0}
.cta-band h2{max-width:760px;margin:0 auto 28px}
.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:74px}
.form-field{margin-bottom:18px}
.form-field label{display:block;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--navy);margin-bottom:7px}
.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid var(--line);background:var(--white);font:inherit;padding:13px 14px;color:var(--charcoal)}
.form-field textarea{min-height:130px;resize:vertical}
.contact-info__item{padding:22px 0;border-bottom:1px solid var(--line)}
.legal-content{max-width:850px}
.legal-section{padding:28px 0;border-bottom:1px solid var(--line)}
.legal-section h2{font-size:2rem}
.legal-section ul{list-style:disc;padding-left:20px}
.legal-section a{color:var(--navy);text-decoration:underline}
.disclaimer-box{border:1px solid var(--line);padding:24px;margin:30px 0}
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-top:36px}
.filter-pill{border:1px solid var(--line);background:transparent;padding:9px 13px;font:inherit;font-size:.78rem;color:var(--navy)}
.filter-pill.active{background:var(--navy);color:var(--cream)}
.article-library,.insight-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.article-card,.insight-card{border:1px solid var(--line);background:var(--cream-soft);padding:28px}
.article-card__cat,.insight-card__cat{font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;color:#7b8286}
.article-card h3,.insight-card h3{font-size:1.65rem}
.article-loading{padding:26px;border:1px solid var(--line);background:var(--cream-soft)}
.site-footer{background:var(--navy);color:var(--cream);padding:68px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.3fr .6fr .6fr;gap:70px}
.footer-brand img{width:210px;margin-bottom:24px}
.footer-brand p,.footer-col a{font-size:.82rem;color:rgba(244,239,230,.74)}
.footer-brand .advisor-name{color:var(--cream);font-weight:600;margin:20px 0 0}
.footer-brand .advisor-title{margin:2px 0}
.footer-col h4{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;margin:0 0 14px;color:var(--cream)}
.footer-col li{margin:8px 0}
.footer-social{display:flex;gap:12px;margin-top:20px}
.footer-social svg{width:20px;height:20px}
.footer-compliance{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:22px;font-size:.7rem;line-height:1.65;color:rgba(244,239,230,.58)}
.footer-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid rgba(255,255,255,.1);padding-top:18px;margin-top:22px;font-size:.7rem;color:rgba(244,239,230,.55)}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .65s ease,transform .65s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(max-width:900px){
  .site-nav__links,.site-nav>.btn{display:none}.nav-toggle{display:block}
  .hero__grid,.page-hero__grid,.split-block,.advisor__grid,.about-hero__grid,.contact-grid,.footer-grid{grid-template-columns:1fr;gap:42px}
  .split-block--reverse .split-block__media{order:0}
  .hero{padding:70px 0 76px}
  .hero__art .image-frame,.split-block__media .image-frame,.advisor__photo .image-frame{aspect-ratio:4/5}
  .principles,.services{grid-template-columns:1fr}
  .article-library,.insight-grid{grid-template-columns:1fr}
  .section{padding:75px 0}
  .page-hero{padding:70px 0 58px}
}
@media(max-width:560px){
  .container{width:min(calc(100% - 30px),var(--max))}
  .site-header__inner{min-height:72px}.site-header__logo img{width:145px}
  h1{font-size:clamp(3rem,15vw,4.4rem)}
  h2{font-size:clamp(2.3rem,11vw,3.5rem)}
  .hero__actions,.advisor__actions{display:grid}
  .btn{width:100%}
  .footer-bottom{display:block}
}


/* === ORIGINAL DESIGN SPACING / LAYOUT CORRECTIONS === */
body { overflow-x: hidden; }

.site-header__inner {
  min-height: 78px;
}
.site-header__logo {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.site-header__logo img {
  width: 156px;
  max-height: 48px;
  object-fit: contain;
}
.site-nav {
  flex: 1 1 auto;
  justify-content: flex-end;
}
.site-nav__links {
  gap: 22px;
}

.hero {
  padding: 92px 0 96px;
}
.hero__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .95fr);
  gap: clamp(54px, 6vw, 88px);
  align-items: center;
}
.hero__copy {
  padding-right: 0;
  min-width: 0;
}
.hero__copy h1 {
  max-width: 720px;
}
.hero__copy .lede {
  max-width: 610px;
  margin-top: 26px;
}
.hero__art {
  min-width: 0;
}
.hero__art .image-frame {
  aspect-ratio: 4 / 5;
  max-height: 650px;
}
.hero__art .image-frame img {
  object-position: center;
}
.hero__actions {
  margin-top: 30px;
}

.section {
  padding: 92px 0;
}
.section--tight {
  padding: 72px 0;
}
.page-hero {
  padding: 82px 0 72px;
}

.philosophy__intro {
  max-width: 820px;
}
.philosophy__intro h2,
.section .reveal > h2 {
  max-width: 880px;
}
.principles {
  margin-top: 52px;
}
.principle {
  min-width: 0;
  padding: 32px 30px 36px;
}
.principle__index {
  margin-bottom: 42px;
}

.services {
  margin-top: 44px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.service-card {
  min-width: 0;
  min-height: 285px;
  padding: 34px 32px 38px;
}
.service-card__num {
  margin-bottom: 42px;
}
.service-card h3 {
  max-width: 340px;
}

.advisor__grid {
  grid-template-columns: minmax(330px, .86fr) minmax(0, 1.14fr);
  gap: clamp(58px, 7vw, 96px);
  align-items: center;
}
.advisor__photo .image-frame {
  aspect-ratio: 4 / 5;
  max-height: 650px;
}
.advisor__photo img {
  object-position: center top;
}
.advisor__copy {
  min-width: 0;
}
.advisor__copy h2 {
  margin-bottom: 10px;
}
.advisor__title {
  margin: 0 0 26px;
  max-width: 540px;
}
.advisor__copy .body-text {
  max-width: 650px;
  margin-bottom: 18px;
}

.split-block,
.about-hero__grid,
.page-hero__grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(52px, 6vw, 82px);
}
.split-block__copy,
.split-block__media,
.about-hero__grid > *,
.page-hero__grid > * {
  min-width: 0;
}
.split-block__copy h2,
.page-hero__grid h1 {
  overflow-wrap: normal;
  word-break: normal;
}
.split-block__copy .body-text {
  max-width: 650px;
}

.cta-band {
  padding: 82px 0;
}
.cta-band h2 {
  margin-bottom: 30px;
}

.site-footer {
  padding-top: 64px;
}
.footer-grid {
  grid-template-columns: minmax(0, 1.35fr) minmax(150px, .5fr) minmax(150px, .5fr);
  gap: 64px;
}
.footer-brand {
  min-width: 0;
}
.footer-brand img {
  max-width: 200px;
}
.footer-brand p {
  max-width: 520px;
}

h1, h2, h3 {
  overflow-wrap: normal;
  word-break: normal;
}
h1 {
  font-size: clamp(3.15rem, 5.7vw, 5.65rem);
  line-height: 1.01;
}
h2 {
  font-size: clamp(2.35rem, 4.1vw, 4rem);
  line-height: 1.07;
}
h3 {
  line-height: 1.18;
}
.lede {
  margin-bottom: 0;
}

@media (max-width: 1040px) {
  .site-nav__links { gap: 15px; }
  .site-nav__links a { font-size: .72rem; }
  .site-nav > .btn { padding-inline: 15px; }
  .hero__grid { gap: 46px; }
}

@media (max-width: 900px) {
  .hero__grid,
  .page-hero__grid,
  .split-block,
  .advisor__grid,
  .about-hero__grid,
  .contact-grid,
  .footer-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .hero {
    padding: 62px 0 72px;
  }
  .hero__copy h1,
  .hero__copy .lede,
  .advisor__copy .body-text {
    max-width: none;
  }
  .hero__art .image-frame,
  .advisor__photo .image-frame {
    max-height: none;
  }
  .services {
    grid-template-columns: 1fr;
  }
  .service-card {
    min-height: auto;
  }
  .principles {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .site-header__logo img { width: 138px; }
  .hero { padding-top: 52px; }
  .section { padding: 64px 0; }
  .section--tight { padding: 58px 0; }
  .page-hero { padding: 58px 0 52px; }
  h1 { font-size: clamp(2.75rem, 13vw, 4rem); }
  h2 { font-size: clamp(2.15rem, 10.5vw, 3.2rem); }
  .principle, .service-card { padding: 28px 24px 32px; }
  .principle__index, .service-card__num { margin-bottom: 30px; }
}


/* === EDITORIAL INSIGHT THOUGHTS === */
.bg-navy .callout{
  border-left:0;
  padding:0;
  margin:0;
  color:var(--cream);
  font-family:var(--font-serif);
  max-width:980px;
}
.bg-navy .callout p{
  margin:0;
  color:var(--cream) !important;
  font-family:var(--font-serif);
  font-size:clamp(2.35rem,4.8vw,4.65rem);
  line-height:1.08;
  letter-spacing:-.025em;
  font-weight:500;
}
.bg-navy .callout::before{
  content:"";
  display:block;
  width:56px;
  height:1px;
  background:rgba(244,239,230,.62);
  margin-bottom:30px;
}
.bg-navy.section{
  padding-top:105px;
  padding-bottom:105px;
}
.bg-navy.section > .container{
  max-width:1040px !important;
}

@media(max-width:900px){
  .bg-navy.section{
    padding-top:78px;
    padding-bottom:78px;
  }
  .bg-navy .callout p{
    font-size:clamp(2.15rem,8.5vw,3.6rem);
  }
}
@media(max-width:560px){
  .bg-navy.section{
    padding-top:64px;
    padding-bottom:64px;
  }
  .bg-navy .callout::before{
    margin-bottom:22px;
  }
}


/* === ADVISORY PROCESS / REVIEW ROWS === */
.process-list{
  margin-top:42px;
  border-top:1px solid var(--line);
  max-width:none;
}
.process-list__item{
  display:grid;
  grid-template-columns:minmax(220px, .72fr) minmax(0, 1.55fr);
  gap:clamp(36px,5vw,72px);
  align-items:start;
  padding:30px 0 32px;
  border-bottom:1px solid var(--line);
}
.process-list__item h4{
  margin:0;
  font-family:var(--font-sans);
  font-size:.92rem;
  line-height:1.45;
  font-weight:700;
  color:var(--navy);
  letter-spacing:-.01em;
  max-width:240px;
}
.process-list__item p{
  margin:0;
  font-size:1rem;
  line-height:1.72;
  color:#46535f;
  max-width:620px;
}
.process-list__item:hover h4{
  color:var(--navy-deep);
}

/* Let the process/review sections breathe a little more */
.bg-cream-soft .process-list + .disclaimer-box{
  margin-top:42px;
}
.bg-cream-soft .process-list{
  max-width:920px !important;
}
.bg-cream-soft .reveal[style*="max-width:820px"]{
  max-width:920px !important;
}

@media(max-width:760px){
  .process-list__item{
    grid-template-columns:1fr;
    gap:10px;
    padding:24px 0 26px;
  }
  .process-list__item h4,
  .process-list__item p{
    max-width:none;
  }
  .process-list__item h4{
    font-size:.86rem;
    text-transform:uppercase;
    letter-spacing:.06em;
  }
}
