/* Institutional compositions. Values inherit the palette from theme.json. */
:root{--ccm-green:var(--wp--preset--color--green,#064e3b);--ccm-paper:var(--wp--preset--color--paper,#fafaf6);--ccm-ink:var(--wp--preset--color--ink,#142d38);--ccm-muted:var(--wp--preset--color--muted,#f1f5f3);--ccm-gold-dark:var(--wp--preset--color--gold-dark,#75540f);--ccm-radius:.35rem}
.site-main{padding-bottom:5rem}
.homepage-content{padding-top:2rem}
.ccm-section{margin-block:clamp(3rem,7vw,6rem)}
.ccm-section>h2{max-width:25ch;margin:0 0 1.5rem}
.ccm-section>p{max-width:65ch}
.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.14em}
.page-introduction,.ccm-lead{font-size:clamp(1.1rem,2vw,1.35rem);max-width:60ch;line-height:1.65}
.page-heading{border-bottom:1px solid #d9e0dc;padding-bottom:2.5rem}
.page-heading h1{max-width:25ch}
.hub-content{width:100%}
.hub-content>p,.hub-content>ul,.hub-content>ol{max-width:68ch}
.context-navigation{margin-bottom:3rem}
.context-navigation ul{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0}
.context-navigation a{display:block;border:1px solid #c4d1c9;border-radius:2rem;padding:.65rem 1rem;min-height:44px;text-decoration:none}
.context-navigation [aria-current=page]{background:var(--ccm-green);color:white}
.ccm-hero{position:relative;background:var(--ccm-green);color:white;padding:clamp(1.5rem,5vw,4.5rem);border-radius:.4rem;overflow:hidden;min-height:25rem;display:grid;align-content:center;isolation:isolate}
.ccm-hero:after{content:"";position:absolute;z-index:-1;width:32rem;height:32rem;border:1px solid #759e8d;border-radius:50%;right:-18rem;top:-5rem;box-shadow:0 0 0 4rem #ffffff08,0 0 0 8rem #ffffff06,0 0 0 12rem #ffffff04;pointer-events:none}
.ccm-hero h1{font-size:clamp(2.2rem,5.3vw,4.8rem);line-height:1.08;font-weight:650;max-width:17ch;letter-spacing:-.045em;margin:.75rem 0 1.5rem}
.ccm-hero p{max-width:55ch}
.ccm-hero .eyebrow{color:#e4ca88}
.ccm-hero .wp-block-buttons{margin-top:1.5rem}
.ccm-hero .wp-block-button__link{background:white;color:var(--ccm-green);border:1px solid white}
.ccm-hero .is-style-outline .wp-block-button__link{background:transparent;color:white}
.ccm-hero a:not(.wp-block-button__link){color:white}
.ccm-hero .wp-block-image img{width:100%;border-radius:.25rem}
.ccm-notice{border-left:3px solid var(--ccm-gold-dark);padding:.75rem 1.25rem;background:#f8f2e4;color:var(--ccm-ink)}
.quick-links{margin-block:1.5rem 3rem}
.quick-links a{height:100%;display:grid;gap:.75rem;text-decoration:none;border-color:#d1ddd5;min-height:8rem;padding:1.25rem;transition:background .15s}
.quick-links a:hover{background:var(--ccm-muted)}
.quick-links svg{color:var(--ccm-gold-dark)}
.quick-links small{font-weight:400;line-height:1.5;color:var(--ccm-secondary)}
.ccm-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1.25rem}
.ccm-panel{min-width:0;background:white;border:1px solid #d9e0dc;padding:clamp(1.25rem,3vw,2rem);border-radius:.35rem}
.ccm-panel h3{margin-top:.5rem}
.ccm-panel p:last-child{margin-bottom:0}
.ccm-panel .eyebrow{color:var(--ccm-gold-dark)}
.ccm-section--tint{background:var(--ccm-muted);padding:clamp(1.5rem,4vw,3.5rem);border-radius:.4rem}
.ccm-section--dark{background:var(--ccm-ink);color:white;padding:clamp(1.5rem,5vw,4rem);border-radius:.4rem}
.ccm-section--dark a{color:white}
.ccm-section--dark .ccm-panel{background:transparent;color:white;border-color:#859990}
.ccm-section--dark .eyebrow{color:#e4ca88}
.ccm-section--dark .wp-block-button__link{background:white;color:var(--ccm-ink)}
.ccm-section--dark .ccm-panel .eyebrow{color:#e4ca88}
.ccm-cycle{counter-reset:stage;list-style:none;padding:0;display:grid;gap:1rem}
.ccm-cycle>li{counter-increment:stage;border-top:2px solid #b5c8bd;padding:1rem 1rem 1rem 0;position:relative}
.ccm-cycle>li:before{content:counter(stage,decimal-leading-zero);display:block;font-size:1.6rem;color:var(--ccm-gold-dark);margin-bottom:.5rem;font-variant-numeric:tabular-nums}
.ccm-cycle strong{display:block}
.ccm-cycle p{font-size:.9rem}
.ccm-representation .ccm-panel{border-top:3px solid var(--ccm-green)}
.ccm-metric{font-size:clamp(2rem,4vw,3rem);font-weight:650;font-variant-numeric:tabular-nums;color:var(--ccm-green)}
.card{box-shadow:0 2px 0 #142d3804;border-color:#d9e0dc}
.card h2,.card h3{font-size:1.3rem;line-height:1.35;margin:.5rem 0 1rem}
.card a{text-decoration:none}
.card a:hover{text-decoration:underline}
.card-category{font-size:.73rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ccm-green);font-weight:650}
.card-body>p:last-child{margin-bottom:0}
.card-placeholder{aspect-ratio:16/7;display:flex;align-items:end;padding:1.5rem;background:linear-gradient(125deg,#e4ece7,#f1f5f3);color:#496358}
.card-placeholder span{font-size:1.5rem;letter-spacing:.2em;border-bottom:2px solid var(--ccm-gold-dark)}
.card-image img{aspect-ratio:16/10}
.ccm-publications--news .card:first-child{border-top:3px solid var(--ccm-green)}
.badge--open{background:#e0f0e6;color:#155b39}
.badge--closing{background:#fbefce;color:#694a06}
.badge--closed{background:#e7eaec;color:#35454c}
.badge--unknown{background:#f1f5f3;color:#435961}
.opportunity-card{border-top:3px solid var(--ccm-gold-dark)}
.document-list{display:grid;gap:1rem}
.document-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.25rem;border:1px solid #d9e0dc;background:white;padding:clamp(1rem,3vw,2rem);border-radius:.35rem}
.document-card>svg{color:var(--ccm-green);margin-top:.5rem}
.document-card h3{margin:.4rem 0}
.document-card p{margin:.5rem 0}
.document-card h3 a{text-decoration:none}
.document-card h3 a:hover{text-decoration:underline}
.document-meta{display:inline-block;font-size:.8rem;padding:.25rem .5rem;background:var(--ccm-muted);margin:.25rem .5rem .25rem 0}
.document-arrow{display:none;font-size:1.5rem}
.resource-filters{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;background:var(--ccm-muted);padding:1.5rem;border-radius:.4rem}
.resource-filters label{flex:1 1 12rem;font-size:.875rem}
.resource-filters input,.resource-filters select{margin-top:.5rem}
.resource-filters a{min-height:44px;padding:.6rem}
.empty-state{padding:2rem;border:1px dashed var(--ccm-border);background:white}
.pagination .page-numbers{margin:.25rem}
.footer-grid{display:grid;gap:2rem}
.site-footer{background:#102f2a}
.footer-grid>div:first-child{max-width:30ch}
.footer-grid h2{font-size:1rem;margin:1rem 0}
.footer-grid ul{display:block}
.footer-grid address{font-style:normal}
.footer-bottom{border-top:1px solid #66867a;padding-top:1.5rem;margin-top:3rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;font-size:.875rem}
.footer-name{margin-top:.75rem}
@media(min-width:48rem){.ccm-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ccm-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}
.ccm-cycle{grid-template-columns:repeat(3,minmax(0,1fr))}
.document-card{grid-template-columns:auto minmax(0,1fr) auto}
.document-arrow{display:block}
.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:80rem){.ccm-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.ccm-cycle{grid-template-columns:repeat(6,minmax(0,1fr))}
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.3fr}
}
@media print{.ccm-hero,.ccm-section--dark,.site-footer{background:white;color:black;border:1px solid #777}
.ccm-hero:after,.resource-filters,.document-arrow{display:none}
.ccm-hero a,.ccm-section--dark a,.site-footer a{color:black}
.ccm-grid,.ccm-cycle{display:block}
.ccm-panel,.ccm-cycle>li,.document-card{break-inside:avoid;margin-bottom:1rem}
.ccm-section{margin-block:2rem}
}
.ccm-grid>*{margin-block:0}
.ccm-cycle>li+li{margin-block-start:0}
:root{--ccm-secondary:#435961;--ccm-white:#fff;--ccm-border:#64766f;--ccm-danger:var(--wp--preset--color--danger,#a12632)}
.document-action{grid-column:2;align-self:center;justify-self:start;display:inline-block;padding:.65rem 1rem;border:1px solid var(--ccm-green);border-radius:.3rem;min-height:44px;text-decoration:none;font-size:.875rem}.opportunity-action{display:inline-block;min-height:44px;padding:.65rem 0;font-weight:600}.document-action:hover{background:var(--ccm-muted)}@media(min-width:48rem){.document-action{grid-column:3;grid-row:1}}
