.cp-hero {
    background: #F7FEFB;
    padding: 4rem 0 3rem;
    border-bottom: 1px solid rgba(46,162,130,0.12);
    position: relative;
    overflow: hidden;
}
.cp-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Ccircle cx='28' cy='28' r='18' fill='none' stroke='%232EA282' stroke-width='1.4' stroke-opacity='0.07'/%3E%3C/svg%3E");
    background-size: 56px 56px;
    pointer-events: none;
}
.cp-hero__wrap {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2rem;
    align-items: center;
}
.cp-hero__eyebrow {
    display: inline-flex;
    font-family: var(--ff-body);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--jv-teal-core);
    background: rgba(46,162,130,0.08);
    border: 1px solid rgba(46,162,130,0.18);
    border-radius: 30px;
    padding: 0.3rem 0.875rem;
    margin-bottom: 1rem;
    width: fit-content;
}
.cp-hero h1 { margin-bottom: 1rem; }
.cp-hero__lead {
    font-family: var(--ff-body);
    font-size: 1.0625rem;
    font-weight: var(--fw-med);
    color: var(--jv-teal-muted);
    line-height: 1.7;
    max-width: 640px;
    margin: 0;
}
.cp-hero__deco {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(46,162,130,0.12) 0%, rgba(110,208,152,0.08) 100%);
    border: 1px solid rgba(46,162,130,0.16);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cp-hero__deco img { filter: brightness(0) saturate(100%) invert(36%) sepia(42%) saturate(700%) hue-rotate(134deg) brightness(96%) contrast(92%); }

.cp-mission {
    background: linear-gradient(135deg, var(--jv-teal-dark) 0%, #1A5040 100%);
    padding: 3rem 0;
    position: relative;
    overflow: hidden;
}
.cp-mission::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpolygon points='36,4 68,36 36,68 4,36' fill='none' stroke='%236ED098' stroke-width='1.6' stroke-opacity='0.10'/%3E%3C/svg%3E");
    background-size: 72px 72px;
    pointer-events: none;
}
.cp-mission__inner {
    position: relative;
    z-index: 1;
    text-align: center;
    max-width: 860px;
    margin: 0 auto;
}
.cp-mission__quote {
    font-family: var(--ff-head);
    font-size: clamp(1.25rem, 2.8vw, 1.875rem);
    font-weight: var(--fw-xbd);
    color: #FFFFFF;
    line-height: 1.35;
    letter-spacing: -0.015em;
    margin: 0 0 1.25rem;
}
.cp-mission__sub {
    font-family: var(--ff-body);
    font-size: 1rem;
    font-weight: var(--fw-med);
    color: #A8D4C8;
    line-height: 1.65;
    margin: 0;
}

.cp-who { padding: 5rem 0; background: #FFFFFF; }
.cp-who__wrap { display: grid; grid-template-columns: 1fr 340px; gap: 4rem; align-items: start; }
.cp-who__text h2 { margin-bottom: 1rem; }
.cp-who__text p { font-family: var(--ff-body); font-size: 0.9375rem; color: var(--jv-teal-muted); line-height: 1.78; margin: 0 0 1rem; }
.cp-who__text p:last-child { margin: 0; }
.cp-who__text strong { color: var(--jv-teal-dark); font-weight: 700; }
.cp-who__stats { display: flex; flex-direction: column; gap: 0.875rem; }
.cp-stat-pill {
    background: #F7FEFB;
    border: 1px solid rgba(46,162,130,0.16);
    border-radius: 14px;
    padding: 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}
.cp-stat-pill__val { font-family: var(--ff-head); font-size: 2rem; font-weight: var(--fw-xbd); color: var(--jv-teal-core); line-height: 1; }
.cp-stat-pill__label { font-family: var(--ff-body); font-size: 0.875rem; font-weight: var(--fw-med); color: var(--jv-teal-muted); }

.cp-policy { padding: 5rem 0; background: #F7FEFB; }
.cp-policy__head { margin-bottom: 2.5rem; }
.cp-policy__head h2 { margin-bottom: 0.5rem; }
.cp-policy__head p { font-family: var(--ff-body); font-size: 0.9375rem; color: var(--jv-teal-muted); margin: 0; }
.cp-policy__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
.cp-policy-card {
    background: #FFFFFF;
    border: 1px solid rgba(46,162,130,0.16);
    border-radius: 16px;
    padding: 1.625rem;
    display: flex;
    flex-direction: column;
    gap: 0.875rem;
    transition: box-shadow 0.24s ease;
}
.cp-policy-card:hover { box-shadow: 0 6px 24px rgba(30,112,96,0.10); }
.cp-policy-card__top { display: flex; align-items: center; gap: 0.875rem; }
.cp-policy-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    background: linear-gradient(135deg, var(--jv-teal-dark) 0%, var(--jv-teal-core) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.cp-policy-card__icon img { filter: brightness(0) invert(1); }
.cp-policy-card__title { font-family: var(--ff-head); font-size: 1.0625rem; font-weight: var(--fw-bd); color: var(--jv-teal-dark); }
.cp-policy-card__text { font-family: var(--ff-body); font-size: 0.9375rem; color: var(--jv-teal-muted); line-height: 1.7; margin: 0; }

.cp-process { padding: 5rem 0; background: #0B2920; position: relative; overflow: hidden; }
.cp-process::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cpolygon points='36,4 68,36 36,68 4,36' fill='none' stroke='%232EA282' stroke-width='1.8' stroke-opacity='0.10'/%3E%3C/svg%3E");
    background-size: 72px 72px;
    pointer-events: none;
}
.cp-process__wrap { position: relative; z-index: 1; }
.cp-process__head { text-align: center; margin-bottom: 3.5rem; }
.cp-process__head h2 { color: #FFFFFF; margin-bottom: 0.5rem; }
.cp-process__head p { font-family: var(--ff-body); font-size: 0.9375rem; color: #A8D4C8; margin: 0; }
.cp-process__steps {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 0;
    position: relative;
}
.cp-process__steps::before {
    content: '';
    position: absolute;
    top: 28px;
    left: calc(10% + 28px);
    right: calc(10% + 28px);
    height: 2px;
    background: rgba(110,208,152,0.28);
    z-index: 0;
}
.cp-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 1rem;
    position: relative;
    z-index: 1;
}
.cp-step__num {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: rgba(255,255,255,0.06);
    border: 2px solid rgba(110,208,152,0.30);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    flex-shrink: 0;
}
.cp-step__num img { filter: brightness(0) saturate(100%) invert(72%) sepia(28%) saturate(600%) hue-rotate(100deg) brightness(108%) contrast(90%); }
.cp-step__title { font-family: var(--ff-head); font-size: 0.9375rem; font-weight: var(--fw-bd); color: #FFFFFF; margin-bottom: 0.5rem; }
.cp-step__text { font-family: var(--ff-body); font-size: 0.875rem; font-weight: var(--fw-med); color: #7AAFA3; line-height: 1.55; }

.cp-commercial { padding: 5rem 0; background: #FFFFFF; }
.cp-commercial__wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: start; }
.cp-commercial__text h2 { margin-bottom: 1rem; }
.cp-commercial__text p { font-family: var(--ff-body); font-size: 0.9375rem; color: var(--jv-teal-muted); line-height: 1.78; margin: 0 0 1rem; }
.cp-commercial__text p:last-child { margin: 0; }
.cp-commercial__text strong { color: var(--jv-teal-dark); font-weight: 700; }
.cp-commercial__text a { color: var(--jv-teal-core); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; transition: color 0.2s; }
.cp-commercial__text a:hover { color: var(--jv-teal-dark); }
.cp-disclosure-box {
    background: #F0FAF6;
    border: 1px solid rgba(46,162,130,0.20);
    border-radius: 16px;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.cp-disclosure-box__title { font-family: var(--ff-body); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.10em; text-transform: uppercase; color: var(--jv-teal-core); }
.cp-disclosure-box__text { font-family: var(--ff-body); font-size: 0.9375rem; color: var(--jv-teal-muted); line-height: 1.7; margin: 0; }
.cp-disclosure-box__text strong { color: var(--jv-teal-dark); font-weight: 700; }
.cp-disclosure-box__link { display: inline-flex; align-items: center; gap: 0.4rem; font-family: var(--ff-body); font-size: 0.9375rem; font-weight: 700; color: var(--jv-teal-core); text-decoration: underline; text-underline-offset: 2px; transition: color 0.2s; }
.cp-disclosure-box__link:hover { color: var(--jv-teal-dark); }

.cp-compliance { padding: 5rem 0; background: #F7FEFB; }
.cp-compliance__head { margin-bottom: 2.5rem; }
.cp-compliance__head h2 { margin-bottom: 0.5rem; }
.cp-compliance__head p { font-family: var(--ff-body); font-size: 0.9375rem; color: var(--jv-teal-muted); margin: 0; }
.cp-compliance__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.cp-check-card {
    background: #FFFFFF;
    border: 1px solid rgba(46,162,130,0.14);
    border-radius: 12px;
    padding: 1.25rem;
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.cp-check-card__icon { flex-shrink: 0; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; margin-top: 0.1em; }
.cp-check-card__icon img { filter: brightness(0) saturate(100%) invert(36%) sepia(42%) saturate(700%) hue-rotate(134deg) brightness(96%) contrast(92%); }
.cp-check-card__text { font-family: var(--ff-body); font-size: 0.9375rem; font-weight: var(--fw-med); color: var(--jv-teal-dark); line-height: 1.5; }

.cp-contact { padding: 5rem 0; background: #FFFFFF; }
.cp-contact__wrap { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: start; }
.cp-contact__info h2 { margin-bottom: 1rem; }
.cp-contact__info p { font-family: var(--ff-body); font-size: 0.9375rem; color: var(--jv-teal-muted); line-height: 1.7; margin: 0 0 1.5rem; }
.cp-contact__email-row { display: flex; align-items: center; gap: 0.75rem; padding: 1rem 1.25rem; background: #F7FEFB; border: 1px solid rgba(46,162,130,0.16); border-radius: 10px; }
.cp-contact__email-row img { filter: brightness(0) saturate(100%) invert(36%) sepia(42%) saturate(700%) hue-rotate(134deg) brightness(96%) contrast(92%); flex-shrink: 0; }
.cp-contact__email { font-family: var(--ff-body); font-size: 0.9375rem; font-weight: 700; color: var(--jv-teal-core); text-decoration: none; transition: color 0.2s; }
.cp-contact__email:hover { color: var(--jv-teal-dark); }
.cp-form { display: flex; flex-direction: column; gap: 1rem; }
.cp-form__group { display: flex; flex-direction: column; gap: 0.375rem; }
.cp-form__label { font-family: var(--ff-body); font-size: 0.875rem; font-weight: 700; color: var(--jv-teal-dark); }
.cp-form__input,
.cp-form__textarea {
    font-family: var(--ff-body);
    font-size: 0.9375rem;
    font-weight: var(--fw-med);
    color: var(--jv-teal-dark);
    background: #F7FEFB;
    border: 1px solid rgba(46,162,130,0.22);
    border-radius: 10px;
    padding: 0.75rem 1rem;
    width: 100%;
    outline: none;
    transition: border-color 0.22s ease, box-shadow 0.22s ease;
    appearance: none;
}
.cp-form__input:focus,
.cp-form__textarea:focus { border-color: var(--jv-teal-core); box-shadow: 0 0 0 3px rgba(46,162,130,0.12); }
.cp-form__textarea { resize: vertical; min-height: 140px; line-height: 1.6; }
.cp-form__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    font-family: var(--ff-head);
    font-weight: var(--fw-bd);
    font-size: 0.9375rem;
    color: #FFFFFF;
    background: var(--jv-teal-dark);
    border: none;
    border-radius: 30px;
    height: 50px;
    padding: 0 2rem;
    cursor: pointer;
    width: fit-content;
    transition: background 0.26s ease, box-shadow 0.26s ease;
    box-shadow: 0 4px 14px rgba(30,112,96,0.26);
}
.cp-form__btn:hover { background: var(--jv-teal-core); box-shadow: 0 6px 20px rgba(30,112,96,0.34); }

@media (max-width: 960px) {
    .cp-hero__wrap { grid-template-columns: 1fr; }
    .cp-hero__deco { display: none; }
    .cp-who__wrap { grid-template-columns: 1fr; }
    .cp-commercial__wrap { grid-template-columns: 1fr; }
    .cp-contact__wrap { grid-template-columns: 1fr; gap: 2.5rem; }
    .cp-process__steps { grid-template-columns: 1fr 1fr; gap: 2rem; }
    .cp-process__steps::before { display: none; }
}
@media (max-width: 768px) {
    .cp-policy__grid { grid-template-columns: 1fr; }
    .cp-compliance__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
    .cp-compliance__grid { grid-template-columns: 1fr; }
    .cp-process__steps { grid-template-columns: 1fr; }
}

.cp-thankyou {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 2rem;
    background: #F0FAF6;
    border: 1px solid rgba(46,162,130,0.22);
    border-radius: 16px;
}
.cp-thankyou[hidden] { display: none; }
.cp-thankyou__icon img { filter: brightness(0) saturate(100%) invert(36%) sepia(42%) saturate(700%) hue-rotate(134deg) brightness(96%) contrast(92%); }
.cp-thankyou__title { font-family: var(--ff-head); font-size: 1.25rem; font-weight: var(--fw-bd); color: var(--jv-teal-dark); margin: 0; }
.cp-thankyou__text { font-family: var(--ff-body); font-size: 0.9375rem; font-weight: var(--fw-med); color: var(--jv-teal-muted); line-height: 1.6; margin: 0; }