/* ===== FamilyOffices.com live-site shell (captured 2026-10-12 from https://familyoffices.com/, Divi theme builder header/footer) ===== */
:root{--foc-navy:#112336;--foc-navy-hero:#012752;--foc-black:#000;--foc-yellow:#fcf31b;--foc-topbar-link:#ffd915;--foc-sky:#60a3da;--foc-slate:#495e93;--foc-divi-blue:#2ea3f2;--foc-gray-text:#666;--foc-gold:#ebbc58}
body.fo-resources{margin:0;font-family:Lato,Helvetica,Arial,Lucida,sans-serif}
.foc-header,.foc-footer{font-family:Lato,Helvetica,Arial,Lucida,sans-serif;-webkit-font-smoothing:antialiased}
.foc-header ul,.foc-footer ul{list-style:none;margin:0;padding:0}
.foc-wrap{width:85vw;max-width:85vw;margin:0 auto;display:flex;align-items:center}
/* top utility bar: 40px, navy, yellow bold links */
.foc-topbar{background:#112336;height:40px}
.foc-topbar .foc-wrap{height:40px;justify-content:space-between}
.foc-topbar ul{display:flex;gap:22px}
.foc-top-left a{font-weight:700;font-size:clamp(11px,.9vw,15px);color:#ffd915;text-decoration:none}
.foc-top-right a{font-weight:900;font-style:italic;text-decoration:underline;font-size:clamp(12px,1vw,16px);color:#ffd915}
/* main nav bar: 80px, white, drop shadow */
.foc-navbar{background:#fff;height:80px;position:relative;z-index:10;box-shadow:0 12px 18px -6px rgba(0,0,0,.3)}
.foc-navbar .foc-wrap{height:80px;justify-content:space-between}
.foc-logo{display:flex;align-items:center;margin-right:24px;flex:0 0 auto}
.foc-logo img{height:auto;max-height:50px;width:auto;max-width:21vw;display:block}
.foc-nav{flex:1 1 auto;display:flex;justify-content:flex-end}
.foc-menu{display:flex;flex-wrap:nowrap;align-items:stretch}
.foc-menu>li{position:relative;display:flex;align-items:center;padding:0 clamp(5px,.55vw,11px)}
.foc-menu>li>a{display:flex;align-items:center;height:80px;font-size:clamp(11px,.9vw,15px);line-height:1;color:#000;text-decoration:none;white-space:nowrap;cursor:pointer}
.foc-menu>li.has-sub>a{padding-right:20px;position:relative}
.foc-menu>li.has-sub>a:after{content:"";position:absolute;right:4px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.foc-menu>li>a:hover,.foc-menu>li:focus-within>a{opacity:.7}
.foc-menu .sub-menu{display:none;position:absolute;top:calc(100% - 1px);left:0;width:240px;background:#fff;padding:20px 0;border-top:3px solid #2ea3f2;box-shadow:0 2px 5px rgba(0,0,0,.1);z-index:9999}
.foc-menu li:hover>.sub-menu,.foc-menu li:focus-within>.sub-menu{display:block}
.foc-menu .sub-menu a{display:block;padding:6px 20px;font-size:clamp(11px,.9vw,15px);line-height:1.4;color:#000;text-decoration:none}
.foc-menu .sub-menu a:hover{background:rgba(0,0,0,.03);opacity:.7}
.foc-menu-toggle,.foc-burger{display:none}
@media (max-width:980px){
 .foc-menu>li>a,.foc-menu .sub-menu a{font-size:1vw}
 .foc-logo img{height:2.5vw;max-height:2.5vw;max-width:none;width:auto}
}
@media (max-width:767px){
 .foc-topbar{display:none}
 .foc-wrap{width:100%;max-width:100%;padding:0 5%;box-sizing:border-box}
 .foc-logo img{height:10vw;max-height:10vw;max-width:none;width:auto}
 .foc-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;cursor:pointer}
 .foc-burger span{display:block;height:3px;background:#000;border-radius:1px}
 .foc-nav{display:none;position:absolute;left:0;top:100%;width:100%;background:#fff;border-top:3px solid #2ea3f2;box-shadow:0 2px 5px rgba(0,0,0,.1);padding:5%;box-sizing:border-box;z-index:9999}
 .foc-menu-toggle:checked~.foc-nav{display:block}
 .foc-menu{flex-direction:column}
 .foc-menu>li{display:block;padding:0}
 .foc-menu>li>a{height:auto;padding:10px 5%;border-bottom:1px solid rgba(0,0,0,.03);color:#666;font-size:3vw;line-height:3.2vw}
 .foc-menu>li.has-sub>a{font-weight:700;background:rgba(0,0,0,.03)}
 .foc-menu>li.has-sub>a:after{display:none}
 .foc-menu .sub-menu{display:block;position:static;width:auto;border:0;box-shadow:none;padding:0 0 0 10px}
 .foc-menu .sub-menu a{padding:10px 5%;color:#666;font-size:3vw;line-height:3.2vw;border-bottom:1px solid rgba(0,0,0,.03)}
}
/* footer */
.foc-footer-main{background-color:#112336;background-image:linear-gradient(180deg,#112336 39%,#000 100%);padding:1rem 0}
.foc-footer-row{width:85vw;max-width:85vw;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:5.5%;padding:2vw 0}
.foc-fcol{text-align:center;color:#fff}
.foc-fcol h4{font-family:Lato,Helvetica,Arial,Lucida,sans-serif;font-weight:300;font-size:1.5vw;color:#fff;margin:0 0 1vw;padding-bottom:6px;border-bottom:1px solid #fff}
.foc-fcol img{max-width:90%;height:auto}
.foc-fcol p{font-size:1vw;line-height:1.25vw;color:#fff;margin:1vw 0}
.foc-flogo{width:75%!important;margin:1vw auto}
.foc-social{display:flex;justify-content:center;gap:8px;margin:0 0 22px!important}
.foc-social a{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:3px}
.foc-social .yt{background:#a82400}.foc-social .li{background:#007bb6}.foc-social .ig{background:#ea2c59}.foc-social .fb{background:#3b5998}
.foc-handshake{display:block;margin:1vw auto;width:3.25vw;height:auto}
.foc-checklist{list-style:disc!important;text-align:left;padding-left:1.4em!important;font-size:1vw;line-height:2vw;color:#fff}
.foc-btn{display:inline-block;font-family:Lato,Helvetica,Arial,Lucida,sans-serif;font-weight:700;text-decoration:none;transition:all .3s ease 0s}
.foc-btn-yellow{background:#fcf31b;color:#000;border-radius:10px;font-size:1vw;padding:1.2vw 1vw;margin-top:1.5vw;box-shadow:0 2px 18px 0 rgba(0,0,0,.42)}
.foc-btn-yellow:hover{box-shadow:0 2px 15px 0 rgba(255,165,59,.35)}
.foc-btn-sky{background:#60a3da;color:#fff;border-radius:15px;padding:1vw;text-shadow:.08em .08em 0 rgba(0,0,0,.4);box-shadow:0 2px 18px 0 rgba(0,0,0,.42)}
.foc-btn-slate{background:#495e93;color:#fff;border-radius:15px;padding:1vw;text-shadow:.08em .08em 0 rgba(0,0,0,.4);box-shadow:0 2px 18px 0 rgba(0,0,0,.42)}
.foc-onepager{width:75%!important;margin:1vw auto;display:block}
.foc-footer-strip{background:#fff;padding:1vw 0 .5vw;text-align:center}
.foc-fmenu{display:flex;flex-wrap:wrap;justify-content:center;margin-bottom:1vw!important}
.foc-fmenu li{padding:8px 11px 0}
.foc-fmenu a{font-size:1vw;color:#112336;text-decoration:none}
.foc-legal{font-size:14px;line-height:1.7em;color:#666;margin:0;padding-bottom:2vw}
@media (max-width:980px){.foc-footer-row{grid-template-columns:1fr}.foc-fcol h4{font-size:1.5vw}}
@media (max-width:767px){.foc-fcol h4{font-size:5vw;line-height:5vw}.foc-fcol p{font-size:4vw;line-height:5vw}.foc-checklist{font-size:4vw;line-height:6vw}.foc-handshake{width:10vw}.foc-btn-yellow{font-size:4vw;padding:2vw;margin-bottom:20px}.foc-fmenu a{font-size:3vw}.foc-legal{font-size:2.5vw}}
/* resources content tone: live site headings use EB Garamond; CTA buttons reuse live yellow / sky */
body.fo-resources main a.cta,body.fo-resources .cta-button{background:#fcf31b;color:#000;border-radius:15px;font-weight:700;padding:14px 22px;text-decoration:none;box-shadow:0 2px 18px 0 rgba(0,0,0,.42);display:inline-block}
/* ===== end live shell ===== */

/* FamilyOffices.com /resources styles v1.5. Shell section below matches the live WordPress site; component styles follow. */
:root{--navy:#112336;--navy2:#0d253a;--yellow:#fcf31b;--gold:#ebbc58;--mid:#255da0;--sky:#60a3da;--white:#fff;--gray:#f6f6f6;--line:#e8e8e8;--red:#b81c23}
body.fo-resources{margin:0;font:17px/1.55 Lato,system-ui,sans-serif;color:var(--navy);background:var(--white)}
main{max-width:1100px;margin:0 auto;padding:24px}
h1,h2,h3{font-family:"EB Garamond",Georgia,serif;line-height:1.15}
a{color:var(--mid)} .skip-link{position:absolute;left:-999px}.skip-link:focus{left:8px;top:8px}
.breadcrumb{font-size:14px;margin-bottom:16px}.short-answer{background:var(--gray);border-left:3px solid var(--gold);padding:12px 16px}
.richard-quote{border-left:3px solid var(--gold);margin:24px 0;padding:8px 16px;font-style:italic}
.next-steps{background:var(--navy);color:var(--white);padding:20px 24px;margin:32px 0}.next-steps a{color:var(--yellow)}
.whats-inside{border:1px solid var(--navy);background:var(--gray);padding:24px;margin:24px 0}
.wi-head{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--gold)}
.wi-caption{font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.wi-line{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:0;margin:20px 0;border-top:1px solid var(--gold)}
.holding{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--line);padding:14px;text-decoration:none;color:var(--navy);height:100%}
.holding-label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--mid)}.holding .n{font-size:40px;font-family:"EB Garamond",serif}.holding .t{font-weight:700}.holding .d{font-size:14px}
.wi-title-block{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--navy);margin:0}.wi-title-block div{padding:8px 12px;border-right:1px solid var(--navy)}.wi-title-block dt{font-size:12px;text-transform:uppercase}.wi-title-block dd{margin:0;font-weight:700}
.calc fieldset{border:1px solid var(--line);margin:0 0 16px;padding:16px}.calc label{display:block;margin-top:10px;font-weight:700}.calc input[type=number],.calc select{width:100%;max-width:360px;padding:8px;font-size:16px}
.calc .check{display:flex;gap:8px;align-items:flex-start}.calc .check label{font-weight:400;margin:0}.calc small{display:block;color:#555}
.calc-results{background:var(--gray);padding:16px;border-top:3px solid var(--gold)}.calc-out{margin:6px 0}.calc-out-value{font-weight:700}
.cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.cards li,.steps li{border:1px solid var(--line);padding:16px}
.video-cards img,.related-videos img{width:100%;height:auto}.video-embed iframe{width:100%;height:100%;border:0}.ts{font-family:monospace;color:#666;margin-right:6px}
@media (max-width:760px){.wi-line{grid-template-columns:1fr}.wi-title-block{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.ask-richard{display:flex;gap:20px;align-items:center;border:1px solid var(--line);border-top:3px solid var(--gold);background:var(--white);padding:20px;margin:32px 0}
.ask-richard img{width:120px;height:120px;border-radius:50%;object-fit:cover;flex:none}.ask-richard ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px}
.ask-richard a{font-weight:700}
.related-content ul{columns:2}.qa-search{display:flex;gap:8px;align-items:center;margin:16px 0;flex-wrap:wrap}.qa-search input{flex:1;min-width:220px;padding:10px;font-size:16px}
.qa-search button{background:var(--yellow);border:0;padding:10px 16px;font-weight:700}.search-results li{margin:12px 0}.search-results .k{font-size:12px;text-transform:uppercase;color:var(--mid)}
.calc-table{border-collapse:collapse;width:100%;font-size:14px}.calc-table th,.calc-table td{border-bottom:1px solid var(--line);padding:4px 8px;text-align:right}
@media (max-width:760px){.ask-richard{flex-direction:column;align-items:flex-start}.related-content ul{columns:1}}

.infographic img{max-width:100%;height:auto;border:1px solid #e8e8e8}.infographic figcaption,.page-photo figcaption{font-size:13px;color:#666}
.page-photo img{max-width:100%;height:auto}
table{border-collapse:collapse;margin:16px 0}th,td{border:1px solid #e8e8e8;padding:6px 12px;text-align:left}caption{text-align:left;font-weight:700;padding:6px 0}

/* ===== v1.6 institutional polish (Nov 2026) ===== */
main{max-width:1200px;box-sizing:border-box;padding:24px 24px 56px}
main h1{font-size:clamp(32px,3.6vw,46px);margin:16px 0 16px;letter-spacing:-.01em;text-wrap:balance}
main h2{font-size:clamp(26px,2.4vw,32px);margin:48px 0 16px;text-wrap:balance}
main h3{font-size:22px;margin:28px 0 10px}
main p,main .lead,main .byline,.short-answer{max-width:70ch}
main p{text-wrap:pretty}
.lead{font-size:18px;line-height:1.55;margin:0 0 24px;color:#112336}
.breadcrumb{margin:8px 0 16px;color:#4E5F78}.breadcrumb a{color:#255da0}
.page-photo{margin:24px 0 40px;max-width:880px}
.page-photo img{display:block;width:100%;height:auto;object-fit:contain;background:#f3f4f6;border-radius:2px}
.page-photo figcaption{margin-top:8px;font-size:13px;color:#4E5F78}
.cards li,.steps li{border:1px solid #D6DDE8;border-radius:2px;padding:20px 24px;background:#fff}
.steps{padding:0;list-style:none;display:grid;gap:12px}.steps li p{margin:8px 0 0}
.steps .step-n{display:inline-block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#4E5F78;margin-right:8px}
.holding{border:1px solid #D6DDE8;border-radius:2px;padding:20px}
.holding:hover,.cards li:hover{border-color:#112336}
.whats-inside{border-color:#D6DDE8;border-radius:2px}
.ask-richard{border-color:#D6DDE8;border-radius:2px}
.calc fieldset{border-color:#D6DDE8;border-radius:2px;padding:20px 24px}
.calc-results{border-radius:2px}
.upcoming-events{border:1px solid #D6DDE8;border-top:3px solid #fcf31b;border-radius:2px;padding:20px 24px;margin:8px 0 40px;background:#fff}
.upcoming-events h2{margin-top:0}.upcoming-events article{margin-bottom:16px}.upcoming-events article h3{margin:8px 0 4px}.upcoming-events p{margin:4px 0}.upcoming-events ul{padding-left:20px;margin:8px 0 0}.upcoming-events li{margin:6px 0}
main a:focus-visible,.foc-header a:focus-visible,.foc-sub-btn:focus-visible{outline:2px solid #255da0;outline-offset:2px}
/* nav: real button triggers for submenus */
.foc-sub-btn{display:flex;align-items:center;height:80px;background:none;border:0;padding:0;margin:0;font:inherit;font-family:Lato,Helvetica,Arial,Lucida,sans-serif;font-size:clamp(11px,.9vw,15px);line-height:1;color:#000;cursor:pointer;white-space:nowrap}
.foc-menu>li.has-sub>.foc-sub-btn{padding-right:20px;position:relative}
.foc-menu>li.has-sub>.foc-sub-btn:after{content:"";position:absolute;right:4px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg)}
.foc-menu>li>.foc-sub-btn:hover{opacity:.7}
.foc-menu li.open>.sub-menu{display:block}
@media (min-width:768px){.foc-menu li.btn-sub:not(:hover):not(.open)>.sub-menu{display:none}}
@media (max-width:980px){.foc-sub-btn{font-size:1vw}}
@media (max-width:767px){main{padding:16px 24px 40px}main h2{margin-top:40px}.lead{font-size:17px}.foc-sub-btn{height:auto;width:100%;padding:10px 5%;font-size:3vw;line-height:3.2vw;color:#666;font-weight:700;background:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.03)}.foc-menu>li.has-sub>.foc-sub-btn:after{display:none}.cards li,.steps li{padding:16px 20px}}

/* ===== hub v1.7: research index ===== */
.hub .hub-top{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:40px;align-items:start;padding-bottom:32px;border-bottom:1px solid #D6DDE8}
.hub h1{margin-top:4px}
.hub-search{margin-top:8px;max-width:70ch}.hub-search label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4E5F78;margin-bottom:6px}
.hub-search-row{display:flex;border:1px solid #112336;border-radius:2px;background:#fff}
.hub-search input{flex:1;min-width:0;border:0;padding:12px 14px;font:16px Lato,system-ui,sans-serif;color:#112336;background:transparent}
.hub-search input:focus{outline:2px solid #255da0;outline-offset:-2px}
.hub-search button{border:0;background:#112336;color:#fff;font:700 15px Lato,sans-serif;padding:0 22px;cursor:pointer;min-height:44px}.hub-search button:hover{background:#0c1c3d}
.hub-stats{display:grid;grid-template-columns:1fr 1fr;margin:8px 0 0;border:1px solid #D6DDE8;border-radius:2px;background:#fff}
.hub-stats div{padding:14px 16px;border-bottom:1px solid #D6DDE8}.hub-stats div:nth-child(odd){border-right:1px solid #D6DDE8}.hub-stats div:nth-last-child(-n+2){border-bottom:0}
.hub-stats dt{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#4E5F78}
.hub-stats dd{margin:4px 0 0;font:600 26px/1.1 "IBM Plex Mono",ui-monospace,Menlo,monospace;color:#112336;font-variant-numeric:tabular-nums}
.hub .ix-title{margin:40px 0 16px;font-size:28px}
.ix-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.ix-panel{border:1px solid #D6DDE8;border-top:3px solid #112336;border-radius:2px;background:#fff;display:flex;flex-direction:column}
.ix-head{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;padding:18px 20px 14px;border-bottom:1px solid #D6DDE8}
.ix-code{grid-row:1/3;font:600 13px "IBM Plex Mono",ui-monospace,monospace;color:#4E5F78;padding-top:5px}
.ix-head h2{margin:0;font-size:21px;line-height:1.2}.ix-head h2 a{color:#112336;text-decoration:none}.ix-head h2 a:hover{text-decoration:underline}
.ix-count{font-size:13px;color:#4E5F78;margin-top:2px}.ix-count b{font:600 13px "IBM Plex Mono",ui-monospace,monospace;color:#112336}
.ix-list{list-style:none;margin:0;padding:4px 0;flex:1}
.ix-list li{border-bottom:1px solid #EEF1F6}.ix-list li:last-child{border-bottom:0}
.ix-list a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 20px;min-height:24px;text-decoration:none;color:#112336;font-size:15px;line-height:1.35}
.ix-list a:hover{background:#F6F8FB}.ix-list a:hover .ix-t{text-decoration:underline}
.ix-m{flex:none;font:12px "IBM Plex Mono",ui-monospace,monospace;color:#4E5F78;white-space:nowrap}
.ix-plain li{padding:9px 20px;font-size:15px;line-height:1.4}
.ix-foot{margin:0;padding:12px 20px;border-top:1px solid #D6DDE8;font-size:13px;color:#4E5F78;background:#F8F9FB}
.ix-photo{margin:0;padding:0 20px 16px}.ix-photo img{display:block;width:100%;height:auto;border-radius:2px}.ix-photo figcaption{font-size:12px;color:#4E5F78;margin-top:6px}
.hub .ask-richard{margin-top:40px}
@media (max-width:1080px){.ix-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub .hub-top{grid-template-columns:1fr;gap:24px}.hub-stats{grid-template-columns:repeat(4,1fr)}.hub-stats div{border-right:1px solid #D6DDE8}.hub-stats div:nth-child(4n){border-right:0}.hub-stats div:nth-last-child(-n+4){border-bottom:0}}
@media (max-width:767px){.ix-grid{grid-template-columns:1fr}.hub-stats{grid-template-columns:1fr 1fr}.hub-stats div{border-right:0}.hub-stats div:nth-child(odd){border-right:1px solid #D6DDE8}.hub-stats div:nth-last-child(-n+4){border-bottom:1px solid #D6DDE8}.hub-stats div:nth-last-child(-n+2){border-bottom:0}.hub-stats dd{font-size:22px}}
