/* Cummings Family Holdings: institutional edition. Versioned file; do not edit in place. */
.ticker{position:relative;z-index:60;background:var(--navy-deep);color:var(--ivory-warm);border-bottom:1px solid rgba(210,176,116,.35);overflow:hidden;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1}
.ticker-label{position:absolute;left:0;top:0;bottom:0;z-index:2;display:flex;align-items:center;padding:0 1rem 0 clamp(.9rem,3vw,2rem);background:var(--brass);color:var(--navy-deep);letter-spacing:.2em}
.ticker-label::after{content:"";position:absolute;right:-14px;top:0;bottom:0;width:14px;background:linear-gradient(90deg,var(--navy-deep),transparent)}
.ticker-viewport{overflow:hidden;padding-left:9.5rem}
.ticker-track{display:flex;width:max-content;animation:ticker 48s linear infinite}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
.ticker-list{display:flex;margin:0;padding:0;list-style:none}
.ticker-list li{padding:.8rem 0;white-space:nowrap}
.ticker-list li::after{content:"\25C6";margin:0 1.6rem;color:var(--brass-light);font-size:.55rem;vertical-align:.15em}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker-track{animation:none}.ticker-viewport{overflow-x:auto}}

.site-nav a{font-size:.72rem;letter-spacing:.14em;white-space:nowrap}
.site-nav ul{gap:clamp(.9rem,1.8vw,1.6rem)}
@media (max-width:1024px){
  :root{--header-h:108px}
  .header-inner{flex-direction:column;justify-content:center;gap:.3rem;padding-top:.7rem;padding-bottom:.25rem}
  .wordmark{align-items:center}
  .site-nav{width:100%}
  .site-nav ul{justify-content:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:1.25rem;padding:0 .25rem}
  .site-nav ul::-webkit-scrollbar{display:none}
}
@media (max-width:760px){.site-nav ul{justify-content:flex-start}}

.featured-video{background:var(--navy-deep);color:var(--ivory);padding:clamp(1.75rem,5vw,3.5rem) clamp(1rem,5vw,3rem) clamp(1.5rem,4vw,2.75rem);border-bottom:1px solid rgba(210,176,116,.35)}
.featured-video-inner{max-width:960px;margin:0 auto}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000;border:1px solid rgba(210,176,116,.45);box-shadow:0 18px 48px rgba(8,16,30,.45);overflow:hidden}
@supports not (aspect-ratio:16/9){.video-frame{height:0;padding-top:56.25%}}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.featured-video figcaption{margin:1rem 0 0;text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(1rem,2.4vw,1.2rem);line-height:1.5;color:#ece5d6}

.hero{min-height:min(72vh,720px);min-height:min(72svh,720px)}
.hero h1{font-size:clamp(2.4rem,6.4vw,4.6rem)}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center}
.button-solid{background:var(--brass-light);color:var(--navy-deep)}
.button-solid:hover{background:var(--ivory);color:var(--navy-deep)}

.figures{background:var(--navy);color:var(--ivory);border-top:1px solid rgba(210,176,116,.28);border-bottom:1px solid rgba(210,176,116,.28)}
.figures dl{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.figures div{padding:1.6rem clamp(1rem,2.5vw,2rem);border-left:1px solid rgba(210,176,116,.22);text-align:center}
.figures div:first-child{border-left:0}
.figures dt{font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-light)}
.figures dd{margin:.45rem 0 0;font-family:var(--serif);font-size:clamp(1.5rem,3vw,2.1rem);font-weight:500;line-height:1.2}
@media (max-width:760px){.figures dl{grid-template-columns:repeat(2,minmax(0,1fr))}.figures div:nth-child(3){border-left:0}.figures div:nth-child(n+3){border-top:1px solid rgba(210,176,116,.22)}}

.section{padding:clamp(3.75rem,9vw,7rem) clamp(1.25rem,5vw,3rem)}
.section-alt{background:var(--ivory-warm);border-top:1px solid rgba(176,141,74,.22);border-bottom:1px solid rgba(176,141,74,.22)}
.section-dark{background:var(--navy);color:var(--ivory)}
.section-dark h2,.section-dark .prose{color:var(--ivory)}
.section-dark .eyebrow{color:var(--brass-light)}
.section-dark :focus-visible{outline-color:var(--brass-light)}
.section-head h2{color:var(--navy)}
.section-dark .section-head h2{color:var(--ivory)}
.section-head .eyebrow{color:var(--hearth)}
.section-dark .section-head .eyebrow{color:var(--brass-light)}
.lede{margin:0 auto;max-width:40rem;font-family:var(--serif);font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.45;font-weight:500;text-align:center;color:var(--navy);text-wrap:balance}
.section-dark .lede{color:var(--ivory)}
.fine{margin:1.25rem auto 0;max-width:38rem;text-align:center;font-size:.92rem;color:var(--ink-muted)}
.section-dark .fine{color:#c9c1b1}

.terms{max-width:960px;margin:clamp(2rem,5vw,3rem) auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(125,95,38,.25);border:1px solid rgba(125,95,38,.25)}
.terms div{background:var(--paper);padding:1.4rem 1.5rem}
.terms dt{font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-dark)}
.terms dd{margin:.5rem 0 0;font-size:.98rem;line-height:1.6;color:var(--ink)}
@media (max-width:760px){.terms{grid-template-columns:1fr}}

.panel{max-width:760px;margin:clamp(2rem,5vw,3rem) auto 0;background:var(--paper);color:var(--ink);border:1px solid rgba(125,95,38,.25);border-top:3px solid var(--brass);border-radius:2px;padding:clamp(1.4rem,4vw,2.4rem);box-shadow:0 20px 50px -34px rgba(13,26,48,.6)}
.panel-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem}
.panel-label{font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-dark)}
.panel-value{font-family:var(--serif);font-size:clamp(1.45rem,3.4vw,1.9rem);font-weight:600;color:var(--navy);line-height:1.25}
.progress{margin:1.4rem 0 .6rem;height:14px;background:var(--ivory-warm);border:1px solid rgba(125,95,38,.3);border-radius:1px;overflow:hidden}
.progress-fill{display:block;height:100%;width:3%;background:linear-gradient(90deg,var(--brass-dark),var(--brass-light))}
.panel-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;font-size:.85rem;color:var(--ink-muted)}
.panel-meta strong{color:var(--navy)}
.panel-actions{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center}
.btn{appearance:none;font:inherit;cursor:pointer;display:inline-block;padding:.85rem 1.6rem;border:1px solid var(--navy);background:var(--navy);color:var(--ivory);font-size:.74rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;border-radius:1px;transition:background-color .25s var(--ease),color .25s var(--ease)}
.btn:hover{background:var(--navy-soft)}
.btn-ghost{background:transparent;color:var(--navy)}
.btn-ghost:hover{background:var(--navy);color:var(--ivory)}
.panel :focus-visible,.dialog :focus-visible{outline-color:var(--brass-dark)}
.status{margin:1rem 0 0;min-height:1.6em;font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--navy)}

.calc-field{display:flex;flex-wrap:wrap;gap:.8rem}
.calc-field label{flex-basis:100%;font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--brass-dark)}
.calc-input{flex:1 1 14rem;min-width:0;font:inherit;font-size:1.05rem;padding:.8rem 1rem;border:1px solid rgba(125,95,38,.45);border-radius:1px;background:#fff;color:var(--ink)}
.calc-input:focus{outline:2px solid var(--brass-dark);outline-offset:1px}
.calc-result{margin:1.2rem 0 0;padding:1rem 1.2rem;border-left:3px solid var(--brass);background:var(--ivory);font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--navy)}
.calc-result[hidden]{display:none}

.divisions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.6vw,2.25rem)}
.division{background:var(--paper);border:1px solid rgba(125,95,38,.18);border-radius:3px;overflow:hidden;box-shadow:0 18px 40px -30px rgba(13,26,48,.55)}
.division figure{margin:0;position:relative}
.division img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.85)}
.division figure::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--brass),var(--hearth));opacity:.85}
.division-body{padding:1.5rem 1.5rem 1.75rem}
.division h3{font-size:clamp(1.5rem,2.3vw,1.85rem);font-weight:600;color:var(--navy);margin:0 0 .7rem}
.division .notice{margin:0 0 .6rem;font-family:var(--serif);font-size:1.25rem;font-weight:600;line-height:1.35;color:var(--hearth)}
.division p:last-child{margin:0;font-size:.97rem;color:var(--ink-muted)}
@media (max-width:960px){.divisions{grid-template-columns:minmax(0,36rem);justify-content:center}}

.sim-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}
.sim-buttons .btn{width:100%}
@media (max-width:520px){.sim-buttons{grid-template-columns:1fr}}

.committee-layer{position:fixed;inset:0;z-index:200;background:rgba(8,16,30,.62);overflow:hidden}
.committee-layer[hidden]{display:none}
.dialog{position:absolute;left:50%;top:50%;width:min(88vw,30rem);max-height:86vh;overflow:auto;background:var(--paper);color:var(--ink);border:1px solid rgba(125,95,38,.35);border-top:3px solid var(--brass);border-radius:2px;padding:1.6rem 1.6rem 1.4rem;box-shadow:0 30px 70px -20px rgba(8,16,30,.7)}
.dialog-ref{margin:0 0 .5rem;font-size:.66rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-dark)}
.dialog h3{font-size:1.55rem;font-weight:600;color:var(--navy);margin:0 0 .6rem;line-height:1.2}
.dialog p{margin:0 0 .4rem;font-size:.95rem;color:var(--ink-muted)}
.dialog-actions{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.55rem}
.dialog .btn{padding:.7rem 1rem;font-size:.66rem;letter-spacing:.14em}
body.has-dialog{overflow:hidden}

.quotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.6vw,2.25rem)}
.quote{margin:0;padding:1.8rem 1.6rem;border:1px solid rgba(210,176,116,.3);border-radius:2px;background:rgba(13,26,48,.35)}
.quote blockquote{margin:0;font-family:var(--serif);font-size:clamp(1.3rem,2.4vw,1.6rem);line-height:1.4;font-weight:500;color:var(--ivory)}
.quote figcaption{margin-top:1rem;font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--brass-light)}
.quote-feature{grid-column:1/-1;text-align:center;padding:2.4rem clamp(1.5rem,6vw,4rem)}
.quote-feature blockquote{font-size:clamp(1.7rem,3.8vw,2.5rem)}
@media (max-width:860px){.quotes{grid-template-columns:1fr}}

.roles{max-width:760px;margin:clamp(2rem,5vw,3rem) auto 0;padding:0;list-style:none;border-top:1px solid rgba(125,95,38,.3)}
.roles li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;padding:1.05rem 0;border-bottom:1px solid rgba(125,95,38,.3)}
.roles .role{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:var(--navy)}
.roles .role-status{font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-dark);align-self:center}

.ir-list{max-width:760px;margin:clamp(2rem,5vw,3rem) auto 0;display:grid;gap:1px;background:rgba(210,176,116,.25);border:1px solid rgba(210,176,116,.25)}
.ir-list div{background:var(--navy);padding:1.2rem 1.4rem;display:grid;grid-template-columns:12rem 1fr;gap:.25rem 1.5rem}
.ir-list dt{font-size:.68rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass-light);padding-top:.25rem}
.ir-list dd{margin:0;color:#e6dfd0;font-size:.98rem}
@media (max-width:600px){.ir-list div{grid-template-columns:1fr}}

.footer-disclaimer{margin-top:1rem !important;font-size:.85rem;font-weight:600;letter-spacing:.04em;color:var(--brass-light)}

.cookie-banner{position:fixed;left:50%;bottom:clamp(.75rem,3vw,1.5rem);transform:translateX(-50%);z-index:150;width:min(94vw,44rem);display:flex;align-items:center;gap:1rem 1.5rem;padding:1rem 1.25rem;background:var(--navy-deep);color:var(--ivory-warm);border:1px solid rgba(210,176,116,.45);border-radius:2px;box-shadow:0 20px 50px -18px rgba(8,16,30,.75);font-size:.92rem;line-height:1.5}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0;flex:1}
.cookie-banner .btn{background:var(--brass-light);border-color:var(--brass-light);color:var(--navy-deep);flex-shrink:0}
.cookie-banner .btn:hover{background:var(--ivory);border-color:var(--ivory)}
@media (max-width:560px){.cookie-banner{flex-direction:column;align-items:stretch;text-align:left}}
