/* ---------- CTA Block ---------- */
.cta-block { position:relative; width:100%; padding:85px 0 95px; overflow:hidden; color:var(--textColor); background:#F6F3F0; }
.cta-block__container { width:calc(100% - 40px); max-width:var(--container-width); margin:0 auto; }
.cta-block__inner { display:grid; grid-template-columns:74px minmax(0,1fr); gap:30px; align-items:center; width:100%; max-width:1000px; margin:0 auto; padding:62px 72px; background:#fff; border:1px solid rgba(15,15,15,.1); border-radius:24px; box-shadow:0 18px 55px rgba(15,15,15,.06); }
.cta-block__icon { display:flex; align-items:center; justify-content:center; width:74px; height:74px; color:var(--backgroundColorOrange); background:rgba(var(--backgroundColorOrangeRGB),.07); border:1px solid rgba(var(--backgroundColorOrangeRGB),.22); border-radius:50%; }
.cta-block__icon .kami-icon { display:block; width:36px; height:36px; color:currentColor; }
.cta-block__icon .dashicons { display:block; width:36px; height:36px; color:currentColor; font-size:36px; line-height:36px; }
.cta-block__content { width:100%; min-width:0; text-align:left; }
.cta-block__eyebrow { margin:0 0 7px; color:var(--backgroundColorOrange); font-size:14px; line-height:1.4; font-weight:700; text-transform:uppercase; }
.cta-block__title { max-width:760px; margin:0; color:var(--textColor); font-size:clamp(34px,3vw,46px); line-height:1.1; font-weight:700; letter-spacing:-.035em; text-wrap:balance; }
.cta-block__title span { color:var(--backgroundColorOrange); }
.cta-block__title.line { margin-bottom:0; padding-bottom:18px!important; }
.cta-block__description { max-width:680px; margin:20px 0 0; color:#4a4a4a; font-size:16px; line-height:1.7; }
.cta-block__description p { margin:0; }
.cta-block__description p + p { margin-top:14px; }
.cta-block__buttons { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:14px; margin-top:28px; }
.cta-block__button { display:inline-flex; align-items:center; justify-content:center; gap:13px; min-height:52px; padding:0 24px; border:1px solid transparent; border-radius:8px; font-size:15px; line-height:1; font-weight:600; text-decoration:none; transition:color .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.cta-block__button:hover { text-decoration:none; transform:translateY(-2px); }
.cta-block__button span:last-child { font-size:19px; line-height:1; transition:transform .25s ease; }
.cta-block__button:hover span:last-child { transform:translateX(3px); }
.cta-block__button--primary { color:#fff; background:var(--backgroundColorOrange); border-color:var(--backgroundColorOrange); }
.cta-block__button--primary:hover { color:#fff; background:var(--buttonHover); border-color:var(--buttonHover); box-shadow:0 10px 24px rgba(var(--backgroundColorOrangeRGB),.18); }
.cta-block__button--secondary { color:var(--textColor); background:#fff; border-color:rgba(15,15,15,.2); }
.cta-block__button--secondary:hover { color:var(--backgroundColorOrange); background:#fff; border-color:var(--backgroundColorOrange); }

@media (max-width:767px) {
.cta-block { padding:60px 0 70px; }
.cta-block__container { width:calc(100% - 32px); }
.cta-block__inner { grid-template-columns:58px minmax(0,1fr); gap:18px; padding:44px 28px; border-radius:18px; }
.cta-block__icon { width:58px; height:58px; }
.cta-block__icon .kami-icon { width:29px; height:29px; }
.cta-block__icon .dashicons { width:29px; height:29px; font-size:29px; line-height:29px; }
.cta-block__eyebrow { margin-bottom:5px; font-size:12px; }
.cta-block__title { font-size:30px; line-height:1.08; }
.cta-block__title.line { padding-bottom:16px!important; }
.cta-block__description { grid-column:1/-1; margin-top:18px; font-size:15px; line-height:1.7; }
.cta-block__buttons { gap:12px; margin-top:24px; }
}

@media (max-width:560px) {
.cta-block__inner { grid-template-columns:52px minmax(0,1fr); gap:15px; padding:38px 22px; }
.cta-block__icon { width:52px; height:52px; }
.cta-block__icon .kami-icon { width:26px; height:26px; }
.cta-block__icon .dashicons { width:26px; height:26px; font-size:26px; line-height:26px; }
.cta-block__title { font-size:27px; }
.cta-block__buttons { flex-direction:column; align-items:stretch; }
.cta-block__button { width:100%; }
}

@media (max-width:420px) {
.cta-block__container { width:calc(100% - 28px); }
.cta-block__inner { grid-template-columns:48px minmax(0,1fr); gap:13px; padding:34px 18px; }
.cta-block__icon { width:48px; height:48px; }
.cta-block__title { font-size:24px; }
.cta-block__description { font-size:14px; }
}

/* ---------- Dark card, same look as the portfolio CTA (27-09) ---------- */
.cta-block__inner { position:relative; isolation:isolate; overflow:hidden; max-width:1180px; color:#fff; background:var(--backgroundColorBlack); border:1px solid var(--backgroundColorBorder); border-radius:12px; box-shadow:0 22px 60px rgba(15,15,15,.18); }
.cta-block__inner::before { position:absolute; z-index:-1; top:-170px; right:-130px; width:390px; height:390px; content:""; border:1px solid rgba(var(--backgroundColorOrangeRGB),.35); border-radius:50%; pointer-events:none; }
.cta-block__inner::after { position:absolute; z-index:-1; right:125px; bottom:-210px; width:350px; height:350px; content:""; border:1px solid rgba(255,255,255,.07); border-radius:50%; pointer-events:none; }
.cta-block__icon { background:rgba(var(--backgroundColorOrangeRGB),.12); border-color:rgba(var(--backgroundColorOrangeRGB),.4); }
.cta-block__title { color:#fff; }
.cta-block__description, .cta-block__description p { color:rgba(255,255,255,.72); }
.cta-block__description a { color:#fff; text-decoration-color:var(--backgroundColorOrange); }
.cta-block__button--secondary { color:#fff; background:transparent; border-color:rgba(255,255,255,.28); }
.cta-block__button--secondary:hover { color:#fff; background:transparent; border-color:var(--backgroundColorOrange); }
@media (max-width:767px) {
.cta-block__inner { border-radius:12px; }
.cta-block__inner::before { top:-120px; right:-150px; width:260px; height:260px; }
.cta-block__inner::after { display:none; }
}

/* ---------- Strakker (27-09) ---------- */
@media (min-width:768px) {
.cta-block { padding-top:var(--section-pad); padding-bottom:var(--section-pad); }
.cta-block__title { font-size:var(--h2-size-lg); }
.cta-block__inner { border-radius:var(--radius-card-lg); }
}

/* ---------- Tekst links, knoppen rechts, icoon rechtsboven (28-09) ---------- */
.cta-block__inner { grid-template-columns:minmax(0,1fr); }
.cta-block__icon { position:absolute; z-index:1; top:28px; right:28px; width:64px; height:64px; }
.cta-block__icon .kami-icon, .cta-block__icon .kami-lucide { width:30px; height:30px; }
.cta-block__content :is(.cta-block__eyebrow, .cta-block__title) { padding-right:80px; }
@media (min-width:992px) {
.cta-block__inner { grid-template-columns:minmax(0,1fr) auto; column-gap:64px; align-items:end; padding:64px 72px; }
.cta-block__content :is(.cta-block__eyebrow, .cta-block__title) { padding-right:0; }
.cta-block__buttons { flex-direction:column; align-items:stretch; min-width:236px; margin-top:0; }
}
@media (max-width:767px) {
.cta-block__inner { grid-template-columns:minmax(0,1fr); }
.cta-block__icon { top:18px; right:18px; width:48px; height:48px; }
.cta-block__icon .kami-icon, .cta-block__icon .kami-lucide { width:24px; height:24px; }
.cta-block__content :is(.cta-block__eyebrow, .cta-block__title) { padding-right:52px; }
}
