/* CCC components — shared source for public pages and the Beaver canvas. */
/* Text-led page opening for approved content without assigned artwork. */
.ccc-page-title {
  padding:var(--ccc-section) var(--ccc-gutter);
  align-items:center;
  gap:var(--ccc-large-gap);
  text-align:center;
  background:var(--ccc-cream);
}
.ccc-page-title h1 {
  font-size:var(--ccc-h1);
  line-height:var(--ccc-heading-leading);
  color:var(--ccc-bronze-ink);
}
.ccc-page-title>.fl-module {
  width:100%;
  max-width:var(--ccc-reading-measure);
}
.ccc-section--tinted {background:var(--ccc-yellow-tint);}
.ccc-guide-row.ccc-guide-row--text {align-items:start;gap:var(--ccc-large-gap);grid-template-columns:minmax(0,244px) minmax(0,1fr);}
.ccc-guide-row--text>.ccc-copy {max-width:var(--ccc-reading-measure);}
.ccc-guide-row--text>.fl-module-heading {font-size:var(--ccc-h4);line-height:var(--ccc-heading-leading);}
.ccc-button,.ccc-button .fl-button,.ccc-button .fl-button-wrap {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:0;
  max-width:100%;
}
.ccc-button .fl-button,.ccc-button:not(.fl-module) {
  background:var(--ccc-button-bg,var(--ccc-bronze-ink));
  color:var(--ccc-button-ink,var(--ccc-white));
  border:0;
  border-radius:var(--ccc-radius);
  min-height:var(--ccc-button-height);
  padding:6px 30px;
  font-family:var(--ccc-heading);
  font-size:20px;
  font-weight:600;
  line-height:normal;
  text-align:center;
}
.ccc-button-white {
  --ccc-button-bg:var(--ccc-white);
  --ccc-button-ink:var(--ccc-bronze-ink);
}
.ccc-button-teal {
  --ccc-button-bg:var(--ccc-teal-ink);
  --ccc-button-ink:var(--ccc-white);
}
.ccc-button-cream {--ccc-button-bg:var(--ccc-cream);--ccc-button-ink:var(--ccc-charcoal);text-transform:uppercase;}
.ccc-button.fl-module {
  align-self:flex-start;
  max-width:100%;
}
.ccc-button-center.fl-module {align-self:center;}
.ccc-button .fl-button-text {
  font:inherit;
  min-width:0;
  overflow-wrap:anywhere;
}
/* Text actions share type and sizing, but never the filled-button surface. */
.ccc-text-link .fl-button,.ccc-text-link:not(.fl-module) {
  padding:0;
  min-height:var(--ccc-touch-target);
  background:none;
  color:var(--ccc-bronze-ink);
  border:0;
  border-radius:0;
  justify-content:flex-start;
  text-align:left;
}
.ccc-hero {
  position:relative;
  isolation:isolate;
  min-height:622px;
  justify-content:flex-end;
  align-items:center;
  padding:0 150px 86px;
  color:white;
  text-align:center;
  overflow:clip;
}
.ccc-hero:after {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(to top,#0003,#6663),#0003;
  mix-blend-mode:multiply;
  pointer-events:none;
}
.ccc-hero-image {
  position:absolute;
  inset:0;
  z-index:-2;
  overflow:hidden;
}
.ccc-hero-image img {
  position:absolute;
  width:100%;
  height:154.36%;
  top:-27.18%;
  left:0;
  max-width:none;
  object-fit:cover;
}
.ccc-hero--mission {
  justify-content:center;
}
.ccc-hero.ccc-hero--mission h1 {
  font-style:normal;
}
.ccc-hero--mission .ccc-hero-image img {
  height:130.16%;
  top:-21.57%;
}
.ccc-hero-content {
  align-items:center;
  gap:18px;
  width:100%;
  max-width:1080px;
}
.ccc-hero h1 {
  font-size:var(--ccc-h1);
  line-height:72px;
  font-weight:400;
  font-style:italic;
}
.ccc-hero-summary {
  font-size:20px;
  line-height:28px;
  font-weight:300;
}
.ccc-actions {
  flex-direction:row;
  flex-wrap:wrap;
  gap:18px;
  justify-content:center;
}
.ccc-section {
  padding-block:var(--ccc-section);
}
.ccc-two-column {
  display:grid;
  grid-template-columns:486px 486px;
  gap:101px;
  padding-inline:100px 185px;
  align-items:start;
}
.ccc-stack {
  gap:var(--ccc-large-gap);
}
.ccc-heading-lg {
  font-size:var(--ccc-h2);
  font-weight:500;
  letter-spacing:-1.2px;
  line-height:var(--ccc-heading-leading);
}
.ccc-copy-lg {
  font-size:var(--ccc-body-lg);
  line-height:30px;
}
.ccc-intro-lead {
  font:italic 600 36px/normal var(--ccc-heading);
  letter-spacing:-1.2px;
  color:var(--ccc-bronze-ink);
}
.ccc-heading-md {
  font-size:var(--ccc-h3);
  font-weight:600;
  line-height:normal;
}
.ccc-heading-sm {
  font-size:var(--ccc-h4);
  font-weight:600;
  line-height:normal;
}
.ccc-pillars {
  background:var(--ccc-yellow-tint);
  align-items:center;
  gap:39px;
}
.ccc-pillars>.ccc-heading-md {
  text-align:center;
  width:100%;
  padding-inline:40px;
}
.ccc-pillar-grid {
  display:grid;
  grid-template-columns:repeat(3,277px);
  gap:92px;
  justify-content:center;
  width:100%;
}
.ccc-pillar {
  gap:16px;
}
.ccc-pillar>.ccc-text-link {margin-top:auto;}
.ccc-pillar-icon {
  width:161px;
  height:161px;
}
.ccc-pillar-icon img {
  width:161px;
  height:161px;
}
.ccc-pillar-lead {
  font-weight:700;
  max-width:262px;
}
.ccc-impact {
  min-height:654px;
  padding:113.46px 114px 86px;
  background:var(--ccc-yellow-tint);
}
.ccc-impact-card {
  padding:67px 63px;
  gap:45px;
  border-radius:20px;
  position:relative;
  isolation:isolate;
  background:white;
  overflow:clip;
}
.ccc-impact-art {
  position:absolute;
  inset:0;
  z-index:-1;
  mix-blend-mode:multiply;
  pointer-events:none;
  overflow:hidden;
}
.ccc-impact-art img {
  height:127.58%;
  position:absolute;
  top:-21.4%;
  object-fit:fill;
  max-width:none;
}
.ccc-impact-card>.ccc-copy {
  max-width:635px;
}
.ccc-mosaic {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
}
.ccc-mosaic-panel {
  min-height:480px;
  padding:58px 35px 65px;
  gap:13px;
  background:var(--ccc-yellow-tint);
}
.ccc-mosaic-panel>.fl-module {
  max-width:323px;
}
.ccc-mosaic-title {
  font-size:36px;
  font-weight:600;
  line-height:normal;
}
.ccc-mosaic-title em {
  color:var(--ccc-bronze-ink);
}
.ccc-mosaic-panel--dark .ccc-mosaic-title em {
  color:var(--ccc-bronze-on-dark);
}
.ccc-mosaic-copy {
  font-size:20px;
  line-height:28px;
  font-weight:300;
}
.ccc-mosaic-photo {
  position:relative;
  min-height:480px;
  overflow:clip;
}
.ccc-mosaic-photo img {
  position:absolute;
  max-width:none;
  height:100%;
  width:182.83%;
  left:-68.9%;
  top:0;
  object-fit:cover;
}
.ccc-mosaic-photo--2 img {
  width:238.77%;
  height:132.95%;
  left:-77.11%;
  top:-32.95%;
}
.ccc-mosaic-photo--3 img {
  width:176.59%;
  left:-44.9%;
}
.ccc-newsletter {
  display:grid;
  grid-template-columns:minmax(0,1fr) 626px;
  align-items:center;
  position:relative;
  min-height:793px;
  padding:86px 60px 86px 75px;
  gap:88px;
  overflow:clip;
}
.ccc-circle {
  width:var(--ccc-circle);
  height:var(--ccc-circle);
  position:relative;
  isolation:isolate;
  max-width:100%;
}
.ccc-circle:before {
  content:'';
  position:absolute;
  inset:0;
  border-radius:50%;
  background:url(../assets/6a2ba.svg) center/100% 100% no-repeat;
  z-index:-1;
  transform:translateX(-231px);
}
.ccc-circle .fl-photo-content {
  height:calc(100% - 1px);
  top:.82px;
  mask-image:url(../assets/b098c.svg);
  mask-mode:alpha;
  mask-repeat:no-repeat;
  mask-size:100% 100%;
  overflow:hidden;
}
.ccc-circle img {
  width:150.76%;
  height:113.07%;
  max-width:none;
  position:absolute;
  left:-20.58%;
  top:-9.46%;
  object-fit:cover;
}
.ccc-newsletter-content {
  gap:var(--ccc-large-gap);
  align-items:center;
  text-align:center;
}
.ccc-newsletter-content>.fl-module-rich-text {
  width:100%;
  max-width:var(--ccc-form-measure);
}
.ccc-newsletter-head {
  gap:20px;
  align-items:center;
  width:100%;
  max-width:var(--ccc-reading-measure);
}
.ccc-eyebrow {
  font-size:16px;
  line-height:25.6px;
  letter-spacing:2.24px;
  font-weight:700;
  color:var(--ccc-orange-ink);
  text-transform:uppercase;
}
/* Shared page variants keep the same sizing and typography contracts. */
.ccc-intro--mission {
  grid-template-columns:486px minmax(0,1fr);
  gap:120px;
  overflow:clip;
  min-height:763px;
}
.ccc-intro--mission .ccc-heading-lg {
  color:var(--ccc-bronze-ink);
}
.ccc-intro--mission .ccc-circle {
  max-width:none;
}
.ccc-intro--mission .ccc-circle:before {
  transform:translateX(var(--ccc-circle-offset-right));
}
.ccc-shalom {
  background:var(--ccc-yellow-tint);
  padding:57px 114px;
  min-height:654px;
  justify-content:center;
}
.ccc-shalom .ccc-impact-card {
  min-height:540px;
  justify-content:flex-start;
}
.ccc-shalom .ccc-impact-art {
  inset:84.82px auto auto 685px;
  width:661px;
  height:369px;
  z-index:-1;
  mix-blend-mode:normal;
}
.ccc-shalom .ccc-impact-art img {
  position:static;
  height:auto;
  width:661px;
}
.ccc-shalom .ccc-copy p+p {
  margin-top:10px;
}
.ccc-guide {
  background:var(--ccc-yellow-tint);
  padding:86px 100px 172px;
  gap:39px;
  align-items:center;
}
.ccc-guide-head {
  gap:35px;
  text-align:center;
  align-items:center;
}
.ccc-guide-head>.ccc-copy-lg {
  max-width:840px;
}
.ccc-guide-list {
  width:1007px;
  max-width:100%;
  gap:0;
}
.ccc-guide-row {
  display:grid;
  grid-template-columns:244px minmax(0,1fr);
  gap:0;
  padding:0 0 49px;
  margin-top:50px;
  border-bottom:1px solid transparent;
  background:url(../assets/28fe3.svg) bottom/100% 1px no-repeat;
  align-items:center;
}
.ccc-guide-row:first-child {
  margin-top:0;
}
.ccc-guide-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  padding-left:16px;
  height:0;
}
.ccc-guide-icon .fl-photo-content {
  height:auto;
}
.ccc-guide-icon img {
  width:auto;
  height:auto;
  max-width:128px;
  max-height:116px;
}
.ccc-guide-content {
  gap:10px;
  max-width:730px;
}
.ccc-guide-row:last-child .ccc-guide-content {
  max-width:661px;
}
.ccc-guide-content h3 {
  font-size:36px;
  line-height:normal;
}
.ccc-guide-content h3 em {
  color:var(--ccc-bronze-ink);
}
.ccc-mosaic-panel--dark {
  background:var(--ccc-charcoal);
  color:white;
}
.ccc-mosaic-title--feature {
  font-size:50px;
  line-height:normal;
}
.ccc-mosaic-title--feature em {
  color:white;
}
.ccc-mosaic-photo--commitment img {
  width:196.29%;
  height:130.82%;
  left:-43.47%;
  top:-30.82%;
}
.ccc-mosaic-photo--commitment:after {
  content:'';
  position:absolute;
  inset:0;
  background:rgb(61 57 54 / 63%);
  mix-blend-mode:multiply;
}
.ccc-join {
  grid-template-columns:591px 486px;
  padding-left:77px;
  gap:101px;
  align-items:center;
  overflow:clip;
  min-height:763px;
}
.ccc-join .ccc-circle {
  transform:none;
  max-width:none;
}
.ccc-join .ccc-circle:before {
  transform:translateX(calc(-1 * var(--ccc-circle-offset-left)));
}
.ccc-join .ccc-circle img {
  height:163.39%;
  width:108.76%;
  left:-5.64%;
  top:-43.73%;
}
