
/* =====================================================================
   JITA BUILD 160 — PUBLIC LAYOUT + THEME NORMALIZATION AUTHORITY
   Applies only to:
      /index.html
      /william-s-davis/index.html

   Architecture:
   - Original structural component CSS remains in each page.
   - Historical build-specific cosmetic override blocks are removed.
   - This file is the single final presentation authority for these pages.

   Approved visual doctrine:
   LIGHT/GRAY SURFACE -> BLACK TEXT
   DARK NAVY SURFACE -> WHITE/LIGHT TEXT
   NAVY + WHITE = PRIMARY BRAND FAMILY
   ===================================================================== */

:root{
  --j160-navy:#082F49;
  --j160-navy2:#0A3655;
  --j160-navy3:#174E7A;
  --j160-blue:#174E7A;
  --j160-page:#D7DEE2;
  --j160-page-alt:#CBD5DA;
  --j160-card:#EEF2F4;
  --j160-card2:#E5EBEE;
  --j160-border:#A7B5BE;
  --j160-white:#FFFFFF;
  --j160-on-dark:#EAF0F3;
  --j160-black:#000000;
  --j160-orange:#C75B0B;
  --j160-success:#176B45;
}

/* ---------- HARD LAYOUT NORMALIZATION ---------- */
html{
  font-size:16px !important;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
html,body{
  width:100%;
  min-width:0;
  margin:0;
  background:var(--j160-page)!important;
  color:var(--j160-black)!important;
}
body{
  font-size:16px !important;
  line-height:1.5;
}
.wrap{
  width:min(1180px, calc(100% - 48px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
main{
  width:100%;
  background:var(--j160-page)!important;
}
section{
  width:100%;
  padding-top:64px;
  padding-bottom:64px;
}
section.alt{
  background:var(--j160-page-alt)!important;
}
.hero{
  background:var(--j160-page)!important;
  background-image:none!important;
}

/* William page intentionally uses a slightly narrower reading measure. */
body:has(.williamSubnav) .wrap{
  width:min(1120px, calc(100% - 48px)) !important;
  max-width:1120px !important;
}

/* ---------- HEADER ---------- */
header{
  min-height:72px!important;
  height:auto!important;
  display:flex!important;
  align-items:center!important;
  background:var(--j160-navy)!important;
  background-image:none!important;
  color:#FFF!important;
  border-bottom:1px solid #315B70!important;
}
header .nav{
  width:100%!important;
  min-height:72px!important;
}
header .brand,
header .brand b,
header .brand strong,
header .brand small,
header .brand span{
  color:#FFF!important;
  opacity:1!important;
}
header .mark{
  background:var(--j160-blue)!important;
  background-image:none!important;
  color:#FFF!important;
}
header .links{
  color:#FFF!important;
}
header .links a{
  color:#FFF!important;
  background:transparent!important;
}
header .links a:hover,
header .links a:focus-visible{
  color:#FFF!important;
  background:var(--j160-navy3)!important;
}

/* ---------- WILLIAM CONTEXT NAV ---------- */
.williamSubnav{
  background:var(--j160-navy2)!important;
  border-color:#315B70!important;
}
.williamSubnav a{
  color:#FFF!important;
  background:transparent!important;
}
.williamSubnav a:hover,
.williamSubnav a:focus-visible{
  background:var(--j160-navy3)!important;
  color:#FFF!important;
}

/* ---------- UNCONTAINED CONTENT ---------- */
main h1,main h2,main h3,main h4,main h5,main h6,
section:not(.closing) h1,
section:not(.closing) h2,
section:not(.closing) h3,
section:not(.closing) h4,
.sectionHead h1,.sectionHead h2,.sectionHead h3,
main p, main li, main dd, main dt,
.sectionHead p,.lede,.longform p{
  color:#000!important;
  opacity:1!important;
}
.eyebrow{
  opacity:1!important;
}
section:not(.closing) > .wrap > .eyebrow,
.sectionHead > .eyebrow,
.hero .eyebrow{
  color:var(--j160-blue)!important;
}

/* ---------- LIGHT SURFACES ---------- */
.card,
.perspective,
.aboutGrid article,
.thinkingGrid > div,
.decisionContrast > div,
.credentialGroup,
.principle,
.signal,
.signalGrid > div,
.compare > div,
.discipline > div,
.insight,
.platform,
.course,
.founderThinking,
.crosswalk,
.tocLinks a{
  background:var(--j160-card)!important;
  background-image:none!important;
  border-color:var(--j160-border)!important;
  color:#000!important;
}
:is(.card,.perspective,.aboutGrid article,.thinkingGrid>div,.decisionContrast>div,
.credentialGroup,.principle,.signal,.signalGrid>div,.compare>div,.discipline>div,
.insight,.platform,.course,.founderThinking,.crosswalk,.tocLinks a)
:is(h1,h2,h3,h4,h5,h6,b,strong,p,li,span,small,dd,dt){
  color:#000!important;
  opacity:1!important;
}

/* ---------- DARK SURFACES ---------- */
.heroCard,
.founderStat,
.identity,
.theory,
.quote,
.premiumStandard,
.valueTranslation,
.method > div,
.method article,
.model > div,
.manifesto article,
section.closing,
footer{
  background:var(--j160-navy2)!important;
  background-image:none!important;
  border-color:#315B70!important;
  color:#FFF!important;
}
:is(.heroCard,.founderStat,.identity,.theory,.quote,.premiumStandard,.valueTranslation,
.method>div,.method article,.model>div,.manifesto article,section.closing,footer)
:is(h1,h2,h3,h4,h5,h6,b,strong,.eyebrow){
  color:#FFF!important;
  opacity:1!important;
}
:is(.heroCard,.founderStat,.identity,.theory,.quote,.premiumStandard,.valueTranslation,
.method>div,.method article,.model>div,.manifesto article,section.closing,footer)
:is(p,li,span,small,dd,dt){
  color:var(--j160-on-dark)!important;
  opacity:1!important;
}

/* Dark diagnostic lines */
.theory .test,
.valueTranslation .test{
  color:#FFF!important;
  border-color:#527184!important;
}

/* Nested LIGHT cards inside dark parents remain light. */
.valueTranslation .decisionContrast > div{
  background:var(--j160-card)!important;
  border-color:var(--j160-border)!important;
}
.valueTranslation .decisionContrast > div *{
  color:#000!important;
}

/* ---------- BUTTONS ---------- */
.btn,
a.btn,
button{
  font-size:.9rem;
}
.btn.dark,.btn.navy,.btn.teal,.btn.primary,
a.btn.dark,a.btn.navy,a.btn.teal,a.btn.primary{
  background:var(--j160-blue)!important;
  background-image:none!important;
  border-color:#315F8A!important;
  color:#FFF!important;
}
.btn:not(.dark):not(.navy):not(.teal):not(.primary){
  background:#2B6591!important;
  background-image:none!important;
  color:#FFF!important;
  border-color:#2B6591!important;
}
.btn:not(.dark):not(.navy):not(.teal):not(.primary):hover,
.btn:not(.dark):not(.navy):not(.teal):not(.primary):focus-visible{
  background:#174E7A!important;
  color:#FFF!important;
  border-color:#174E7A!important;
}

/* ---------- HOME-SPECIFIC DARK VALUE STEPS ---------- */
.valueSteps > div{
  background:var(--j160-navy3)!important;
  border-color:#4B7084!important;
}
.valueSteps > div *{
  color:#FFF!important;
}

/* ---------- TABLES ---------- */
.crosswalk table{
  background:var(--j160-card)!important;
  color:#000!important;
}
.crosswalk th{
  background:var(--j160-card2)!important;
  color:#000!important;
}
.crosswalk td{
  color:#000!important;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width:950px){
  .wrap,
  body:has(.williamSubnav) .wrap{
    width:min(100% - 32px, 1120px)!important;
  }
}
@media (max-width:650px){
  html{font-size:16px!important}
  .wrap,
  body:has(.williamSubnav) .wrap{
    width:calc(100% - 28px)!important;
  }
  section{padding-top:48px;padding-bottom:48px}
}

/* ---------- ACCESSIBILITY ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid #000!important;
  outline-offset:3px!important;
}
header a:focus-visible,
.williamSubnav a:focus-visible,
section.closing a:focus-visible,
footer a:focus-visible{
  outline-color:#FFF!important;
}


/* BUILD 161 — COMMERCIAL FRONT DOOR */
.featuredGuideGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}
.featuredGuide{
  background:var(--j160-card)!important;
  border:1px solid var(--j160-border)!important;
  border-radius:14px;
  padding:24px;
  color:#000!important;
}
.featuredGuide .eyebrow{color:var(--j160-blue)!important}
.featuredGuide h3,.featuredGuide p,.featuredGuide span,.featuredGuide strong{color:#000!important}
.featuredPrice{
  margin:20px 0 16px;
  font-size:1.65rem;
  font-weight:800;
  color:#000!important;
}
.featuredPrice span{
  font-size:.82rem;
  font-weight:600;
}
.featuredActions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.featuredPromise{
  margin-top:20px;
  padding:16px 18px;
  background:var(--j160-navy2)!important;
  border:1px solid #315B70;
  border-radius:12px;
}
.featuredPromise strong,.featuredPromise span{
  color:#FFF!important;
}
.featuredPromise span{margin-left:8px;color:var(--j160-on-dark)!important}
@media(max-width:900px){
  .featuredGuideGrid{grid-template-columns:1fr}
}
