@charset "utf-8";

.cc-section { background: rgb(240, 245, 241); border-radius: 28px; padding: 52px 40px 48px; margin: 32px 0px 0px; }

.cc-eyebrow { display: inline-flex; align-items: center; gap: 7px; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; color: rgb(74, 122, 78); margin-bottom: 14px; }

.cc-heading { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 4vw, 2.6rem); font-weight: 700; color: rgb(30, 45, 61); line-height: 1.12; letter-spacing: -0.022em; margin: 0px 0px 14px; }

.cc-sub { font-size: 1rem; color: rgb(91, 100, 112); line-height: 1.75; max-width: 620px; font-weight: 300; margin: 0px 0px 40px; }

.cc-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 28px; }

@media (max-width: 700px) {
  .cc-cards { grid-template-columns: 1fr; }
  .cc-section { padding: 36px 20px; }
}

.cc-card { background: rgb(255, 255, 255); border-radius: 24px; padding: 34px 30px 30px; box-shadow: rgba(30, 45, 61, 0.07) 0px 4px 24px; display: flex; flex-direction: column; }

.cc-card-icon { width: 56px; height: 56px; border-radius: 18px; background: rgb(232, 244, 233); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; margin-bottom: 20px; flex-shrink: 0; }

.cc-card:nth-child(2) .cc-card-icon { background: rgb(232, 240, 245); }

.cc-card-title { font-family: Georgia, "Times New Roman", serif; font-size: 1.15rem; font-weight: 700; color: rgb(30, 45, 61); margin-bottom: 10px; line-height: 1.2; }

.cc-card-text { font-size: 0.875rem; color: rgb(91, 100, 112); line-height: 1.7; margin-bottom: 22px; font-weight: 300; }

.cc-checklist { list-style: none; padding: 0px; margin: 0px 0px 28px; display: flex; flex-direction: column; gap: 9px; }

.cc-checklist li { display: flex; align-items: center; gap: 10px; font-size: 0.84rem; color: rgb(30, 45, 61); font-weight: 500; }

.cc-checklist li::before { content: ""; width: 18px; height: 18px; border-radius: 50%; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='9' fill='%23e8f4e9'/%3E%3Cpath d='M5 9.5l2.5 2.5L13 6' stroke='%234a7a4e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 0% 0% / cover rgb(232, 244, 233); flex-shrink: 0; }

.cc-card:nth-child(2) .cc-checklist li::before { background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='9' fill='%23e8f0f5'/%3E%3Cpath d='M5 9.5l2.5 2.5L13 6' stroke='%23366a8a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }

.cc-card-btn { margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 7px; background: linear-gradient(135deg, rgb(36, 52, 71) 0%, rgb(49, 70, 95) 100%); color: rgb(255, 255, 255); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; border-radius: 50px; padding: 13px 24px; font-size: 0.88rem; font-weight: 700; cursor: pointer; font-family: inherit; box-shadow: rgba(36, 52, 71, 0.18) 0px 4px 16px; transition: transform 0.2s, box-shadow 0.2s; width: 100%; }

.cc-card-btn:hover { transform: translateY(-2px); box-shadow: rgba(36, 52, 71, 0.24) 0px 7px 24px; }

.cc-banner { background: linear-gradient(135deg, rgb(30, 45, 61) 0%, rgb(36, 52, 71) 55%, rgb(45, 66, 86) 100%); border-radius: 24px; padding: 44px 40px 40px; position: relative; overflow: hidden; }

.cc-banner::before { content: ""; position: absolute; top: -80px; right: -80px; width: 320px; height: 320px; background: radial-gradient(circle, rgba(122, 158, 126, 0.14) 0%, transparent 65%); pointer-events: none; }

.cc-banner::after { content: ""; position: absolute; bottom: -50px; left: -40px; width: 220px; height: 220px; background: radial-gradient(circle, rgba(123, 191, 212, 0.1) 0%, transparent 65%); pointer-events: none; }

.cc-banner-inner { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }

@media (max-width: 640px) {
  .cc-banner { padding: 32px 22px 30px; }
  .cc-banner-inner { grid-template-columns: 1fr; gap: 20px; }
}

.cc-banner-label { font-size: 0.68rem; font-weight: 800; letter-spacing: 0.13em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); margin-bottom: 10px; }

.cc-banner-title { font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; color: rgb(255, 255, 255); line-height: 1.15; margin-bottom: 12px; }

.cc-banner-text { font-size: 0.88rem; color: rgba(255, 255, 255, 0.68); line-height: 1.72; max-width: 520px; font-weight: 300; margin-bottom: 0px; }

.cc-banner-btn { display: inline-flex; align-items: center; gap: 8px; background: rgb(255, 255, 255); color: rgb(30, 45, 61); border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; border-radius: 50px; padding: 14px 28px; font-size: 0.88rem; font-weight: 800; cursor: pointer; font-family: inherit; white-space: nowrap; box-shadow: rgba(0, 0, 0, 0.18) 0px 4px 20px; transition: transform 0.2s, box-shadow 0.2s; flex-shrink: 0; }

.cc-banner-btn:hover { transform: translateY(-2px); box-shadow: rgba(0, 0, 0, 0.24) 0px 8px 28px; }

.cc-banner-footnote { font-size: 0.78rem; color: rgba(255, 255, 255, 0.42); margin-top: 20px; font-style: italic; font-weight: 300; position: relative; z-index: 1; }

.cc-coming-soon { display: none; background: rgb(255, 255, 255); border-radius: 20px; padding: 32px 28px; margin-top: 20px; box-shadow: rgba(30, 45, 61, 0.08) 0px 4px 24px; text-align: center; }

.cc-coming-soon.open { display: block; }

.cc-coming-soon-icon { font-size: 2.4rem; margin-bottom: 12px; }

.cc-coming-soon h4 { font-family: Georgia, serif; font-size: 1.1rem; font-weight: 700; color: rgb(30, 45, 61); margin-bottom: 8px; }

.cc-coming-soon p { font-size: 0.84rem; color: rgb(91, 100, 112); line-height: 1.65; max-width: 380px; margin: 0px auto 18px; font-weight: 300; }

.cc-coming-soon-close { background: none; border-width: medium; border-style: none; border-color: currentcolor; border-image: initial; font-size: 0.8rem; color: rgb(91, 100, 112); cursor: pointer; font-family: inherit; font-weight: 600; }