/*
 * ODIN LAB HOME V3.2 – accessibility and visual fidelity layer
 * Loaded AFTER legacy contrast-aa.css on the home page only.
 * No page, archive or single-post styles are changed.
 */
body.odin-home-v32 {
  --ol32-navy:#0a2548;
  --ol32-ink:#143352;
  --ol32-muted:#415e79;
  --ol32-blue:#155fa8;
  --ol32-gold-ink:#916014;
  --ol32-light:#eff8ff;
}
/* Explicitly isolate light-home typography from legacy global dark-mode repairs. */
body.odin-home-v32 #main.ol31,
body.odin-home-v32 #main.ol31 p,
body.odin-home-v32 #main.ol31 small,
body.odin-home-v32 #main.ol31 span {color:inherit;}
body.odin-home-v32 #main.ol31 :is(h1,h2,h3,h4,h5,h6),
body.odin-home-v32 #main.ol31 :is(h1,h2,h3,h4,h5,h6) a {
  color:var(--ol32-navy);
}
body.odin-home-v32 #main.ol31 a {color:inherit;}
body.odin-home-v32 #main.ol31 :is(a,button):focus-visible{
  outline:3px solid #076c9b;
  outline-offset:3px;
  box-shadow:0 0 0 5px #ffffff;
}
body.odin-home-v32 #main.ol31 .ol31-btn-gold,
body.odin-home-v32 #main.ol31 .ol31-btn-gold:is(:hover,:focus-visible){
  color:#092b4d;
  background:#f7c75e;
  font-size:16px;
  font-weight:750;
  min-height:48px;
}
body.odin-home-v32 #main.ol31 .ol31-btn-gold:hover{background:#efbb49}
body.odin-home-v32 #main.ol31 .ol31-btn-line{
  color:#102f54;
  font-size:16px;
  min-height:48px;
  border:1.6px solid #225681;
}
body.odin-home-v32 #main.ol31 .ol31-btn-line:hover{color:#0a2548;background:#dceeff}
/* Homepage header only: navy text on white regardless of global dark-mode CSS. */
body.odin-home-v32.odin-ui-v1 .odin-header,
body.odin-home-v32 .odin-header{background:#ffffff;border-bottom:1px solid #dce8f1}
body.odin-home-v32 .odin-header .wordmark,
body.odin-home-v32 .odin-header .wordmark span,
body.odin-home-v32 .odin-header .brand-name,
body.odin-home-v32 .odin-header .brand-name span{color:#0b2a51}
body.odin-home-v32 .odin-header .desktop-nav .odin-menu-link,
body.odin-home-v32.odin-ui-v1 .odin-header .desktop-nav .odin-menu-link{
  color:#153555;
  font-size:15.5px;
  font-weight:700;
  background:transparent;
  text-decoration:none;
}
body.odin-home-v32 .odin-header .desktop-nav .odin-menu-link:hover,
body.odin-home-v32.odin-ui-v1 .odin-header .desktop-nav .odin-menu-link:hover{
  color:#094c81;
  background:#ebf5fc;
}
body.odin-home-v32 .odin-header .desktop-nav .odin-menu-link.is-current,
body.odin-home-v32.odin-ui-v1 .odin-header .desktop-nav .odin-menu-link.is-current{
  color:#073e70;
  background:#eaf4fc;
  box-shadow:inset 0 -3px #d1a449;
}
body.odin-home-v32 .odin-header .button.small,
body.odin-home-v32 .odin-header .button.small:is(:hover,:focus-visible){
  color:#102b4e;background:#f5c45d;font-size:14px;font-weight:750;
}
body.odin-home-v32 .odin-header .mobile-nav summary{
  font-size:15px;color:#102f56;min-height:44px;
}
body.odin-home-v32 .odin-header .mobile-nav .odin-menu-link,
body.odin-home-v32 .odin-header .mobile-nav .odin-menu-link:is(:hover,:focus-visible,.is-current){
  color:#133c61;
  font-size:16px;
  min-height:48px;
}
body.odin-home-v32 .odin-header .mobile-nav .odin-menu-link:is(:hover,.is-current){
  background:#e6f4fe;
}
body.odin-home-v32 .odin-header .mobile-nav .odin-menu-panel{
  background:#fff;border-color:#bfd7e9;box-shadow:0 18px 40px #102d4d29;
}
body.odin-home-v32 .odin-header :is(a,summary):focus-visible{
  outline:3px solid #0a729f;
  outline-offset:3px;
  box-shadow:0 0 0 5px #fff;
}
/* Hero typography and high fidelity bank / AI artwork. */
body.odin-home-v32 #main.ol31 .ol31-hero {
  padding-top:58px;
  background:linear-gradient(117deg,#ffffff 3%,#eff9ff 50%,#c4e6f9 100%);
}
body.odin-home-v32 #main.ol31 .ol31-kicker{
  color:#0b5d91;font-size:13px;letter-spacing:.026em;line-height:1.6;font-weight:750;
}
body.odin-home-v32 #main.ol31 .ol31-kicker span{color:#916014}
body.odin-home-v32 #main.ol31 h1{
  font-size:clamp(39px,3.7vw,60px);
  line-height:1.13;
  font-weight:820;
  letter-spacing:-.045em;
}
body.odin-home-v32 #main.ol31 h1 em{color:var(--ol32-gold-ink);}
body.odin-home-v32 #main.ol31 .ol31-hero-lead{
  color:#31516f;
  font-size:17px;
  line-height:1.7;
  max-width:660px;
}
body.odin-home-v32 #main.ol31 .ol31-mini-proof{
  color:#315774;font-size:14px;line-height:1.55;
}
body.odin-home-v32 #main.ol31 .ol31-hero-visual{height:440px;overflow:visible}
body.odin-home-v32 #main.ol31 .ol31-hero-photo{
  border-radius:18px;
  background:#e0f4fc;
  clip-path:none;
  inset:0 0 10px 0;
  overflow:hidden;
  box-shadow:0 16px 38px #1b64852c;
}
body.odin-home-v32 #main.ol31 .ol32-banking-art {
  display:block;
  width:100%;
  height:100%;
  background:#bbdff1;
}
body.odin-home-v32 #main.ol31 .ol31-photo-shine{display:none;}
body.odin-home-v32 #main.ol31 .ol31-hero-visual::after{display:none;}
/* Existing floating widgets duplicated the new illustration and had 9px type. */
body.odin-home-v32 #main.ol31 .ol31-floating {display:none;}
body.odin-home-v32 #main.ol31 .ol31-visual-note{
  display:block;font-size:12px;color:#215b7e;bottom:16px;right:16px;
  padding:4px 8px;border-radius:5px;background:#ffffffdd;
}
/* Navigation: readable 15px primary / 13px supporting text */
body.odin-home-v32 #main.ol31 .ol31-pillar-nav {
  background:#fff;
  box-shadow:0 12px 28px #173d611a;
  margin-top:0;
}
body.odin-home-v32 #main.ol31 .ol31-pillar-nav a{
  color:#12365b;min-height:76px;padding:16px 17px;
}
body.odin-home-v32 #main.ol31 .ol31-pillar-nav a:hover{
  color:#0b517f;background:#e9f5fd;
}
body.odin-home-v32 #main.ol31 .ol31-pillar-nav strong{
  color:#0c2b50;font-size:15px;line-height:1.3;font-weight:780;
}
body.odin-home-v32 #main.ol31 .ol31-pillar-nav small{
  color:#476583;font-size:13px;line-height:1.4;margin-top:4px;
}
body.odin-home-v32 #main.ol31 .ol31-pillar-nav .ol31-icon{color:#145d91;width:27px;height:27px}
/* Cards and editorial hierarchy */
body.odin-home-v32 #main.ol31 .ol31-section{padding-top:67px;padding-bottom:67px}
body.odin-home-v32 #main.ol31 .ol31-discover{padding-top:85px}
body.odin-home-v32 #main.ol31 .ol31-eyebrow{color:#075e8b;font-size:12px}
body.odin-home-v32 #main.ol31 h2{font-size:clamp(31px,2.8vw,39px);line-height:1.28}
body.odin-home-v32 #main.ol31 .ol31-titleblock p:last-child{color:#456581;font-size:16px;line-height:1.65}
body.odin-home-v32 #main.ol31 .ol31-explore-card{
  color:#0b3058;padding:23px;
  border-color:#d9e5ef;box-shadow:0 8px 24px #103e6211;
  min-height:260px;
}
body.odin-home-v32 #main.ol31 .ol31-explore-card:hover{
  color:#0b3058;border-color:#9ac0d8;box-shadow:0 16px 34px #123c6127;
}
body.odin-home-v32 #main.ol31 .ol31-explore-card>strong{
  color:#0a2548;font-size:21px;line-height:1.33;
}
body.odin-home-v32 #main.ol31 .ol31-explore-desc{
  color:#405c78;font-size:15px;line-height:1.65;margin-top:9px;
}
body.odin-home-v32 #main.ol31 .ol31-card-link{
  color:#115b99;font-size:15px;font-weight:730;line-height:1.45;
}
body.odin-home-v32 #main.ol31 .ol31-explore-icon{
  width:55px;height:55px;margin-bottom:15px;
}
body.odin-home-v32 #main.ol31 .ol31-explore-icon .ol31-icon{width:28px;height:28px;color:#fff}
body.odin-home-v32 #main.ol31 .ol31-text-link{
  color:#0b5c9f;font-size:15px;font-weight:750;min-height:44px;
}
body.odin-home-v32 #main.ol31 .ol31-article-tag{
  color:#145891;font-size:12px;font-weight:800;line-height:1.4;
}
body.odin-home-v32 #main.ol31 .ol31-article-content h3,
body.odin-home-v32 #main.ol31 .ol31-article-content h3 a{
  color:#0b284b;font-size:20px;line-height:1.45;font-weight:750;
}
body.odin-home-v32 #main.ol31 .ol31-article-content h3 a:hover{color:#006c9c;}
body.odin-home-v32 #main.ol31 .ol31-article-content p{
  color:#435f7a;font-size:15px;line-height:1.65;
}
body.odin-home-v32 #main.ol31 .ol31-article-more{
  color:#0b5e9b;font-size:15px;min-height:42px;
}
body.odin-home-v32 #main.ol31 .ol31-article-image{height:200px}
body.odin-home-v32 #main.ol31 .ol31-article-image img{object-fit:cover}
/* Application image: bank operations / AI governance rather than stock dashboard. */
body.odin-home-v32 #main.ol31 .ol31-application{
  background:linear-gradient(110deg,#e8f5fc,#f7fcff 47%,#d9edfa);
}
body.odin-home-v32 #main.ol31 .ol31-application-copy>p:not(.ol31-eyebrow){
  color:#385977;font-size:16px;
}
body.odin-home-v32 #main.ol31 .ol31-application-visual{
  border:1px solid #98c1da;
  min-height:305px;
  background:#0b426c;
}
body.odin-home-v32 #main.ol31 .ol32-ops-art{
  display:block;width:100%;height:100%;position:absolute;inset:0;
}
body.odin-home-v32 #main.ol31 .ol31-offer-grid a{
  color:#17446e;font-size:14px;min-height:72px;
}
body.odin-home-v32 #main.ol31 .ol31-application-mark{
  font-size:14px;background:#052d51ba;border-radius:8px;padding:6px 10px;
  bottom:12px;left:12px;
}
body.odin-home-v32 #main.ol31 .ol31-path{
  color:#153a60;min-height:106px;
}
body.odin-home-v32 #main.ol31 .ol31-path strong{color:#0c3054;font-size:17px}
body.odin-home-v32 #main.ol31 .ol31-path small{color:#46627b;font-size:14px;line-height:1.55}
/* The last CTA is intentionally dark and must remain white on navy. */
body.odin-home-v32 #main.ol31 .ol31-last-cta{background:linear-gradient(110deg,#0a3154,#0b496e)}
body.odin-home-v32 #main.ol31 .ol31-last-cta h2{color:#fff}
body.odin-home-v32 #main.ol31 .ol31-last-cta p:not(.ol31-eyebrow){
  color:#edf5fc;font-size:16px;line-height:1.65;
}
body.odin-home-v32 #main.ol31 .ol31-last-cta .ol31-eyebrow{color:#9eece1}
/* Responsive refinements: avoid unreadable 4-column 9px navigation. */
@media(max-width:1150px){
  body.odin-home-v32 .odin-header .desktop-nav .odin-menu-link,
  body.odin-home-v32.odin-ui-v1 .odin-header .desktop-nav .odin-menu-link{
    font-size:14px;
  }
  body.odin-home-v32 #main.ol31 .ol31-hero-grid{gap:18px}
  body.odin-home-v32 #main.ol31 h1{font-size:clamp(38px,4vw,50px)}
  body.odin-home-v32 #main.ol31 .ol31-card-grid{gap:14px}
}
@media(max-width:860px){
  body.odin-home-v32 #main.ol31 .ol31-hero{padding-top:36px}
  body.odin-home-v32 #main.ol31 .ol31-hero-visual{
    height:345px;
    margin:0;width:100%;
  }
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    margin-bottom:0;
  }
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav a:nth-child(2){
    border-right:0;
  }
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav a:nth-child(-n+2){
    border-bottom:1px solid #e0ebf3;
  }
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav a{
    justify-content:flex-start;min-height:76px;gap:12px;
  }
  body.odin-home-v32 #main.ol31 .ol31-article-image{height:100%;min-height:220px}
}
@media(max-width:620px){
  body.odin-home-v32 .odin-header .brand-logo{width:35px;height:35px;flex-basis:35px}
  body.odin-home-v32 .odin-header .wordmark{font-size:18px}
  body.odin-home-v32 #main.ol31 .ol31-container{width:calc(100% - 32px)}
  body.odin-home-v32 #main.ol31 .ol31-hero{padding-top:29px}
  body.odin-home-v32 #main.ol31 .ol31-kicker{font-size:12px;line-height:1.6}
  body.odin-home-v32 #main.ol31 h1{font-size:clamp(32px,8vw,42px);line-height:1.18}
  body.odin-home-v32 #main.ol31 .ol31-hero-lead{font-size:16px;line-height:1.7}
  body.odin-home-v32 #main.ol31 .ol31-hero-actions{gap:9px}
  body.odin-home-v32 #main.ol31 .ol31-hero-actions .ol31-btn{
    min-height:47px;font-size:14px;min-width:0;
  }
  body.odin-home-v32 #main.ol31 .ol31-mini-proof{
    font-size:13px;margin-top:4px;
  }
  body.odin-home-v32 #main.ol31 .ol31-hero-visual{
    height:244px;
  }
  body.odin-home-v32 #main.ol31 .ol31-hero-photo{inset:0 0 12px 0}
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav a{
    flex-direction:row;text-align:left;
    min-height:77px;padding:12px 14px;gap:10px;
  }
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav .ol31-icon{
    width:24px;height:24px;
  }
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav strong{font-size:14px}
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav small{font-size:12px}
  body.odin-home-v32 #main.ol31 .ol31-section{padding-top:49px;padding-bottom:49px}
  body.odin-home-v32 #main.ol31 .ol31-discover{padding-top:60px}
  body.odin-home-v32 #main.ol31 h2{font-size:29px}
  body.odin-home-v32 #main.ol31 .ol31-titleblock p:last-child{font-size:15px}
  body.odin-home-v32 #main.ol31 .ol31-card-grid{grid-template-columns:1fr}
  body.odin-home-v32 #main.ol31 .ol31-explore-card{
    min-height:123px;padding:17px 16px 15px 80px;
  }
  body.odin-home-v32 #main.ol31 .ol31-explore-icon{
    position:absolute;top:19px;left:16px;width:49px;height:49px;
  }
  body.odin-home-v32 #main.ol31 .ol31-explore-icon .ol31-icon{width:26px;height:26px}
  body.odin-home-v32 #main.ol31 .ol31-explore-card>strong{font-size:18px}
  body.odin-home-v32 #main.ol31 .ol31-explore-desc{font-size:14px;margin:5px 0 9px}
  body.odin-home-v32 #main.ol31 .ol31-card-link{font-size:14px}
  body.odin-home-v32 #main.ol31 .ol31-article-card{display:flex}
  body.odin-home-v32 #main.ol31 .ol31-article-image{
    height:180px;min-height:0;
  }
  body.odin-home-v32 #main.ol31 .ol31-article-content h3,
  body.odin-home-v32 #main.ol31 .ol31-article-content h3 a{font-size:19px}
  body.odin-home-v32 #main.ol31 .ol31-article-content p{font-size:15px}
  body.odin-home-v32 #main.ol31 .ol31-text-link{font-size:14px}
  body.odin-home-v32 #main.ol31 .ol31-application-visual{min-height:230px}
  body.odin-home-v32 #main.ol31 .ol31-offer-grid a{
    font-size:13px;min-height:72px;
  }
  body.odin-home-v32 #main.ol31 .ol31-path strong{font-size:16px}
  body.odin-home-v32 #main.ol31 .ol31-path small{font-size:13px}
  body.odin-home-v32 #main.ol31 .ol31-last-cta h2{font-size:25px}
  body.odin-home-v32 #main.ol31 .ol31-last-cta .ol31-btn{width:100%}
}
@media(max-width:360px){
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav a{padding:10px;gap:7px}
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav small{font-size:12px;display:block}
  body.odin-home-v32 #main.ol31 .ol31-pillar-nav strong{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  body.odin-home-v32 #main.ol31 *{transition:none!important;scroll-behavior:auto!important}
}
