.cf-hero {
  min-height: clamp(500px, 66vh, 650px);
  display: grid;
  place-items: center;
  isolation: isolate;
  background: #edf6e9;
}
.cf-hero__media, .cf-hero__overlay { position: absolute; inset: 0; }
.cf-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center center; display: block; }
.cf-hero__overlay { z-index: 1; background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.89) 35%, rgba(255,255,255,.25) 62%, rgba(255,255,255,0) 100%); }
.cf-hero__content { position: relative; z-index: 2; width: min(var(--cf-container), calc(100% - 40px)); }
.cf-hero__content h1 { max-width: 690px; margin-bottom: 16px; }
.cf-hero__content p { max-width: 560px; color: #293d32; font-size: clamp(1rem, 1.18vw, 1.08rem); margin-bottom: 22px; }
.cf-home-summary { background: var(--cf-white); }
.cf-mini-points { display: flex; flex-wrap: wrap; gap: 9px; margin: 18px 0 20px; }
.cf-mini-points span { display: inline-flex; align-items: center; min-height: 32px; padding: 8px 12px; border-radius: 999px; background: rgba(76,175,42,.1); color: var(--cf-green-deep); font-weight: 800; font-size: .84rem; }
.cf-summary-panel { border-radius: 24px; padding: clamp(26px, 4vw, 42px); background: linear-gradient(135deg, rgba(13,75,46,.96), rgba(7,54,30,.96)), url('../img/about-team-real.png') center/cover; color: var(--cf-white); box-shadow: var(--cf-shadow); min-height: 300px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; }
.cf-summary-panel::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(5,55,31,.15), rgba(5,55,31,.82)); }
.cf-summary-panel > * { position: relative; z-index: 1; }
.cf-summary-panel strong { display: inline-flex; width: fit-content; margin-bottom: 10px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.16); color: var(--cf-green-soft); font: 800 .78rem/1 var(--cf-font-heading); text-transform: uppercase; letter-spacing: .06em; }
.cf-summary-panel h3 { color: var(--cf-white); max-width: 460px; }
.cf-summary-panel p { color: rgba(255,255,255,.82); max-width: 500px; margin: 0; }
.cf-areas-section { position: relative; }
.cf-areas-section::after {
  content: '';
  position: absolute;
  right: -10px;
  top: -20px;
  width: 260px;
  height: 190px;
  background: url('../img/industry-icons.png') center/contain no-repeat;
  opacity: .06;
  pointer-events: none;
}
.cf-project { background: linear-gradient(180deg, #ffffff 0%, #f9fbf7 100%); }
.cf-project__image { border-radius: var(--cf-radius); overflow: hidden; box-shadow: var(--cf-shadow); background: var(--cf-cream); min-height: 340px; }
.cf-project__image img { width: 100%; height: 100%; object-fit: cover; }
.cf-check-list { list-style: none; padding: 0; display: grid; gap: 9px; margin-bottom: 20px; }
.cf-check-list li { position: relative; padding-left: 30px; color: var(--cf-muted); }
.cf-check-list li::before { content: '✓'; position: absolute; left: 0; top: 0; width: 21px; height: 21px; display: grid; place-items: center; border-radius: 50%; background: rgba(76,175,42,.14); color: var(--cf-green-main); font-weight: 900; line-height: 1; }
.cf-home-allies { padding-block: clamp(44px, 5.5vw, 72px); }
.cf-benefit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.cf-benefit-grid span { background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.16); border-radius: 15px; padding: 13px 15px; color: var(--cf-white); font-weight: 800; }
.cf-sustainability { background: radial-gradient(circle at 82% 16%, rgba(245,176,0,.16), transparent 26%), linear-gradient(135deg, #f9fbf4 0%, #eaf6e4 100%); }
.cf-home-sustainability { padding-block: clamp(44px, 5.5vw, 78px); }
.cf-pillar-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.cf-pillar-grid article { padding: 22px; border-radius: 20px; background: var(--cf-white); border: 1px solid var(--cf-border); box-shadow: 0 14px 34px rgba(13,75,46,.06); }
.cf-pillar-grid strong { display: block; font-family: var(--cf-font-heading); color: var(--cf-green-deep); margin-bottom: 6px; }
.cf-pillar-grid span { color: var(--cf-muted); }
.cf-visual-card { position: relative; border-radius: var(--cf-radius); overflow: hidden; box-shadow: var(--cf-shadow); min-height: 390px; }
.cf-visual-card > img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cf-value-bar { position: absolute; left: 18px; right: 18px; bottom: 18px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: rgba(5,55,31,.94); border-radius: 18px; overflow: hidden; box-shadow: var(--cf-shadow-strong); }
.cf-value-bar article { padding: 18px 14px; color: var(--cf-white); border-right: 1px solid rgba(255,255,255,.12); }
.cf-value-bar article:last-child { border-right: 0; }
.cf-value-bar span { display: block; }
.cf-value-bar svg { width: 32px; height: 32px; stroke: var(--cf-green-soft); fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; margin-bottom: 8px; }
.cf-value-bar strong { display: block; font-weight: 800; font-size: .95rem; }
.cf-value-bar small { display: block; color: rgba(255,255,255,.74); line-height: 1.34; margin-top: 4px; font-size: .82rem; }
.cf-process { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; counter-reset: step; }
.cf-process span { counter-increment: step; position: relative; display: grid; place-items: center; min-height: 84px; padding: 18px 12px; text-align: center; border: 1px solid var(--cf-border); border-radius: 18px; background: var(--cf-white); color: var(--cf-green-deep); font-weight: 800; box-shadow: 0 14px 30px rgba(13,75,46,.06); }
.cf-process span::before { content: counter(step); position: absolute; top: -11px; left: 16px; width: 28px; height: 28px; border-radius: 50%; background: var(--cf-green-main); color: var(--cf-white); display: grid; place-items: center; font-size: .78rem; }
.cf-product-visual { border-radius: 24px; overflow: hidden; box-shadow: var(--cf-shadow); }
.cf-product-visual img { display: block; width: 100%; height: 100%; object-fit: cover; }
.cf-impact { padding: 36px 0; background: linear-gradient(90deg, rgba(5,55,31,.95), rgba(13,75,46,.92)), url('../img/impact-landscape.png') center/cover; color: var(--cf-white); }
.cf-impact__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.cf-impact article { border-right: 1px solid rgba(255,255,255,.18); padding: 8px 18px; }
.cf-impact article:last-child { border-right: 0; }
.cf-impact strong { display: block; color: var(--cf-green-soft); font: 900 clamp(1.6rem,2.8vw,2.2rem)/1 var(--cf-font-heading); margin-bottom: 5px; }
.cf-impact span { color: var(--cf-white); font-weight: 700; }
.cf-roadmap { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 14px; }
.cf-roadmap article { background: var(--cf-white); border: 1px solid var(--cf-border); border-radius: 20px; padding: 20px; box-shadow: 0 14px 32px rgba(13,75,46,.06); position: relative; overflow: hidden; }
.cf-roadmap article::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--cf-green-main), var(--cf-solar)); }
.cf-roadmap strong { display: block; color: var(--cf-green-deep); font: 900 1.05rem/1 var(--cf-font-heading); margin-bottom: 10px; }
.cf-roadmap p { font-size: .9rem; margin: 0; }
.cf-contact-band { background: var(--cf-white); }

.cf-project__image img { object-position: center center; }
