/* ==========================================================================
   Craig Elite Programs — front-end styles
   ========================================================================== */
.cep-section{
	--cep-cream:#f7f3e9;
	--cep-card:#fbf9f2;
	--cep-border:#e7e1d2;
	--cep-ink:#1b2e1f;
	--cep-muted:#6f7064;
	--cep-green:#2e7d4f;
	--cep-dark:#143320;
	--cep-btn:#173a24;
	--cep-radius:14px;

	max-width:1180px;
	margin:0 auto;
	padding:64px 22px;
	box-sizing:border-box;
	font-family:"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
	color:var(--cep-ink);
}
.cep-section *{box-sizing:border-box;}

/* ---- Section header ---- */
.cep-section__head{text-align:center;max-width:660px;margin:0 auto 46px;}
.cep-eyebrow{
	font-family:"JetBrains Mono",monospace;
	font-size:12px;letter-spacing:.18em;text-transform:uppercase;
	color:var(--cep-muted);display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 18px;
}
.cep-eyebrow span{display:inline-block;width:24px;height:1px;background:var(--cep-muted);opacity:.6;}
.cep-section__title{
	font-family:"Fraunces",Georgia,serif;
	font-weight:500;font-size:clamp(30px,4.4vw,46px);line-height:1.08;margin:0 0 16px;color:var(--cep-ink);
}
.cep-section__title em{font-style:italic;color:var(--cep-green);}
.cep-section__sub{font-size:15.5px;line-height:1.6;color:var(--cep-muted);margin:0;}

/* ---- Card grid ---- */
.cep-grid-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;}
@media(max-width:760px){.cep-grid-cards{grid-template-columns:1fr;}}

/* ---- Card ---- */
.cep-card{
	background:var(--cep-card);
	border:1px solid var(--cep-border);
	border-radius:var(--cep-radius);
	padding:30px 30px 28px;
	display:flex;flex-direction:column;
	transition:transform .25s ease,box-shadow .25s ease;
}
.cep-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(20,51,32,.45);}

.cep-card__meta{
	font-family:"JetBrains Mono",monospace;
	font-size:12px;letter-spacing:.06em;color:var(--cep-muted);margin:0 0 16px;text-transform:none;
}
.cep-card__num{color:var(--cep-muted);}

.cep-card__title{
	font-family:"Fraunces",Georgia,serif;
	font-weight:500;font-size:27px;line-height:1.15;margin:0 0 14px;color:var(--cep-ink);
}
.cep-card__title .cep-accent{color:var(--cep-green);}

.cep-card__desc{font-size:14.5px;line-height:1.6;color:var(--cep-muted);margin:0 0 22px;}

.cep-card__features{list-style:none;margin:0 0 4px;padding:0;display:flex;flex-direction:column;gap:11px;}
.cep-card__features li{display:flex;align-items:center;gap:11px;font-size:14px;color:var(--cep-ink);}
.cep-card__features svg{flex:0 0 auto;}

.cep-card__divider{height:1px;background:var(--cep-border);margin:22px 0 18px;}

.cep-card__footer{
	margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.cep-card__price{display:flex;flex-direction:column;gap:4px;}
.cep-card__price-val{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:30px;color:var(--cep-green);line-height:1;}
.cep-card__price-note{font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.04em;color:var(--cep-muted);}

/* ---- Button ---- */
.cep-btn{
	display:inline-flex;align-items:center;gap:8px;
	background:var(--cep-btn);color:#fff;
	font-family:"JetBrains Mono",monospace;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
	padding:13px 22px;border-radius:30px;text-decoration:none;white-space:nowrap;
	transition:background .2s ease,transform .2s ease;
}
.cep-btn:hover{background:var(--cep-green);transform:translateY(-1px);color:#fff;}
.cep-btn span{transition:transform .2s ease;}
.cep-btn:hover span{transform:translateX(3px);}

/* ---- Featured (dark) card ---- */
.cep-card--featured{background:var(--cep-dark);border-color:var(--cep-dark);}
.cep-card--featured .cep-card__meta,
.cep-card--featured .cep-card__desc,
.cep-card--featured .cep-card__price-note,
.cep-card--featured .cep-card__num{color:#a9c3b1;}
.cep-card--featured .cep-card__title{color:#fff;}
.cep-card--featured .cep-card__title .cep-accent{color:#6cc18c;}
.cep-card--featured .cep-card__features li{color:#e8efe9;}
.cep-card--featured .cep-card__divider{background:rgba(255,255,255,.14);}
.cep-card--featured .cep-card__price-val{color:#fff;}
.cep-card--featured .cep-btn{background:var(--cep-green);}
.cep-card--featured .cep-btn:hover{background:#fff;color:var(--cep-dark);}

/* ---- Checkout modal ---- */
.cep-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;font-family:"Jost",-apple-system,sans-serif;}
.cep-modal[hidden]{display:none;}
.cep-modal__overlay{position:absolute;inset:0;background:rgba(20,32,22,.55);backdrop-filter:blur(2px);}
.cep-modal__box{position:relative;background:#fbf9f2;border:1px solid #e7e1d2;border-radius:16px;width:min(420px,92vw);padding:30px 30px 26px;box-shadow:0 30px 70px -20px rgba(20,51,32,.5);}
.cep-modal__x{position:absolute;top:12px;right:14px;background:none;border:0;font-size:26px;line-height:1;color:#8a8a7e;cursor:pointer;}
.cep-modal__eyebrow{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#6f7064;margin:0 0 6px;}
.cep-modal__plan{font-family:"Fraunces",Georgia,serif;font-weight:500;font-size:23px;color:#1b2e1f;margin:0 0 4px;}
.cep-modal__price{font-family:"Fraunces",Georgia,serif;font-weight:600;font-size:22px;color:#2e7d4f;margin:0 0 18px;}
.cep-modal__field{margin-bottom:13px;}
.cep-modal__field label{display:block;font-size:12.5px;color:#4a4a40;margin-bottom:5px;}
.cep-modal__field input{width:100%;box-sizing:border-box;border:1px solid #d9d3c3;border-radius:9px;padding:11px 13px;font-size:14.5px;background:#fff;color:#1b2e1f;}
.cep-modal__field input:focus{outline:none;border-color:#2e7d4f;box-shadow:0 0 0 3px rgba(46,125,79,.15);}
.cep-modal__error{color:#b32d2e;font-size:13px;margin:2px 0 10px;}
.cep-modal .cep-btn.cep-modal__go{width:100%;justify-content:center;margin-top:6px;border:0;cursor:pointer;font-size:13px;}
.cep-modal__go[disabled]{opacity:.6;cursor:default;}
.cep-modal__note{font-size:11.5px;color:#8a8a7e;text-align:center;margin:12px 0 0;}
