/* Homepage hero only (ch- prefix). Palette from the original stylesheet. */
.ch-hero{color:#fff;position:relative;overflow:hidden;
  background:radial-gradient(120% 90% at 0% 0%,rgba(74,127,165,.35) 0%,rgba(43,79,122,0) 55%),linear-gradient(180deg,#2b4f7a 0%,#1f3d61 100%)}
.ch-hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.07;
  background-image:linear-gradient(rgba(255,255,255,.9) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.9) 1px,transparent 1px);
  background-size:44px 44px;-webkit-mask-image:linear-gradient(90deg,#000 0%,transparent 70%);mask-image:linear-gradient(90deg,#000 0%,transparent 70%)}
.ch-in{position:relative;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:56px;align-items:center;padding-top:72px;padding-bottom:76px}
.ch-eyebrow{display:flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:600;color:rgba(242,239,231,.8)}
.ch-eyebrow::before{content:"";width:34px;height:2px;background:#c9a876;flex:none}
.ch-hero h1{color:#fff;font-size:clamp(34px,4.5vw,56px);line-height:1.08;margin:18px 0 22px}
.ch-hero h1 em{font-style:italic;color:#c9a876}
.ch-sub{margin:0;font-size:18px;color:rgba(242,239,231,.9);max-width:48ch}
.ch-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.ch-btn{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:16px;text-decoration:none;padding:13px 24px;border-radius:2px;border:1px solid transparent;transition:transform .2s,background-color .15s}
.ch-btn-light{background:#fff;color:#2b4f7a}
.ch-btn-light:hover{background:#f2efe7;color:#2b4f7a}
.ch-btn-ghost{color:#fff;border-color:rgba(242,239,231,.45)}
.ch-btn-ghost:hover{color:#fff;background:rgba(255,255,255,.08)}
.ch-btn:hover{transform:translateY(-1px)}
.ch-photo{position:relative;margin:0 14px 30px 0}
.ch-photo::before{content:"";position:absolute;inset:18px -14px -18px 18px;border:2px solid #c9a876;border-radius:2px}
.ch-photo img{position:relative;display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:2px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
.ch-float{position:absolute;left:-28px;bottom:-30px;background:#fff;color:#173759;padding:16px 20px 16px 18px;border-radius:2px;box-shadow:0 18px 40px -16px rgba(0,0,0,.45);display:flex;gap:14px;align-items:center;text-decoration:none;max-width:290px;transition:transform .2s}
.ch-float:hover{transform:translateY(-2px);color:#173759}
.ch-float .ch-ic{width:44px;height:44px;flex:none;border-radius:50%;background:#f2efe7;display:grid;place-items:center;color:#2b4f7a}
.ch-float .ch-ic svg{width:22px;height:22px}
.ch-float small{display:block;text-transform:uppercase;letter-spacing:.1em;font-size:11.5px;font-weight:600;color:#8a6d2e}
.ch-float b{display:block;font-family:Georgia,Cambria,"Times New Roman",Times,serif;font-size:19px;line-height:1.2}
.ch-float .ch-fine{display:block;font-size:14px;color:#555}
.ch-trust{position:relative;border-top:1px solid rgba(242,239,231,.18);background:rgba(23,55,89,.45)}
.ch-trust ul{list-style:none;display:flex;flex-wrap:wrap;gap:12px 36px;padding-top:18px;padding-bottom:18px;margin-top:0;margin-bottom:0}
.ch-trust li{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;font-weight:600;color:rgba(242,239,231,.85)}
.ch-trust svg{width:18px;height:18px;color:#c9a876;flex:none}
.ch-hero :focus-visible{outline:3px solid #c9a876;outline-offset:3px}
@media (max-width:900px){
  .ch-in{grid-template-columns:1fr;gap:44px;padding-top:48px;padding-bottom:64px}
  .ch-photo img{aspect-ratio:4/3}
  .ch-float{left:12px;bottom:-26px;max-width:calc(100% - 40px)}
}
@media (prefers-reduced-motion:reduce){.ch-btn,.ch-float{transition:none}}
/* Center the homepage testimonial, including its label and attribution. */
main > section:has(blockquote) .max-w-3xl{margin-inline:auto;text-align:center}
/* Homepage articles: compact list */
.home-articles{padding-top:40px;padding-bottom:40px}
.home-articles h2{font-size:clamp(22px,2.4vw,28px)}
.home-articles article{padding-top:14px;padding-bottom:14px}
.home-articles article:first-child{padding-top:0}
.home-articles article h3{font-size:19px;line-height:1.3;margin-bottom:4px}
.home-articles article p{font-size:15px;line-height:1.55;margin-bottom:4px}
.home-articles .sublabel-gray{margin-bottom:4px;font-size:11px}
.home-articles article .text-xs{font-size:10.5px}
@media (max-width:640px){.home-articles{padding-top:32px;padding-bottom:32px}.home-articles article h3{font-size:17px}.home-articles article p{font-size:14px}}
