/* Shared navigation: full desktop row, compact mobile disclosure. */
:root{--header-offset:108px}
html{scroll-padding-top:calc(var(--header-offset) + 20px)}
.site-header{position:sticky;top:0;z-index:25;background:#091f30;color:#f3f0e6;border-bottom:1px solid #bca56766;box-shadow:0 3px 18px #06152020}
.site-header .nav-row{min-height:100px;gap:24px;padding-top:8px;padding-bottom:8px;flex-direction:row;align-items:center}
.site-header .header-logo,.site-header .header-logo img{width:100px;max-width:100px}
.site-header .header-logo small{font-size:9px;letter-spacing:3px;margin-top:2px}
.site-header nav{gap:18px;font-size:14px;flex-wrap:nowrap}
.site-header nav a{white-space:nowrap}
.site-header .site-map-link{display:none}
.site-header .nav-contact{padding:9px 13px;background:#d8c998;color:#091f30;border-color:#d8c998}
.site-header .institutional-brand,.site-header .institutional-brand img{width:96px!important;height:96px!important;max-width:96px!important;min-width:96px!important}
.site-header .header-brand{flex:0 0 auto}
.site-header .institutional-brand{position:relative;display:block;flex:none;aspect-ratio:1 / 1;border-radius:50%;overflow:hidden;isolation:isolate;line-height:0}
.site-header .institutional-brand img{display:block;object-fit:contain;aspect-ratio:1 / 1;border-radius:50%;flex:none}
.site-header .institutional-brand::after{content:"";display:block;position:absolute;inset:0;border-radius:50%;pointer-events:none;background:linear-gradient(110deg,transparent 35%,rgba(255,233,168,0) 42%,rgba(255,241,198,.22) 50%,rgba(255,233,168,0) 58%,transparent 65%);background-size:300% 100%;animation:impacto-avatar-shine 3.8s ease-in-out infinite}
@keyframes impacto-avatar-shine{0%{background-position:150% 0;opacity:0}9.474%{opacity:1}47.368%{background-position:-50% 0;opacity:0}100%{background-position:-50% 0;opacity:0}}
@media(prefers-reduced-motion:reduce){.site-header .institutional-brand::after{animation:none;opacity:0}}
.mobile-consult,.nav-toggle{display:none}
.skip-link{z-index:40}
/* Explicit contrast on navy weekly features, including inherited base styles. */
.weekly-series.weekly-teaser h2,.week-cover h1,.week-cover h1 em,.week-cover h2,.week-cover h2 em{color:#e3c581}
.weekly-series.weekly-teaser p,.week-cover-copy p{color:#f2f5f7}
.weekly-series.weekly-teaser a,.weekly-series.weekly-teaser a:visited{color:#f0dca9}
.week-cover-copy .week-action{color:#091f30;background:#e3c581}
.priority-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.priority-card,.hero-layout>*{min-width:0}
@media(min-width:621px) and (max-width:900px){.priority-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1000px){
 :root{--header-offset:94px}
 .site-header .nav-row{min-height:76px;padding:7px 20px;gap:12px;flex-wrap:wrap}
 .site-header .header-brand{margin-right:auto;align-self:center}
 .site-header .header-logo,.site-header .header-logo img{width:74px;max-width:74px}
 .site-header .header-logo small{font-size:8px;letter-spacing:2px;margin-top:0}
 .site-header .institutional-brand,.site-header .institutional-brand img{width:76px!important;height:76px!important;max-width:76px!important;min-width:76px!important}
 .mobile-consult{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 13px;background:#d8c998;color:#091f30;text-decoration:none;font-size:13px;border-radius:3px}
 .nav-toggle{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid #d6c99f88;background:transparent;color:#f3f0e6;border-radius:3px;font-size:13px}
 .menu-glyph{font-size:21px;line-height:1}
 .site-header nav{width:100%;flex-basis:100%;display:flex;align-items:stretch;gap:0;flex-direction:column;max-height:calc(100dvh - 90px);overflow-y:auto;border-top:1px solid #e7e5de;padding:8px 0}
 .site-header.nav-ready nav:not(.is-open){display:none}
 .site-header nav a{display:flex;align-items:center;min-height:48px;padding:11px 12px;font-size:15px;white-space:normal;border:0;border-bottom:1px solid #edf0f1}
 .site-header nav .nav-contact{background:#f2efe5;color:#102e4b;border:0}
 .site-header nav .site-map-link{display:flex;font-size:13px;color:#c7d0d7}
}
@media(max-width:620px){
 .wrap{padding-left:18px;padding-right:18px}
 .home-hero{padding:26px 0 30px}
 .home-hero h1{font-size:32px;line-height:1.16;letter-spacing:-.6px;margin-bottom:16px}
 .home-hero p,.intro-copy{font-size:16px;line-height:1.6}
 .home-hero .eyebrow{font-size:10px;letter-spacing:1.2px}
 .home-hero .hero-note{font-size:12px;margin-top:18px}
 .hero-layout{gap:22px}
 .hero-layout .hero-duo img{height:122px}
 .actions{gap:16px;margin-top:20px}
 .actions>a:not(.button){font-size:14px}
 .button{padding:11px 16px;min-height:44px}
 .priority-grid{grid-template-columns:minmax(0,1fr);gap:12px}
 .priority-card{padding:18px}
 .priority-card .practice-heading{gap:12px;margin-bottom:12px;min-height:52px}
 .priority-card .practice-heading img{width:52px;height:52px;flex-basis:52px}
 .priority-card .practice-heading h2{font-size:20px;line-height:1.25}
 .priority-card p{font-size:15px;line-height:1.55;margin-bottom:14px}
 .priority-card>span{font-size:13px}
 .section,.priority-section{padding-top:28px;padding-bottom:28px}
 .section h2,.business-section .section-head h2{font-size:26px}
 .page-intro h1{font-size:30px}
 .weekly-teaser h2,.week-cover h1{font-size:32px}
 .weekly-teaser>div{padding:22px}
 .compact-cta h2{font-size:26px}
}

/* Reading links: clear visited state, stored only by the browser. */
.reading a:not(.button):not(.daily-image),.library-read,.week-continuation a{ text-decoration:underline; text-underline-offset:4px }
.reading a:not(.button):not(.daily-image):visited,.library-entry a:visited,.week-continuation a:visited,.week-story:visited{color:#806025}
.reading .daily-nav a:visited{color:#f5df9e;background-color:#284353}
.reading .daily-nav a:visited strong,.reading .daily-nav a:visited span{color:#f5df9e}
.reading .daily-image:visited span{color:#806025}
.reading .weekly-intro a:visited,.weekly-series a:visited,.week-cover-copy a:not(.week-action):visited{color:#f5df9e}
/* More presence for the official avatar on desktop; mobile size retained. */
@media(min-width:1001px){
:root{--header-offset:126px}
.site-header .institutional-brand,.site-header .institutional-brand img{width:112px!important;height:112px!important;min-width:112px!important;max-width:112px!important}
.site-header .nav-row{padding-top:6px;padding-bottom:6px}
}

/* Approved option 2: original blue avatar with a separate readable wordmark. */
.header-wordmark{display:none}
@media(min-width:1001px){
:root{--header-offset:107px}
.site-header .header-brand{display:flex;flex-direction:row;align-items:center;gap:19px}
.site-header .institutional-brand,.site-header .institutional-brand img{width:88px!important;height:88px!important;min-width:88px!important;max-width:88px!important}
.site-header .nav-row{padding-top:9px;padding-bottom:9px;gap:24px}
.site-header .header-wordmark{display:block;text-decoration:none;color:#e9d6a0;white-space:nowrap;font-family:Futura,Arial,sans-serif;line-height:1.16}
.header-wordmark-name{display:block;font-size:27px;letter-spacing:1.1px}
.header-wordmark-name sup{font:11px Arial;vertical-align:top;position:relative;top:-5px;margin-left:1px}
.header-wordmark-profession{display:block;font:12px/1.4 Arial,sans-serif;letter-spacing:5px;color:#f4e6c3;margin-top:5px}
}
@media(min-width:1001px) and (max-width:1200px){.header-wordmark-name{font-size:23px}.site-header .header-brand{gap:12px}.site-header nav{gap:12px;font-size:13px}.site-header .nav-row{gap:16px}}
