/* Caliber shared site styles (Batch E, Oct 27, 2026). Loaded last on every public page.
   1) tap targets  2) contrast  3) shared footer columns (.sf-*) for pages without the homepage footer. */

/* 1 · tap targets: at least 24 px tall/wide */
.nav-logo{min-height:44px}
a.logo{display:inline-block;padding-block:10px}
.footer-col a{min-width:24px}
.signin-rail-btn{display:inline-block;padding-block:4px}
.contact-block-value > a,.foot a.brand{display:inline-block;padding-block:4px}
:where(p,li,td,.pp-mini,.accred-text,.cal-detail-meta,.hero-foot,.foot,.footer-copy span) > a:not(nav a):not([class*="btn"]):not([class*="cta"]){padding-block:5px}
/* links inside body text are underlined so they don't rely on color alone */
:where(p,.pp-mini,.accred-text,.cal-detail-meta,.hero-foot) > a:not([class]){text-decoration:underline!important;text-decoration-color:rgba(196,154,60,.55);text-underline-offset:3px}

/* 2 · contrast (WCAG AA 4.5:1 for small text) */
.tab-soon{opacity:1!important;color:rgba(234,230,220,.72)!important;font-size:.62rem!important}
.step-bar-item{opacity:1!important}
.step-bar-item:not(.active):not(.done) .step-bar-num{color:rgba(234,230,220,.62)!important;border-color:rgba(234,230,220,.35)!important}
.step-bar-item:not(.active) .step-bar-label{color:rgba(234,230,220,.62)!important}
.step-bar-item.done .step-bar-label{color:rgba(196,154,60,.9)!important}
.past .dnum{opacity:1!important;color:rgba(234,230,220,.52)!important}
.pillar-num{opacity:.8!important}
.cta-option-icon{color:rgba(234,230,220,.8)}

/* 3 · shared footer columns (same links as the homepage footer) */
.sf-cols{max-width:1280px;margin:0 auto;padding:3rem 1.5rem 1.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2.5rem;text-align:left;font-family:'Inter',system-ui,sans-serif}
.sf-brand-name{font-family:'Libre Baskerville',Georgia,serif;font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:#F8F5EE;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.sf-brand-name span{color:#C49A3C}
.sf-brand p{font-size:.8rem;color:rgba(234,230,220,.72);line-height:1.7;margin:.6rem 0 0;max-width:300px;font-weight:300}
.sf-col h2{font-family:'Inter',system-ui,sans-serif;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#C49A3C;font-weight:700;margin:0 0 1rem;line-height:1.3}
.sf-col li{color:rgba(234,230,220,.72)}
.sf-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.sf-col a{display:inline-block;min-height:24px;min-width:24px;padding:3px 0;line-height:18px;font-size:.8rem;color:rgba(234,230,220,.72);text-decoration:none;font-weight:300}
.sf-col a:hover{color:#C49A3C}
.sf-col a:focus-visible,.sf-brand-name:focus-visible{outline:2px solid #E2B96A;outline-offset:2px}
.sf-wrap{border-top:1px solid rgba(196,154,60,.18);background:#070708}
.sf-copy{max-width:1280px;margin:0 auto;padding:1.25rem 1.5rem 2rem;border-top:1px solid rgba(196,154,60,.12);font-family:'Inter',system-ui,sans-serif;font-size:.74rem;line-height:1.7;color:rgba(234,230,220,.72);display:flex;flex-direction:column;gap:.35rem;text-align:center}
.sf-copy a{color:#C49A3C;text-decoration:none;font-weight:500;display:inline-block;padding-block:3px}
/* verify page: body is a centered column with padding, so the footer reaches the edges */
body>.sf-edge{align-self:stretch;margin:3rem -1.2rem -3rem}
/* instructors page: match its content width */
.foot>.sf-cols{max-width:var(--maxw,1280px)}
@media(max-width:900px){.sf-cols{grid-template-columns:1fr 1fr;gap:2rem 1.25rem;padding:2.5rem 1.25rem 1.25rem}.sf-brand{grid-column:1/-1}.sf-cols>*{min-width:0}}
