
/* ==========================================================
   ELLIS CLINIC MODERN DESIGN SYSTEM — Coordinated Polish v3
   Shared by: Home, OWCP, VA, FERS, Social Security
   ========================================================== */
:root{
  --ec-navy:#06172b;
  --ec-navy-2:#0a2e55;
  --ec-gold:#d7a63b;
  --ec-gold-light:#f0c967;
  --ec-paper:#f4f2ed;
  --ec-ink:#13283e;
  --ec-muted:#627080;
  --ec-border:#d8d2c6;
  --ec-radius:12px;
  --ec-shadow:0 10px 28px rgba(23,35,52,.10);
  --ec-content:1450px;
}

html{scroll-padding-top:24px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}

a,button{transition:color .16s ease,background .16s ease,border-color .16s ease,transform .16s ease,filter .16s ease,box-shadow .16s ease}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid rgba(240,201,103,.72);
  outline-offset:3px;
}

/* ---------- permanent Ellis Clinic identity ---------- */
.identity-strip{background:#020a13!important}
.identity-inner{max-width:var(--ec-content)!important}
.nav{
  min-height:88px!important;
 /*  background:var(--ec-navy)!important; */
}
.brand-lockup img,.logo img{
  height:58px!important;
  width:auto!important;
  object-fit:contain;
}
.brand-copy strong{font-size:22px!important}
.brand-copy small{font-size:12px!important}
.links{
  gap:22px!important;
}
.links a:not(.appt){
  position:relative;
  padding-top:33px;
  padding-bottom:29px;
}
.links a:not(.appt)::after{
  content:"";
  position:absolute;
  left:0; right:100%;
  bottom:19px;
  height:2px;
  background:var(--ec-gold);
  transition:right .17s ease;
}
.links a:not(.appt):hover::after,
.links a.active:not(.appt)::after{right:0}
.links a[href^="/ellisinstitute"]{color:var(--ec-gold-light)!important}
.links .appt{
  padding:12px 17px!important;
  box-shadow:0 5px 14px rgba(0,0,0,.23);
}
.links .appt:hover{transform:translateY(-1px);filter:brightness(1.05)}

/* ---------- typography & section rhythm ---------- */
.section,.content{max-width:var(--ec-content)!important}
.section-kicker,.eyebrow{
  letter-spacing:2px!important;
  font-weight:900!important;
}
.content h2,.section h2{
  letter-spacing:-.25px;
}
.intro,.lead{line-height:1.58!important}

/* ---------- cards ---------- */
.practice-card,.service-card,.resource,.resource-card,.proof-card,.step,.criterion,.item{
  border-radius:var(--ec-radius)!important;
}
.practice-card,.service-card,.resource-card{
  box-shadow:var(--ec-shadow)!important;
}
.service-card,.practice-card,.resource-card,.resource{
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.service-card:hover,.practice-card:hover,.resource-card:hover,.resource:hover{
  transform:translateY(-3px);
  box-shadow:0 15px 34px rgba(23,35,52,.15)!important;
}

/* ---------- action hierarchy ---------- */
.btn,.button,.practice-button,.gateway-enter,.big-appt,.cta a{
  border-radius:8px!important;
}
.btn.gold,.button.primary,.gateway-enter{
  box-shadow:0 6px 16px rgba(0,0,0,.20);
}
.btn.gold:hover,.button.primary:hover,.gateway-enter:hover,.big-appt:hover,.cta a:hover{
  transform:translateY(-1px);
  filter:brightness(1.045);
}

/* ---------- quick navigation ---------- */
.quicknav{
  position:relative;
  z-index:3;
}
.quick-inner{max-width:var(--ec-content)!important}
.quick-inner a:hover{transform:translateY(-1px)}

/* ---------- shared modern footer treatment ---------- */
footer,.new-footer{background:#020a13!important;color:#aebbc8!important}
.footer-inner{
  max-width:var(--ec-content)!important;
  padding-top:39px!important;
  padding-bottom:34px!important;
}
.footer-inner strong{color:#e7bd58!important}
.footer-inner a{color:#bdc7d1}
.footer-inner a:hover{color:var(--ec-gold-light)}
.footer-brand b{color:#fff!important}
.footer-brand span{color:var(--ec-gold-light)!important}
.footer-bottom{
  max-width:var(--ec-content)!important;
  color:#8797a7!important;
}

/* Homepage footer uses slightly different markup; normalize it. */
.new-footer .footer-inner{
  display:grid!important;
  grid-template-columns:1.4fr repeat(3,1fr)!important;
  gap:38px!important;
  align-items:start!important;
}
.new-footer .footer-inner>div{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.new-footer .footer-bottom{
  border-top:1px solid #23384d;
  padding:14px 28px!important;
  font-size:10px!important;
}

/* ---------- accessibility / touch comfort ---------- */
@media (pointer:coarse){
  .quick-inner a,.topic-list a,.resource a{min-height:42px}
}

/* ---------- mobile navigation ---------- */
@media(max-width:1000px){
  .nav{position:relative!important;padding:12px 18px!important;min-height:82px!important}
  .menu-toggle{
    display:block!important;
    margin-left:auto!important;
    cursor:pointer;
  }
  .links{
    display:none!important;
    position:absolute!important;
    z-index:100!important;
    top:76px!important;
    left:18px!important;
    right:18px!important;
    background:#06172b!important;
    border:1px solid #9d762d!important;
    border-radius:10px!important;
    padding:8px 17px 15px!important;
    box-shadow:0 17px 38px rgba(0,0,0,.43)!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }
  .links.open{display:flex!important}
  .links a,.links a:not(.appt){
    padding:13px 5px!important;
    border-bottom:1px solid #243c55!important;
  }
  .links a::after{display:none!important}
  .links .appt{
    margin-top:8px!important;
    text-align:center!important;
    border-bottom:0!important;
  }
  .new-footer .footer-inner,.footer-inner{grid-template-columns:1fr 1fr!important}
}

@media(max-width:650px){
  .identity-inner{padding-left:18px!important;padding-right:18px!important}
  .brand-copy strong{font-size:19px!important}
  .brand-copy small{font-size:11px!important}
  .new-footer .footer-inner,.footer-inner{grid-template-columns:1fr!important}
  .footer-bottom{padding-left:18px!important;padding-right:18px!important}
}

/* V26 REVIEW MASTER INTEGRATION */
.owcp-system-nav{background:#06172b;border-top:1px solid #334e66;border-bottom:3px solid #b17d20}
.owcp-system-nav .osn-inner{max-width:1450px;margin:auto;padding:9px 28px;display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.owcp-system-nav .osn-label{color:#f0c967;font-size:9px;font-weight:900;letter-spacing:1.2px;margin-right:5px}
.owcp-system-nav a{color:#dce6ee;text-decoration:none;font-size:10px;font-weight:800;padding:6px 9px;border:1px solid #405c73;border-radius:999px}
.owcp-system-nav a:hover,.owcp-system-nav a.active{background:#f0c967;color:#071d35;border-color:#f0c967}
.v26-next{max-width:1450px;margin:0 auto 32px;padding:0 28px}
.v26-next-inner{background:#f7f3eb;border:1px solid #d9d2c7;border-left:5px solid #b17d20;border-radius:11px;padding:18px 20px}
.v26-next strong{color:#092a4b}.v26-next a{font-weight:900;color:#8b5d12;text-decoration:none;margin-right:16px}
@media(max-width:650px){.owcp-system-nav .osn-inner{padding:9px 16px}.owcp-system-nav a{font-size:9px}.v26-next{padding:0 16px}}
