.kdf-wrap{--red:#D6413A;--red-d:#C93A32;--cream:#F2EEE6;--ink:#141414;--line:#E4DED2;--card:#FAF7F1;
	box-sizing:border-box;max-width:1100px;margin:0 auto;padding:0 20px;color:var(--ink);
	font-family:'Outfit',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
.kdf-wrap *,.kdf-wrap *::before,.kdf-wrap *::after{box-sizing:border-box}

/* ---------- heading ---------- */
.kdf-wrap .kdf-head{text-align:center;max-width:680px;margin:0 auto 44px}
.kdf-wrap .kdf-kicker{display:inline-flex;align-items:center;gap:8px;font-size:13px!important;font-weight:600!important;letter-spacing:.08em;
	text-transform:uppercase;color:var(--red)!important;margin:0 0 14px!important}
.kdf-wrap .kdf-kicker i{width:8px;height:8px;border-radius:50%;background:var(--red)}
.kdf-wrap .kdf-title{font-family:'Outfit',system-ui,sans-serif!important;font-size:clamp(32px,4.6vw,50px)!important;font-weight:800!important;
	line-height:1.06!important;letter-spacing:-.03em!important;text-transform:none!important;color:var(--ink)!important;margin:0 0 14px!important;padding:0!important}
.kdf-wrap .kdf-sub{font-size:18px;line-height:1.6;color:#4a4640!important;margin:0!important}

/* ---------- FAQ accordion ---------- */
.kdf-faq .kdf-list{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}
.kdf-faq .kdf-item{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;
	transition:border-color .25s ease,box-shadow .25s ease}
.kdf-faq .kdf-item:hover{border-color:#d3cbbb}
.kdf-faq .kdf-item[open]{border-color:var(--red);box-shadow:0 14px 34px -22px rgba(20,20,20,.35)}
.kdf-faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;
	padding:22px 26px;margin:0}
.kdf-faq summary::-webkit-details-marker{display:none}
.kdf-faq summary::marker{content:''}
.kdf-faq summary:focus-visible{outline:3px solid rgba(214,65,58,.35);outline-offset:-3px;border-radius:18px}
.kdf-faq .kdf-q{font-size:19px;font-weight:700;line-height:1.35;letter-spacing:-.01em;color:var(--ink)}
.kdf-faq .kdf-plus{position:relative;flex:none;width:32px;height:32px;border-radius:50%;background:#fff;border:1px solid var(--line);
	transition:background .25s ease,border-color .25s ease,transform .3s ease}
.kdf-faq .kdf-plus::before,.kdf-faq .kdf-plus::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;
	margin:-1px 0 0 -6px;border-radius:2px;background:var(--red);transition:background .25s ease,transform .3s ease}
.kdf-faq .kdf-plus::after{transform:rotate(90deg)}
.kdf-faq .kdf-item[open] .kdf-plus{background:var(--red);border-color:var(--red)}
.kdf-faq .kdf-item[open] .kdf-plus::before,.kdf-faq .kdf-item[open] .kdf-plus::after{background:var(--cream)}
.kdf-faq .kdf-item[open] .kdf-plus::after{transform:rotate(0deg)}
.kdf-faq .kdf-answer{padding:0 26px 24px;font-size:16.5px;line-height:1.7;color:#4a4640}
.kdf-faq .kdf-answer p{margin:0 0 12px!important;color:inherit}
.kdf-faq .kdf-answer p:last-child{margin-bottom:0!important}
.kdf-faq .kdf-answer a{color:var(--red-d);text-decoration:underline}
.kdf-faq .kdf-answer ul,.kdf-faq .kdf-answer ol{margin:0 0 12px 22px;padding:0}

/* ---------- Contact cards ---------- */
.kdf-contact .kdf-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.kdf-contact .kdf-card{display:flex;flex-direction:column;gap:6px;min-width:0;padding:30px;border-radius:24px;
	background:var(--card);border:1px solid var(--line);text-decoration:none!important;color:var(--ink)!important;
	transition:transform .3s ease,box-shadow .3s ease}
.kdf-contact .kdf-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(20,20,20,.4)}
.kdf-contact .kdf-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;background:#fff;border:1px solid var(--line);margin-bottom:18px}
.kdf-contact .kdf-ico svg{width:22px;height:22px;stroke:var(--red);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.kdf-contact .kdf-label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7}
.kdf-contact .kdf-value{font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.25;word-break:break-word}
.kdf-contact .kdf-go{margin-top:18px;font-size:15px;font-weight:700;color:var(--red-d)}
.kdf-contact .kdf-go b{display:inline-block;transition:transform .25s ease}
.kdf-contact .kdf-card:hover .kdf-go b{transform:translateX(5px)}

.kdf-contact .kdf-feature{background:var(--red);border-color:var(--red);color:var(--cream)!important}
.kdf-contact .kdf-feature .kdf-ico{background:rgba(242,238,230,.16);border-color:rgba(242,238,230,.3)}
.kdf-contact .kdf-feature .kdf-ico svg{stroke:var(--cream)}
.kdf-contact .kdf-feature .kdf-go{color:var(--cream)}

.kdf-contact .kdf-note{text-align:center;margin:28px 0 0!important;font-size:15px;color:#4a4640!important}

.kdf-admin-note{padding:12px 16px;border:1px dashed #D6413A;border-radius:10px;color:#C93A32;font-size:14px}

@media (max-width:640px){
	.kdf-wrap .kdf-head{margin-bottom:30px}
	.kdf-wrap .kdf-sub{font-size:16px}
	.kdf-faq summary{padding:18px 18px}
	.kdf-faq .kdf-q{font-size:17px}
	.kdf-faq .kdf-answer{padding:0 18px 20px}
	.kdf-contact .kdf-card{padding:24px}
}
@media (prefers-reduced-motion:reduce){
	.kdf-wrap *{transition:none!important}
}
