
:root{
  --navy:#17324d; --navy2:#0f2842; --rose:#c98f87; --coral:#be6557;
  --champagne:#d9c3a3; --sage:#aab3af; --ivory:#f8f5f1; --white:#fff;
  --ink:#17324d; --muted:#607081; --line:#e8ddd3;
  --shadow:0 22px 60px rgba(23,50,77,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:"Montserrat",Arial,sans-serif;line-height:1.7}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.container{width:min(1180px,calc(100% - 44px));margin:auto}
.narrow{width:min(900px,100%)}
.center{text-align:center}
.eyebrow{text-transform:uppercase;letter-spacing:.23em;font-size:.77rem;font-weight:700;color:var(--champagne);margin:0 0 13px}
.coral{color:var(--coral)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.03;margin-top:0}
h1{font-size:clamp(3rem,5.5vw,5.6rem);font-weight:600;letter-spacing:-.025em;margin-bottom:24px}
h1 span{color:var(--coral)}
h2{font-size:clamp(2.35rem,4.1vw,4.2rem);font-weight:600;margin-bottom:22px}
h3{font-size:1.65rem}
p{margin-top:0}
.prose{color:#42566a}
.prose.large,.large-copy{font-size:1.06rem}
.subhead{color:var(--coral);font-weight:600}
.btn{display:inline-block;border:0;border-radius:4px;padding:14px 21px;font-weight:700;font-size:.9rem;cursor:pointer;transition:.2s}
.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--coral);transform:translateY(-1px)}
.btn-outline{border:1px solid var(--navy);background:transparent}.btn-outline:hover{background:#fff}
.btn-light{background:#fff;color:var(--navy)}.btn-light:hover{background:#f3ddd7}
.text-link{color:var(--coral);font-weight:700;font-size:.9rem}

.site-header{position:sticky;top:0;z-index:50;background:rgba(15,40,66,.975);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.11)}
.nav-wrap{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand img{width:390px;max-height:88px;object-fit:contain;object-position:left center}
.site-nav{display:flex;gap:21px;align-items:center;color:#fff;font-size:.82rem;font-weight:600}
.site-nav a{position:relative}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--rose);transition:.2s}
.site-nav a:hover::after,.site-nav a.active::after{right:0}
.nav-cta{border:1px solid var(--rose);border-radius:999px;padding:10px 14px}
.menu-toggle{display:none;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:5px;padding:8px 12px}

.hero{padding:76px 0 70px;background:radial-gradient(circle at 88% 12%,rgba(201,143,135,.20),transparent 27%),linear-gradient(135deg,#fff,#f8f5f1 58%,#f2e5dc)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.lead{font-size:1.08rem;color:#31465c;max-width:760px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 24px}
.signature-line{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.45rem}
.art-frame{background:#fff;padding:11px;border-radius:11px;box-shadow:var(--shadow);transform:rotate(.25deg)}

.trust-strip{background:var(--navy);color:#fff;padding:24px 0}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);text-align:center}
.trust-grid>div{padding:0 20px;border-right:1px solid rgba(255,255,255,.18)}
.trust-grid>div:last-child{border-right:0}
.trust-grid strong,.trust-grid span{display:block}
.trust-grid strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem}
.trust-grid span{font-size:.76rem;color:var(--champagne)}

.section{padding:92px 0}
.soft{background:#fff}
.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px}
.align-center{align-items:center}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.service-card{background:var(--ivory);border:1px solid var(--line);padding:30px 24px;min-height:310px;transition:.2s}
.service-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}
.round-icon{width:54px;height:54px;border:1px solid var(--rose);border-radius:50%;display:grid;place-items:center;color:var(--coral);font-size:1.55rem;margin-bottom:20px}
.service-card p{color:var(--muted);font-size:.92rem}
.navy-section{background:var(--navy);color:#fff}
.navy-section p{color:#e3e9ee}
.quote-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);padding:40px}
.quote-card p{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.8rem;color:#fff;margin:0}
.advisor-preview{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:center}
.brand-panel{background:#fff;box-shadow:var(--shadow);border-radius:12px;overflow:hidden}
.cta-band{background:linear-gradient(90deg,#17324d,#274864);color:#fff;padding:52px 0}
.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.cta-inner h2{margin-bottom:0}

.page-hero{padding:82px 0;background:radial-gradient(circle at 80% 20%,rgba(201,143,135,.16),transparent 27%),var(--navy);color:#fff}
.page-hero h1{max-width:980px}
.page-hero .lead{color:#e5ebef}
.page-hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:center}
.logo-orbit{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.profile-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:65px;align-items:start}
.profile-card{background:#fff;border:1px solid var(--line);padding:32px;box-shadow:var(--shadow);position:sticky;top:110px}
.profile-card h2{font-size:3rem;margin-bottom:10px}
.profile-card hr{border:0;border-top:1px solid var(--line);margin:26px 0}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:42px}
.process-step{border-top:2px solid var(--rose);padding:20px 15px 0}
.process-step span{color:var(--coral);font-weight:700;font-size:.8rem}
.process-step p{font-size:.88rem;color:var(--muted)}
.values-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--line);border:1px solid var(--line)}
.values-grid>div{background:var(--ivory);padding:28px}
.values-grid p{color:var(--muted);margin-bottom:0}

.service-detail-stack{display:grid;gap:2px;background:var(--line);border:1px solid var(--line)}
.service-detail{display:grid;grid-template-columns:120px 1fr;gap:32px;background:#fff;padding:50px}
.service-number{font-family:"Cormorant Garamond",Georgia,serif;font-size:4.2rem;color:#dbc1b8;line-height:1}
.service-detail h2{margin-bottom:16px}
.service-note{border-left:3px solid var(--rose);padding-left:18px;color:var(--navy);font-weight:600}

.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.audience-card{background:#fff;border:1px solid var(--line);padding:38px;box-shadow:0 12px 34px rgba(23,50,77,.06)}
.audience-card h2{font-size:2.65rem}
.audience-card p{color:var(--muted)}
.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.reason-grid>div{padding:25px;background:var(--ivory);border:1px solid var(--line);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem}

.contact-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}
.contact-list{margin-top:30px;border-top:1px solid var(--line)}
.contact-list a,.contact-list div{display:block;padding:18px 0;border-bottom:1px solid var(--line)}
.contact-list span{display:block;text-transform:uppercase;letter-spacing:.17em;font-size:.7rem;color:var(--coral)}
.contact-list strong,.contact-list small{display:block}
.contact-form{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:34px}
.contact-form label{display:block;font-weight:700;font-size:.82rem;margin:16px 0 6px}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid #d9d4cf;border-radius:4px;background:#fcfbfa;padding:12px;font:inherit;color:var(--ink)}
.contact-form textarea{resize:vertical}
.contact-form button{margin-top:20px}
.form-note{font-size:.75rem;color:#687683;margin:16px 0 0}

.site-footer{background:var(--navy2);color:#fff;padding:46px 0 28px}
.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-bottom:30px}
.footer-brand img{width:300px;max-height:70px;object-fit:contain;object-position:left}
.footer-tagline{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:1.2rem}
.footer-brand p{color:#d9c7bb;font-size:.83rem}
.footer-links{display:grid;grid-template-columns:1fr 1.4fr;gap:35px}
.footer-links h3{font-size:1.1rem;color:var(--champagne);letter-spacing:.08em}
.footer-links a{display:block;font-size:.82rem;color:#e3e8ec;margin:8px 0;overflow-wrap:anywhere}
.disclosure{border-top:1px solid rgba(255,255,255,.16);padding-top:22px}
.disclosure p{color:#c7d0d8;font-size:.72rem;margin:8px 0}

@media(max-width:950px){
  .menu-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:112px;background:var(--navy2);padding:22px 24px;flex-direction:column;align-items:flex-start}
  .site-nav.open{display:flex}
  .hero-grid,.split,.advisor-preview,.page-hero-grid,.profile-grid,.contact-layout,.footer-top{grid-template-columns:1fr}
  .service-grid{grid-template-columns:1fr 1fr}
  .process-grid{grid-template-columns:1fr 1fr}
  .profile-card{position:static}
  .reason-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .container{width:min(100% - 28px,1180px)}
  .brand img{width:235px}
  .hero,.page-hero{padding:55px 0}
  .trust-grid,.service-grid,.audience-grid,.reason-grid,.process-grid,.values-grid{grid-template-columns:1fr}
  .trust-grid>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.16);padding:12px 0}
  .section{padding:66px 0}
  .service-detail{grid-template-columns:1fr;padding:34px 25px}
  .service-number{font-size:3.4rem}
  .cta-inner{align-items:flex-start;flex-direction:column}
  .hero-actions .btn{width:100%;text-align:center}
  .footer-links{grid-template-columns:1fr}
}

/* Updated advisor portrait and simplified home hero */
.hero-grid-single { grid-template-columns: minmax(0, 850px); justify-content: start; }
.advisor-photo-wrap { display:flex; align-items:center; justify-content:center; }
.advisor-photo { width:min(100%, 390px); aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:22px; box-shadow:0 18px 45px rgba(13,43,72,.16); }
.profile-photo { width:100%; aspect-ratio:4/5; object-fit:cover; object-position:center top; border-radius:14px; margin-bottom:24px; }
@media (max-width: 800px) { .hero-grid-single { grid-template-columns:1fr; } .advisor-photo { width:min(100%, 340px); } }


/* 2026-08-30 lake banner, larger header/logo, and updated Jody bio */
.lake-banner{min-height:270px;background-image:url("assets/lake-header.jpg");background-size:cover;background-position:center 47%;position:relative}
.home-lake-banner{min-height:320px;background-position:center 52%}
.lake-banner-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,40,66,.62),rgba(15,40,66,.08) 62%,rgba(15,40,66,.02));display:flex;align-items:flex-end}
.lake-banner-copy{padding-bottom:30px;color:#fff}
.lake-banner-copy h1{font-size:clamp(3rem,5vw,5rem);margin:0;color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.25)}
.lake-banner-copy .eyebrow{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.bio-section{padding-top:48px}
.bio-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:54px;align-items:start}
.bio-photo-wrap{position:sticky;top:138px}
.bio-photo{width:100%;max-width:440px;aspect-ratio:1/1.08;object-fit:cover;object-position:center top;border-radius:18px;box-shadow:var(--shadow)}
.bio-copy h2{margin-bottom:20px}
.bio-copy p{color:#42566a}
.bio-closing{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem!important;font-style:italic;color:var(--navy)!important;border-left:3px solid var(--rose);padding-left:20px;margin-top:30px}
@media(max-width:950px){.bio-grid{grid-template-columns:1fr}.bio-photo-wrap{position:static}.bio-photo{max-width:420px}.lake-banner{min-height:230px}}
@media(max-width:650px){.nav-wrap{min-height:94px}.brand img{width:275px;max-height:72px}.site-nav{top:94px}.home-lake-banner{min-height:230px}.lake-banner{min-height:210px}.bio-section{padding-top:34px}}

/* 2026-08-30 header navigation refinement: keep desktop menu on one line */
.site-header .container{width:min(1540px,calc(100% - 56px))}
.nav-wrap{gap:34px}
.brand{flex:0 1 390px;min-width:300px}
.brand img{width:390px}
.site-nav{flex:0 0 auto;gap:26px;white-space:nowrap;font-size:.84rem}
.site-nav a{white-space:nowrap}
.nav-cta{padding:10px 16px}
@media(max-width:1180px){
  .menu-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:112px;background:var(--navy2);padding:22px 24px;flex-direction:column;align-items:flex-start;white-space:normal}
  .site-nav.open{display:flex}
  .brand{flex-basis:auto}
}
@media(max-width:650px){.site-header .container{width:min(100% - 28px,1540px)}}

/* Revision 4: desktop header — always show full navigation on one line */
@media (min-width: 901px){
  .site-header .container{width:calc(100% - 36px);max-width:none}
  .nav-wrap{min-height:108px;gap:18px}
  .brand{flex:0 0 310px;min-width:310px}
  .brand img{width:310px;max-height:78px}
  .menu-toggle{display:none!important}
  .site-nav{display:flex!important;flex:1 1 auto;justify-content:flex-end;align-items:center;gap:18px;white-space:nowrap;font-size:.78rem}
  .site-nav a{white-space:nowrap}
  .nav-cta{padding:10px 13px}
}
@media (max-width: 900px){
  .menu-toggle{display:block}
  .site-nav{display:none;position:absolute;left:0;right:0;top:112px;background:var(--navy2);padding:22px 24px;flex-direction:column;align-items:flex-start;white-space:normal}
  .site-nav.open{display:flex}
}

/* Revision 6: fix overlapping desktop/tablet rules so navigation never stacks under header */
@media (min-width: 901px){
  .site-header{position:sticky;top:0}
  .nav-wrap{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:nowrap;min-height:104px;gap:14px}
  .brand{flex:0 1 300px;min-width:235px;max-width:300px}
  .brand img{width:100%;max-width:300px;max-height:76px;object-fit:contain;object-position:left center}
  .menu-toggle{display:none!important}
  .site-nav{
    display:flex!important;
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:auto!important;
    padding:0!important;
    margin:0!important;
    background:transparent!important;
    flex:1 1 auto;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:clamp(10px,1.25vw,20px)!important;
    white-space:nowrap!important;
    font-size:clamp(.70rem,.74vw,.82rem);
  }
  .site-nav a{white-space:nowrap!important;flex:0 0 auto}
  .nav-cta{padding:9px 12px}
}

@media (min-width: 901px) and (max-width: 1080px){
  .site-header .container{width:calc(100% - 24px)}
  .brand{flex-basis:235px;min-width:235px;max-width:235px}
  .brand img{max-width:235px}
  .site-nav{gap:9px!important;font-size:.68rem}
  .nav-cta{padding:8px 9px}
}
