/* ── BUTTONS ── */
.btn{padding:13px 26px;border-radius:5px;font-weight:500;font-size:0.86rem;text-decoration:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;display:inline-block;}
.btn-red{background:var(--red);color:#fff;}
.btn-red:hover{opacity:.88;transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--white-60);border:1px solid var(--border-m);}
.btn-ghost:hover{border-color:var(--white-35);color:var(--white);}
.btn-green{background:var(--green);color:#fff;font-weight:600;}
.btn-green:hover{opacity:.88;transform:translateY(-1px);}
.btn-outline-green{background:transparent;color:var(--green);border:1px solid var(--green-mid);}
.btn-outline-green:hover{background:var(--green-dim);}
.btn-sm{padding:9px 18px;font-size:0.8rem;}


/* ── STAT ROW ── */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);}
.stat-cell{padding:32px 28px;border-right:1px solid var(--border);}
.stat-cell:last-child{border-right:none;}
.stat-num{font-family:'Instrument Serif',serif;font-size:2.2rem;color:var(--white);display:block;margin-bottom:4px;line-height:1;}
.stat-desc{font-size:0.76rem;color:var(--white-35);line-height:1.4;}
@media(max-width:900px){.stat-row{grid-template-columns:1fr 1fr;}}


/* ── CARDS ── */
.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:28px;transition:border-color .25s,transform .25s;}
a.card{display:block;}
.card:hover{border-color:var(--border-m);transform:translateY(-2px);}
.card-label{font-size:0.65rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--white-35);margin-bottom:12px;display:block;}
.card h3{font-size:1rem;margin-bottom:8px;}
.card p{font-size:0.82rem;line-height:1.75;color:var(--white-60);font-weight:300;}
.card-price{font-family:'Instrument Serif',serif;font-size:1.5rem;color:var(--white);margin-top:20px;display:block;}
.card-price small{font-family:'Inter',sans-serif;font-size:0.74rem;color:var(--white-35);font-weight:300;}
.card-green{border-color:var(--green-mid);}
.card-green:hover{border-color:var(--green);}
.card-red{border-color:var(--red-mid);}
.card-clickable{cursor:pointer;}


/* ── SECTION BG VARIANTS ── */
.bg-surface{background:var(--surface);}
.bg-black{background:var(--black);}
.bg-base{background:var(--base);}


/* ── DATA TABLE ── */
.data-table{width:100%;border-collapse:collapse;}
.data-table th{font-size:0.65rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--white-35);padding:14px 18px;text-align:left;border-bottom:1px solid var(--border);}
.data-table td{padding:16px 18px;font-size:0.84rem;color:var(--text);border-bottom:1px solid var(--border);vertical-align:top;}
.data-table tr:last-child td{border-bottom:none;}
.data-table tr:hover td{background:var(--white-06);}
.mono{font-family:'IBM Plex Mono',monospace;font-size:0.82rem;color:var(--green);}


/* ── BADGE ── */
.badge{display:inline-block;padding:3px 10px;border-radius:3px;font-size:0.68rem;font-weight:500;letter-spacing:.04em;}
.badge-red{background:var(--red-dim);color:var(--red);border:1px solid var(--red-mid);}
.badge-green{background:var(--green-dim);color:var(--green);border:1px solid var(--green-mid);}
.badge-muted{background:var(--white-06);color:var(--white-35);border:1px solid var(--border);}


/* ── CALLOUT ── */
.callout{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:32px;}
.callout-red{border-color:var(--red-mid);background:var(--red-dim);}
.callout-green{border-color:var(--green-mid);background:var(--green-dim);}
.callout h4{margin-bottom:8px;}
.callout p{font-size:0.85rem;line-height:1.75;color:var(--white-60);}
.callout-red p{color:var(--red);}
.callout-green p{color:var(--green);}


/* ── FEATURE ROWS ── */
.feature-row{display:flex;align-items:flex-start;gap:20px;padding:24px 0;border-bottom:1px solid var(--border);}
.feature-row:last-child{border-bottom:none;}
.feature-num{font-family:'Instrument Serif',serif;font-size:1.1rem;color:var(--white-35);min-width:28px;margin-top:1px;}
.feature-text h4{font-size:.9rem;font-weight:600;color:var(--white);margin-bottom:4px;}
.feature-text p{font-size:.82rem;line-height:1.7;color:var(--white-60);font-weight:300;}


/* ── PRICE CARDS ── */
.price-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:2rem 0;}
.price-card{background:var(--surface);padding:28px;}
.price-card h3{font-size:.92rem;margin-bottom:.2rem;}
.price-amount{font-family:'Instrument Serif',serif;font-size:2.2rem;color:var(--white);margin:.5rem 0 .2rem;line-height:1;}
.price-freq{font-size:11px;color:var(--white-35);font-family:'IBM Plex Mono',monospace;}
.price-desc{font-size:12px;color:var(--white-60);margin-top:.65rem;line-height:1.6;}
.price-includes{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border);font-size:12px;color:var(--white-35);line-height:1.9;}
.price-includes li{list-style:none;padding-left:.65rem;position:relative;}
.price-includes li::before{content:'-';position:absolute;left:0;color:var(--white-12);}


/* ── STEP LIST ── */
.step-row{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid var(--border);align-items:flex-start;}
.step-row:last-child{border-bottom:none;}
.step-num{font-family:'Instrument Serif',serif;font-size:1.4rem;color:var(--white-35);min-width:32px;flex-shrink:0;line-height:1.2;}
.step-content h4{font-size:.92rem;font-weight:600;color:var(--white);margin-bottom:5px;}
.step-content p{font-size:.82rem;line-height:1.75;color:var(--white-60);font-weight:300;}


/* ── REVEAL ANIMATIONS ── */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-delay-1{transition-delay:.08s;}
.reveal-delay-2{transition-delay:.16s;}
.reveal-delay-3{transition-delay:.24s;}
.reveal-delay-4{transition-delay:.32s;}


/* ── VITALS / GIVE BACK ── */
.give-hero{min-height:60vh;display:flex;flex-direction:column;justify-content:center;padding:120px 7% 80px;background:var(--black);position:relative;overflow:hidden;}
.give-hero::after{content:'';position:absolute;top:0;right:0;width:50%;height:100%;background:radial-gradient(ellipse 70% 60% at 70% 40%,rgba(46,139,106,0.05) 0%,transparent 70%);pointer-events:none;}
.ekg-line{position:absolute;bottom:0;left:0;right:0;height:48px;opacity:.15;pointer-events:none;}
.ekg-path{stroke:var(--green);stroke-width:1.5;fill:none;stroke-dasharray:2000;stroke-dashoffset:2000;animation:ekgDraw 3.5s ease forwards .5s;}
@keyframes ekgDraw{to{stroke-dashoffset:0;}}
.program-header{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.program-mark{color:var(--green);}


/* ── WAITLIST ── */
.waitlist-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:40px;text-align:center;}
.waitlist-box h3{font-size:1.4rem;margin-bottom:12px;}
.waitlist-box p{font-size:.88rem;color:var(--white-60);max-width:440px;margin:.5rem auto 1.5rem;}
.waitlist-form{display:flex;gap:.5rem;max-width:440px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.waitlist-form input{flex:1;min-width:170px;background:var(--lifted);border:1px solid var(--border-m);border-radius:5px;padding:.65rem 1rem;color:var(--white);font-family:'Inter',sans-serif;font-size:.84rem;outline:none;}
.waitlist-form input:focus{border-color:var(--red);}
.waitlist-form input::placeholder{color:var(--white-35);}


/* ── MODULE LIST (curriculum) ── */
.module-list{list-style:none;margin-top:1rem;}
.module-list li{padding:.65rem 0 .65rem 1.25rem;position:relative;border-bottom:1px solid var(--border);font-size:.83rem;color:var(--white-60);}
.module-list li:last-child{border-bottom:none;}
.module-list li::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--white-35);position:absolute;left:0;top:50%;transform:translateY(-50%);}
.module-list li strong{color:var(--white);font-weight:600;display:block;margin-bottom:.1rem;}


/* ── TIER BLOCK ── */
.tier-block{border:1px solid var(--border);border-radius:8px;overflow:hidden;margin-bottom:24px;}
.tier-header{padding:18px 24px;border-bottom:1px solid var(--border);}
.tier-header-red{background:linear-gradient(135deg,rgba(232,98,74,0.08),rgba(232,98,74,0.03));}
.tier-header-green{background:linear-gradient(135deg,rgba(46,139,106,0.08),rgba(46,139,106,0.03));}
.tier-header-lifted{background:var(--lifted);}
.tier-header .label{margin-bottom:4px;}
.tier-header h3{font-size:.95rem;}
.tier-body{padding:20px 24px;background:var(--surface);}


/* ── SPEC BLOCK ── */
.spec-block{background:var(--black);border:1px solid var(--border);border-radius:8px;padding:24px;margin-bottom:16px;}
.spec-block .label{color:var(--red);margin-bottom:12px;}
.spec-block ul{list-style:none;}
.spec-block ul li{font-size:.83rem;color:var(--white-60);padding:.35rem 0 .35rem 1.25rem;position:relative;border-bottom:1px solid var(--border);}
.spec-block ul li:last-child{border-bottom:none;}
.spec-block ul li::before{content:'→';position:absolute;left:0;color:var(--red);font-size:11px;}
.spec-block ul li strong{color:var(--white);font-weight:500;}
.spec-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border-radius:6px;overflow:hidden;margin-top:.75rem;}
.spec-cell{background:var(--surface);padding:14px 16px;}
.spec-cell .spec-label{font-size:10px;font-weight:500;color:var(--white-35);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.25rem;}
.spec-cell .spec-val{font-size:.82rem;color:var(--white-60);}
@media(max-width:600px){.spec-row{grid-template-columns:1fr;}}


/* ── TEMPLATE BOX ── */
.tpl-wrap{position:relative;margin:1rem 0;}
.tpl-label-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.tpl-label-row span{font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--white-35);}
.tpl-copy{background:var(--white-06);border:1px solid var(--border);color:var(--white-35);font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.1em;padding:4px 10px;border-radius:3px;cursor:pointer;transition:all .2s;}
.tpl-copy:hover{border-color:var(--border-m);color:var(--white-60);}
.tpl-block{background:var(--lifted);border:1px solid var(--border);border-radius:6px;padding:20px 24px;font-family:'IBM Plex Mono',monospace;font-size:.74rem;line-height:2;color:var(--white-35);white-space:pre-wrap;}


/* ── FOOTER ── */
footer{background:var(--black);border-top:1px solid var(--border);padding:56px 7% 36px;}
.footer-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--border);margin-bottom:24px;}
.footer-col h5{font-size:.65rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--white-35);margin-bottom:16px;}
.footer-col p{font-size:.78rem;line-height:1.75;color:var(--white-35);font-weight:300;}
.footer-links{list-style:none;}
.footer-links li{margin-bottom:8px;}
.footer-links a{font-size:.78rem;color:var(--white-35);text-decoration:none;cursor:pointer;transition:color .2s;}
.footer-links a:hover{color:var(--white);}
.footer-bottom{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-bottom p{font-size:.72rem;color:var(--white-35);}
.green-link{color:var(--green)!important;}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr 1fr;}}
@media(max-width:520px){.footer-grid{grid-template-columns:1fr;}}
