/*
 * Styles carried over from the design prototypes, unchanged.
 *
 * The page markup is used verbatim, so it needs the base rules the
 * prototypes declared (body, links, the pure-CSS mobile nav, the skip
 * link and focus rings) plus the hover and focus states that were
 * `style-hover` / `style-focus` attributes read by the prototype
 * runtime. Those are collected into the generated classes below.
 *
 * Generated by tools/build-verbatim.py — do not edit by hand.
 */

* { box-sizing: border-box; }
  body { margin: 0; background: #FAF6F0; color: #33302B; font-family: "Source Sans 3", system-ui, sans-serif; font-size: 18px; line-height: 1.6; -webkit-font-smoothing: antialiased; text-wrap: pretty; }
  a { color: #2E67C5; text-decoration: none; }
  a:hover { color: #1F4685; }

  .lb-burger { display:none; }
  .lb-mobile { display:none; }
  .lb-navtoggle { position:absolute; opacity:0; width:0; height:0; pointer-events:none; }
  @media (max-width: 860px) {
    .lb-desktop-nav { display:none !important; }
    .lb-cta { display:none !important; }
    .lb-burger { display:inline-flex !important; }
    #lb-nav:checked ~ .lb-mobile { display:flex !important; }
  }

  .skip-link { position:absolute; left:-9999px; top:0; z-index:200; background:#1F4685; color:#FFFDF9; padding:10px 18px; border-radius:0 0 10px 0; font-family:Quicksand,sans-serif; font-weight:700; }
  .skip-link:focus { left:0; }
  :focus-visible { outline:3px solid #E3A857; outline-offset:2px; border-radius:3px; }

/* ---- hover and focus states ---- */

.lbh-1:hover { color:#2E67C5; }
.lbh-2:hover { background:#1F4685; color:#FFFDF9; }
.lbh-3:hover { background:rgba(255,253,249,0.28); }
.lbh-4:hover { color:#FFFDF9; }
.lbh-5:hover { background:#33302B; }
.lbh-6:hover { background:#F3EBDF; color:#1F4685; }
.lbh-7:hover { background:rgba(255,253,249,0.14); color:#FFFDF9; }
.lbh-8:hover { background:rgba(46,103,197,0.08); color:#1F4685; }
.lbh-9:hover { color:#1F4685; }
.lbh-10:hover { box-shadow:0 12px 30px rgba(51,48,43,0.10); }
.lbh-11:hover { border-color:#2E67C5; color:#2E67C5; }

/* ---- the home page's sun graphic ---- */

.lb-sun {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #E3A857;
	margin: 0 auto 24px;
	animation: sunGlow 3.2s ease-out infinite, sunRise 5s ease-in-out infinite alternate;
}

@media (prefers-reduced-motion: reduce) {
	.lb-sun { animation: none; }
}

@keyframes sunGlow { 0% { box-shadow: 0 0 0 0 rgba(227,168,87,0.45); } 70% { box-shadow: 0 0 0 30px rgba(227,168,87,0); } 100% { box-shadow: 0 0 0 0 rgba(227,168,87,0); } }

@keyframes sunRise { from { transform: translateY(8px); } to { transform: translateY(-8px); } }

