/* Editorial overlap refinement. The incumbent Boshu tokens remain authoritative. */
@font-face{font-family:'Boshu Caslon';src:url('assets/fonts/LibreCaslonText-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--gold:#e3a73a}
.type-char{display:inline-block}
.button:not(.button-light) svg{color:var(--gold)}
.advisory h2::after,.contact h2::after{content:'';display:block;width:80px;height:3px;margin-top:24px;background:var(--gold)}
h1,h2,h3{text-align:left;text-wrap:pretty}
.hero{padding-block:28px 56px}
.hero-editorial{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:min-content 1fr;column-gap:24px;align-items:start;position:relative}
.hero h1{grid-column:1/10;grid-row:1;z-index:2;font-size:clamp(56px,5.65vw,80px);line-height:1.08;margin:0 0 28px;letter-spacing:-.035em;pointer-events:none}
.hero h1>span{display:block;width:fit-content;max-width:100%;background:var(--paper);padding:0 18px 7px 0}
.hero-copy{grid-column:1/5;grid-row:2;z-index:2;padding:0 16px 0 0}
.hero-copy>p:first-child{font-size:20px;line-height:1.55;max-width:35ch}
.hero-photo{grid-column:5/-1;grid-row:1/3;align-self:start;margin-top:88px;min-width:0}
.hero-photo .photo-frame{aspect-ratio:auto;height:440px}
.hero-photo img{object-position:57% center}
.hero-copy>.button{margin-top:26px}
.microcopy{display:flex;align-items:center;gap:12px;margin-top:18px}
.microcopy svg{width:28px;height:28px;color:var(--blue)}
.advisors{background:transparent;padding-block:64px 0}
.section-heading{align-items:end;margin-bottom:38px}
.preview-label{max-width:37ch;text-align:right;line-height:1.5}
.advisor-heading{display:block;margin:0 0 24px}
.advisor-heading h2{font-size:28px;font-weight:600;line-height:1.3;max-width:none}
.advisor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.advisor-profile,.advisor-profile+.advisor-profile{grid-template-columns:160px minmax(0,1fr);gap:24px;align-items:start;padding:24px;border:1px solid var(--rule);background:var(--paper)}
.profile-copy{min-width:0;max-width:none}
.portrait-placeholder{height:208px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#dde6eb;color:var(--blue)}
.portrait-ed{background:#e8e4da;color:#52605d}
.portrait-initial{font-size:112px;font-weight:400;line-height:1;letter-spacing:-.04em}
.portrait-caption{position:absolute;bottom:12px;font-size:11px}
.profile-copy h3{font-family:'Boshu Caslon',Georgia,serif;font-size:30px;font-weight:400;line-height:1.15;margin:0 0 5px;letter-spacing:-.025em}
.profile-role{font-size:15px;color:var(--muted)}
.sample-label{font-size:11px;color:var(--muted);margin:12px 0 14px;text-decoration:underline;text-underline-offset:3px}
.profile-copy>p:not([class]){font-size:16px;line-height:1.6}
.profile-detail{font-size:13px;line-height:1.55;color:var(--muted);margin-top:14px}
.profile-link{display:flex;align-items:center;gap:8px;color:var(--blue);font-size:12px;margin-top:20px}
.profile-link svg{width:18px;height:18px}
.advisor-portrait{width:160px;height:160px;aspect-ratio:1;object-fit:cover;object-position:center}
.profile-bio{font-size:16px;line-height:1.6;margin-top:16px}
a.profile-link{width:fit-content;min-height:44px;margin-top:12px;font-size:14px;text-decoration:none}
a.profile-link:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:520px){.profile-bio{font-size:15px}a.profile-link{font-size:13px}}
.knowledge-intro{grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.knowledge-intro h2{max-width:19ch}
.knowledge-intro>p{max-width:49ch;font-size:17px}
.record-types{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px;margin:48px 0 0;padding:0}
.record-types li{display:flex;align-items:flex-start;gap:22px;padding:30px 0 34px;border-top:1px solid #3d526b}
.record-icon{width:48px;height:48px;color:var(--blue-light);stroke-width:1.6;transition:color .45s,transform .6s var(--ease)}
.record-types h3{font-size:21px;font-weight:600;line-height:1.3;margin-bottom:9px}
.record-types p{font-size:15px;color:var(--blue-light);max-width:25ch;line-height:1.55}
.record-types li:hover .record-icon{color:white;transform:translateY(-3px)}
.records-note{font-size:12px;color:var(--blue-light);margin-top:8px}
.audience{display:flex;gap:18px;align-items:center;max-width:none;padding-top:24px;margin-top:32px;font-size:16px}
.audience svg{width:34px;height:34px}
.audience span{max-width:75ch}
.advisory-grid{grid-template-columns:1fr 1fr;gap:80px}
.advisory h2{max-width:17ch}
.advisory-lead>p{font-size:17px;max-width:39ch;margin-top:22px}
.advisory-questions article{display:flex;gap:24px;align-items:flex-start;padding-block:30px}
.advisory-questions article:first-child{padding-top:30px}
.advisory-icon{width:42px;height:42px;color:var(--blue);stroke-width:1.6}
.advisory-questions h3{font-size:25px;line-height:1.3}
.advisory-questions p{font-size:17px;margin-top:10px;max-width:34ch}
.field-photo .photo-frame{aspect-ratio:1.8}
.questions-grid{display:block;max-width:760px}
.questions-grid>h2{margin-bottom:32px;max-width:none}
.faq-list details>p{max-width:75ch}
.contact-grid{grid-template-columns:1fr 1fr;gap:80px}
.contact h2{max-width:14ch;line-height:1.12}
.contact-intro{max-width:29ch;font-size:19px}
@media(min-width:1500px){.hero-photo .photo-frame{height:464px}}
@media(max-width:1100px) and (min-width:861px){
 .hero-editorial{column-gap:16px}.hero h1{font-size:60px;grid-column:1/11}.hero-photo{grid-column:5/-1;margin-top:64px}.hero-photo .photo-frame{height:400px}.hero-copy{padding-right:8px}.hero-copy>p:first-child{font-size:18px}.hero-copy .button{font-size:15px;padding:14px 18px;gap:14px}
 .record-types{gap:0 28px}.record-types li{gap:14px}.record-icon{width:38px;height:38px}.record-types h3{font-size:19px}
 .knowledge-intro,.advisory-grid,.questions-grid,.contact-grid{gap:48px}
}
@media(max-width:860px){
 .hero-editorial{align-items:stretch}
 .hero{padding-block:24px 48px}.hero-editorial{display:flex;flex-direction:column}.hero h1{font-size:clamp(43px,7.5vw,64px);margin:0 0 26px;line-height:1.08}.hero h1>span{display:inline;padding:0;background:none}.hero-copy{padding:0}.hero-copy>p:first-child{font-size:19px;max-width:52ch}.hero-photo{margin:30px 0 0;align-self:stretch}.hero-photo .photo-frame{height:auto;aspect-ratio:1.8}.hero-photo img{object-position:center}.microcopy br{display:block}
 .section-heading{display:block}.preview-label{text-align:left;max-width:none;margin-top:14px}
 .knowledge-intro,.advisory-grid,.questions-grid,.contact-grid{grid-template-columns:1fr;gap:30px}.knowledge-intro h2{max-width:22ch}.record-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin-top:34px}.record-types li{gap:18px}.record-types p{max-width:30ch}.knowledge-intro>p{max-width:60ch}.advisory h2{max-width:24ch}.field-photo{max-width:620px}.advisory-questions p{max-width:50ch}.contact h2{max-width:17ch}.contact-intro{max-width:40ch}
}
@media(max-width:520px){
 .hero h1{font-size:43px;line-height:1.08}.hero-copy>p:first-child{font-size:18px}.hero-photo .photo-frame{aspect-ratio:1.5}.microcopy{font-size:13px}.hero-copy>.button{width:100%}
 .record-types{grid-template-columns:1fr;gap:0}.record-types li{padding:24px 0;gap:24px}.record-icon{width:44px;height:44px}.record-types h3{font-size:21px;margin-bottom:6px}.record-types p{font-size:16px;max-width:30ch}.records-note{font-size:12px;margin-top:14px}.audience{align-items:start;font-size:15px}.audience svg{width:28px;height:28px}.advisory-questions article{gap:20px}.advisory-icon{width:36px;height:36px}.advisory-questions h3{font-size:23px}.advisory-questions p{font-size:16px}.contact h2{font-size:41px;max-width:15ch}
}
@media(prefers-reduced-motion:reduce){.record-types li:hover .record-icon{transform:none}}
/* Brand-guide photographic spread: one continuous image-and-Midnight surface. */
.advisory-grid{grid-template-columns:1.08fr 1fr;gap:0;align-items:stretch}
.advisory-panel{min-width:0;padding:48px;background:var(--midnight);color:var(--white)}
.advisory-panel h2{font-size:clamp(32px,3vw,40px);max-width:18ch}
.advisory-panel .advisory-lead>p{color:var(--blue-light);max-width:40ch;margin-top:20px}
.advisory-panel .advisory-questions{border-top:1px solid #3d526b;margin-top:32px}
.advisory-panel .advisory-questions article{gap:20px;padding-block:24px;border-color:#3d526b}
.advisory-panel .advisory-questions article:last-child{padding-bottom:0;border-bottom:0}
.advisory-panel .advisory-questions h3{font-size:22px}
.advisory-panel .advisory-questions p{font-size:16px;color:var(--blue-light);margin-top:8px;max-width:36ch}
.advisory-panel .advisory-icon{width:32px;height:32px;color:var(--blue-light)}
.advisory-grid .field-photo{position:relative;margin:0;max-width:none;min-width:0}
.advisory-grid .field-photo .photo-frame{position:absolute;inset:0;aspect-ratio:auto}
.advisory-grid .field-photo img{object-position:62% center}
.advisory-grid .field-photo figcaption{position:absolute;bottom:20px;left:20px;margin:0;padding:6px 10px;background:var(--midnight);color:var(--white)}
@media(max-width:1000px){
 .advisory-grid{grid-template-columns:1fr;gap:0}
 .advisory-grid .field-photo .photo-frame{position:relative;aspect-ratio:1.6}
 .advisory-grid .field-photo img{object-position:center 20%}
 .advisory-panel h2{max-width:24ch}
 .advisory-panel .advisory-lead>p{max-width:60ch}
 .advisory-panel .advisory-questions p{max-width:60ch}
}
@media(max-width:520px){
 .advisory-panel{padding:32px 24px}
 .advisory-grid .field-photo .photo-frame{aspect-ratio:1.25}
 .advisory-grid .field-photo figcaption{left:12px;bottom:12px}
 .advisory-panel .advisory-questions article{gap:16px}
 .advisory-panel .advisory-questions h3{font-size:21px}
 .advisory-panel .advisory-icon{width:28px;height:28px}
}
/* White reading canvas, inset Workpaper records, and two Midnight focal points. */
@media screen{
 body,.site-header,footer{background:var(--white)}
 .hero h1>span{background:var(--white)}
 .hero{padding-bottom:48px}
 .knowledge{background:transparent;color:var(--midnight);padding-top:16px;padding-bottom:0}
 .knowledge>.container{background:var(--paper);padding:48px;border-block:1px solid var(--rule)}
 .knowledge-intro>p,.record-types p,.records-note,.audience{color:var(--muted)}
 .record-types li,.audience{border-color:var(--rule)}
 .record-icon,.audience svg{color:var(--blue)}
 .record-types li:hover .record-icon{color:var(--midnight)}
 .advisory{padding-top:32px;padding-bottom:0}
 .questions{background:transparent;border-top:0;padding-top:72px;padding-bottom:64px}
 .contact{background:transparent;padding:0}
 .contact-grid{background:var(--midnight);padding:64px;gap:64px}
 .footer-inner{padding-block:32px}
}
@media screen and (max-width:1100px){
 .knowledge>.container{padding:40px}
 .contact-grid{padding:48px;gap:40px}
}
@media screen and (max-width:860px){
 .hero{padding-bottom:32px}
 .knowledge{padding-top:16px;padding-bottom:0}
 .advisory{padding-top:24px}
 .questions{padding-top:56px;padding-bottom:48px}
 .contact-grid{padding:40px;gap:32px}
}
@media screen and (max-width:520px){
 .knowledge>.container{padding:32px 24px}
 .contact-grid{padding:32px 24px}
 .contact h2{font-size:36px}
}
@media print{
 .advisory-grid{display:block}
 .advisory-grid .field-photo .photo-frame{position:relative;aspect-ratio:1.8}
 .advisory-panel{background:white;color:var(--midnight);padding:24px 0}
 .advisory-panel .advisory-lead>p,.advisory-panel .advisory-questions p,.advisory-panel .advisory-icon{color:#252d32}
}
@media print{.hero-editorial{display:block}.hero h1{font-size:34pt;pointer-events:auto}.hero h1>span{display:inline;background:none;padding:0}.hero-photo{margin-top:20px;max-width:70%}.hero-photo .photo-frame{height:auto;aspect-ratio:1.8}.record-types{grid-template-columns:repeat(2,1fr)}.record-types p,.records-note,.record-icon{color:#252d32}.portrait-initial{font-size:64pt}}

/* Headline-led transitions: open white space between the denser Workpaper spreads. */
.market-transition{position:relative;isolation:isolate;display:grid;align-items:center;min-height:480px;margin:32px 0 64px;padding:88px 0;background:var(--midnight);color:var(--white)}
.market-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;z-index:-2}
.market-transition::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,16,48,.62),rgba(0,16,48,.78) 50%,rgba(0,16,48,.62))}
.market-transition>.container{text-align:center}
.market-transition h2{max-width:23ch;margin-inline:auto;font-size:clamp(40px,4.4vw,60px);line-height:1.14;letter-spacing:-.025em;text-wrap:balance;text-align:center}
.market-invitation{display:inline-flex;align-items:center;justify-content:center;gap:24px;max-width:100%;margin-top:36px;padding:18px 28px;border:1px solid var(--gold);background:rgba(0,16,48,.35);color:var(--gold);font-size:19px;line-height:1.5;text-decoration:none;transition:background .25s,color .25s}
.market-invitation svg{color:var(--gold);transition:transform .3s var(--ease)}
.market-invitation:hover{background:var(--gold);color:var(--midnight)}
.market-invitation:hover svg{color:var(--midnight);transform:translateX(4px)}
.market-invitation:focus-visible{outline:3px solid white;outline-offset:6px}
.industry-strip{margin-bottom:48px}
.industry-strip ul{list-style:none;margin:0;padding:0}
.industry-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--rule)}
.industry-groups>li{padding:24px 28px;color:var(--midnight)}
.industry-groups>li+li{border-left:1px solid var(--rule)}
.industry-groups h2{font-size:18px;font-weight:600;line-height:1.4;letter-spacing:0;margin-bottom:10px}
.industry-groups ul li{font-size:15px;line-height:1.65;color:var(--muted)}
.education{padding:24px 0 64px;background:var(--white)}
.education-reading{max-width:1088px;margin-inline:auto}
.education h2{font-size:clamp(32px,3.1vw,44px);line-height:1.18;max-width:none;margin-bottom:40px;text-wrap:balance;text-align:center}
.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--midnight)}
.education-grid article{padding:32px;background-clip:padding-box;transition:background-color .35s var(--ease)}
.education-grid article:nth-child(1){--cell-hover:#fbf3df}
.education-grid article:nth-child(2){--cell-hover:#a8bdd0}
.education-grid article:nth-child(3){--cell-hover:#7294b1}
.education-grid article:nth-child(4){--cell-hover:var(--gold)}
@media(hover:hover) and (pointer:fine){
 .education-grid article:hover{background-color:var(--cell-hover)}
 .education-grid article:hover p{color:var(--midnight)}
}
@media(prefers-reduced-motion:reduce){.education-grid article{transition:none}}
.education-grid article:nth-child(even){border-left:1px solid var(--rule)}
.education-grid article:nth-child(n+3){border-top:1px solid var(--rule)}
.education h3{font-size:24px;line-height:1.3;font-weight:600;letter-spacing:-.015em}
.education p{font-size:17px;line-height:1.6;color:var(--muted);margin-top:16px;max-width:47ch}
.service-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:56px 0 0}
.service-boxes li{--service-color:var(--midnight);padding:32px;border:1px solid var(--rule);border-top:8px solid var(--service-color)}
.service-boxes li:nth-child(2){--service-color:#365a7a}
.service-boxes li:nth-child(3){--service-color:#795100}
.service-boxes h3{color:var(--service-color)}
@media(max-width:860px){
 .education{padding:24px 0 40px}
 .education-grid article{padding:28px 24px}
 .service-boxes{gap:16px;margin-top:40px}
 .service-boxes li{padding:24px 20px}
 .education h3{font-size:22px}
}
@media(max-width:600px){
 .education h2{margin-bottom:32px}
 .education-grid,.service-boxes{grid-template-columns:1fr}
 .education-grid article{padding:24px 20px}
 .education-grid article:nth-child(even){border-left:0}
 .education-grid article+article{border-top:1px solid var(--rule)}
 .service-boxes{gap:16px;margin-top:32px}
 .service-boxes li{padding:28px 24px}
}
.education-overview{padding:64px 0 0}
.education-overview h2{margin-bottom:20px}
.education .education-intro{max-width:68ch;margin:0 auto 40px;text-align:center;text-wrap:pretty}
.service-section{padding-top:48px}
.service-section .service-boxes{margin-top:0}
@media(max-width:860px){.education-overview{padding:48px 0 0}}
@media print{.education{padding:24px 0}.education h2{font-size:25pt}.education h3{font-size:15pt}.education p{font-size:11pt}.education-grid article,.service-boxes li{break-inside:avoid}}
@media(max-width:860px){
 .industry-strip{margin-bottom:32px}
 .industry-groups>li{padding:20px 16px}
 .industry-groups h2{font-size:17px}
 .industry-groups ul li{font-size:14px}
}
@media(max-width:600px){
 .industry-groups{grid-template-columns:1fr}
 .industry-groups>li{padding:20px 0}
 .industry-groups>li+li{border-left:0;border-top:1px solid var(--rule)}
 .industry-groups h2{font-size:18px;margin-bottom:8px}
 .industry-groups ul li{font-size:15px}
}
@media print{.industry-strip{margin-bottom:24px;break-inside:avoid}.industry-groups>li{padding:12px}.industry-groups ul li{font-size:10pt}}
@media screen{
 .questions{padding-top:96px;padding-bottom:80px}
}
@media(max-width:1100px){
 .advisor-profile,.advisor-profile+.advisor-profile{grid-template-columns:144px minmax(0,1fr);gap:20px;padding:20px}
 .advisor-portrait{width:144px;height:144px}
}
@media(max-width:1000px){
 .advisor-grid{grid-template-columns:1fr;gap:24px}
 .advisor-profile,.advisor-profile+.advisor-profile{grid-template-columns:160px minmax(0,1fr);padding:24px;gap:28px}
 .advisor-portrait{width:160px;height:160px}
}
@media(max-width:520px){
 .advisor-profile,.advisor-profile+.advisor-profile{grid-template-columns:1fr;gap:20px;padding:24px}
 .advisor-portrait{width:144px;height:144px}
 .profile-copy h3{font-size:28px}
 .advisor-heading h2{font-size:25px}
}
@media(max-width:860px){
 .market-transition{min-height:440px;margin:24px 0 40px;padding:72px 0}
 .market-transition h2{font-size:clamp(36px,5.5vw,46px);max-width:22ch}
 .market-photo{object-position:48% center}
 .market-invitation{font-size:17px;gap:16px;padding:16px 20px;margin-top:32px}
 .advisors{padding-top:48px;padding-bottom:0}
 .questions{padding-top:64px;padding-bottom:56px}
}
@media print{
 .market-transition{display:block;min-height:0;margin:0;padding:24px 0;background:white;color:var(--midnight)}
 .market-photo,.market-transition::before{display:none}
 .market-invitation{color:var(--midnight);background:none;border-color:var(--midnight)}
 .market-transition h2{font-size:26pt}
 .advisor-profile{break-inside:avoid}
}

/* Readability refinement: stable reading sizes across desktop and mobile. */
@media screen{
 :root{--reading-size:1.125rem;--support-size:1rem;--subhead-size:1.5rem}
 body{font-size:var(--reading-size)}
 .industry-groups ul li,.record-types p,.education p,.profile-bio,
 .profile-copy>p:not([class]),.advisory-panel .advisory-questions p,
 .advisory-panel .advisory-lead>p,.knowledge-intro>p,.faq-list details>p{font-size:var(--reading-size);line-height:1.65}
 .industry-groups h2{font-size:1.375rem;line-height:1.35;margin-bottom:12px}
 .record-types h3,.education h3,.advisory-panel .advisory-questions h3{font-size:var(--subhead-size);line-height:1.3}
 .microcopy,.profile-role,a.profile-link,.form-preview,.contact-pending,
 .field-error,#form-status,.footer-inner,.footer-inner span:nth-child(2){font-size:var(--support-size);line-height:1.6}
 .field label{font-size:var(--reading-size)}
 .nav-link{font-size:1.125rem}
 .nav-cta{font-size:1rem}
 .faq-list summary{font-size:1.375rem;line-height:1.4}
 .advisor-heading h2{font-size:2rem;line-height:1.25}
 .record-types p{max-width:32ch}
 .advisory-grid .field-photo img{object-position:50% 40%}
}
@media screen and (max-width:1000px){
 .advisory-grid .field-photo .photo-frame{aspect-ratio:1.15}
 .advisory-grid .field-photo img{object-position:50% 43%}
}
@media screen and (max-width:860px){
 .hero-photo .photo-frame{aspect-ratio:1672 / 941}
}

/* One deliberate headline panel, rather than a stepped background per line. */
@media screen{
 .hero h1{width:max-content;max-width:100%;padding:32px 40px;margin-bottom:32px;background:var(--midnight);color:var(--white);line-height:1.1}
 .hero h1>span{width:auto;background:transparent;padding:0}
 .hero-photo{margin-top:128px}
}
@media screen and (min-width:861px) and (max-width:1100px){
 .hero h1{padding:28px 32px}
 .hero-photo{margin-top:112px}
}
@media screen and (max-width:860px){
 .hero h1{width:100%;margin:0;padding:32px}
 .hero h1>span{display:inline}
 .hero-photo{margin:0 0 28px}
 .hero-copy{margin:0}
}
@media screen and (max-width:520px){
 .hero h1{padding:28px 24px;font-size:clamp(34px,9.5vw,43px)}
}
