/* Stay Ready Preps — kit builder styles (page-scoped) */
.nav-logo{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--sand);letter-spacing:-0.5px;flex-shrink:0;cursor:pointer;}
.nav-logo span{color:var(--sun);}
.nav-links{display:flex;gap:0.2rem;margin-left:auto;background:rgba(255,255,255,0.07);padding:0.25rem;border-radius:8px;flex-wrap:wrap;}
.nav-link{color:rgba(242,223,192,0.65);font-size:0.78rem;font-weight:500;padding:0.4rem 0.75rem;border-radius:6px;transition:all 0.2s;cursor:pointer;border:none;background:transparent;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.nav-link:hover{color:var(--sand);}
.nav-link.active{background:var(--ember);color:white;}
@keyframes fadeUp{
from{opacity:0;transform:translateY(10px);}
to{opacity:1;transform:translateY(0);}
}
.kpanel{display:none;}
.kpanel.active{display:block;animation:fadeUp 0.3s ease;}
.q-wrap{max-width:680px;margin:0 auto;padding:2.5rem 1.5rem 5rem;}
.results-wrap{max-width:900px;margin:0 auto;padding:2rem 1.5rem 3rem;}
.q-label{font-size:0.67rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--ember);margin-bottom:0.7rem;}
.q-title{font-family:'DM Serif Display',serif;font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.3;color:var(--soil);margin-bottom:0.5rem;}
.q-sub{font-size:0.87rem;color:var(--muted);line-height:1.6;margin-bottom:1.8rem;}
.btn-row{display:flex;gap:0.8rem;align-items:center;margin-top:2rem;flex-wrap:wrap;}
.home-hero{background:var(--soil);padding:5rem 2rem 4rem;text-align:center;position:relative;overflow:hidden;}
.home-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 50%,rgba(196,75,27,0.15) 0%,transparent 70%);}
.home-hero h1{font-family:'DM Serif Display',serif;font-size:clamp(2.4rem,5vw,3.8rem);color:var(--sand);line-height:1.1;margin-bottom:1.2rem;position:relative;}
.home-hero h1 em{font-style:italic;color:var(--sun);}
.home-hero p{font-size:1rem;color:rgba(242,223,192,0.72);max-width:560px;margin:0 auto 2.5rem;line-height:1.8;position:relative;}
.pillar-num{font-family:'DM Serif Display',serif;font-size:1.9rem;color:var(--sun);line-height:1;margin-bottom:0.25rem;}
.pillar-label{font-size:0.68rem;color:var(--sand);text-transform:uppercase;letter-spacing:0.08em;font-weight:500;}
.home-cta-row{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;position:relative;}
.btn-sand{background:var(--sand);color:var(--soil);border:none;padding:0.9rem 2rem;font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all 0.2s;}
.btn-sand:hover{background:white;transform:translateY(-1px);}
.btn-outline-sand{background:transparent;color:var(--sand);border:2px solid rgba(242,223,192,0.35);padding:0.9rem 2rem;font-family:'DM Sans',sans-serif;font-size:0.95rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all 0.2s;}
.btn-outline-sand:hover{border-color:var(--sand);background:rgba(242,223,192,0.08);}
.steppers{display:flex;flex-direction:column;gap:0.8rem;margin-bottom:0.5rem;}
.stepper-row{display:flex;align-items:center;gap:1rem;background:white;border:1px solid var(--border);border-radius:var(--r);padding:1rem 1.2rem;box-shadow:var(--shadow);}
.stepper-label{flex:1;font-size:0.95rem;color:var(--soil);font-weight:500;}
.stepper-sub{font-size:0.73rem;color:var(--muted);margin-top:0.15rem;}
.step-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(44,26,14,0.2);background:transparent;color:var(--soil);font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.2s;flex-shrink:0;}
.step-btn:hover{background:var(--ember);border-color:var(--ember);color:white;}
.step-val{font-family:'DM Serif Display',serif;font-size:1.6rem;color:var(--ember);min-width:36px;text-align:center;}
.check-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(185px,1fr));gap:0.7rem;margin-bottom:0.5rem;}
.check-card{background:white;border:1.5px solid var(--border);border-radius:var(--r);padding:0.95rem;cursor:pointer;transition:all 0.2s;display:flex;align-items:flex-start;gap:0.65rem;user-select:none;box-shadow:var(--shadow);}
.check-card:hover{border-color:var(--sun);}
.check-card.sel{border-color:var(--ember);background:rgba(196,75,27,0.05);}
.chk-box{width:18px;height:18px;border-radius:4px;border:1.5px solid rgba(44,26,14,0.2);flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:11px;color:white;transition:all 0.2s;}
.check-card.sel .chk-box{background:var(--ember);border-color:var(--ember);}
.chk-text{font-size:0.85rem;font-weight:500;color:var(--soil);line-height:1.4;}
.chk-sub{font-size:0.71rem;color:var(--muted);margin-top:0.15rem;}
.results-hero{background:#fff;border:1px solid #ecdfca;border-radius:16px;padding:2.2rem 2.4rem;margin-bottom:1.4rem;position:relative;overflow:hidden;color:var(--soil);box-shadow:0 6px 24px rgba(44,26,14,0.05);}
.results-hero::before{content:none;}
.results-hero h2{font-family:'DM Serif Display',serif;font-size:1.7rem;color:var(--soil);margin-bottom:0.9rem;}
.results-hero h2::after{content:'';display:block;width:46px;height:3px;background:var(--ember);border-radius:2px;margin-top:0.7rem;}
.results-hero p{font-size:0.86rem;opacity:0.7;line-height:1.6;}
.hh-tags{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:1rem;}
.hh-tag{background:#f6efe1;border:1px solid #e7d9c2;color:var(--soil);padding:0.3rem 0.75rem;border-radius:20px;font-size:0.73rem;font-weight:500;}
.total-bar{background:rgba(212,144,42,0.1);border:1px solid rgba(212,144,42,0.3);border-radius:var(--r);padding:1rem 1.5rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.5rem;}
.total-label{font-size:0.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:0.1em;}
.total-amount{font-family:'DM Serif Display',serif;font-size:1.9rem;color:var(--gold);}
.total-note{font-size:0.71rem;color:var(--muted);}
.result-actions{display:flex;gap:0.7rem;margin-bottom:2rem;flex-wrap:wrap;}
.btn-print{background:var(--sage);color:white;}
.btn-print:hover{background:#3a6a4a;}
.btn-restart{background:rgba(44,26,14,0.08);color:var(--soil);border:1px solid var(--border);}
.btn-restart:hover{background:rgba(44,26,14,0.14);}
.cat-block{margin-bottom:2.5rem;}
.cat-head{display:flex;align-items:center;gap:0.8rem;margin-bottom:1rem;padding-bottom:0.8rem;border-bottom:2px solid var(--border);}
.cat-icon-wrap{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;}
.cat-title{font-family:'DM Serif Display',serif;font-size:1.15rem;color:var(--soil);flex:1;}
.ai-tip-btn{background:rgba(212,144,42,0.1);border:1px solid rgba(212,144,42,0.3);color:var(--gold);font-size:0.68rem;font-weight:600;padding:0.28rem 0.65rem;border-radius:20px;cursor:pointer;transition:all 0.2s;font-family:'DM Sans',sans-serif;white-space:nowrap;}
.ai-tip-btn:hover{background:rgba(212,144,42,0.2);}
.ai-tip-box{background:rgba(212,144,42,0.07);border:1px solid rgba(212,144,42,0.2);border-radius:8px;padding:1rem 1.2rem;margin-bottom:1.2rem;font-size:0.84rem;line-height:1.7;color:var(--soil);display:none;}
.ai-tip-box.show{display:block;animation:fadeUp 0.3s ease;}
.ai-tip-header{font-size:0.67rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--gold);font-weight:600;margin-bottom:0.4rem;}
.ai-loading{display:flex;gap:4px;align-items:center;padding:0.3rem 0;}
.ai-loading span{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:bounce 1.2s infinite ease-in-out;}
.ai-loading span:nth-child(2){animation-delay:0.2s;}
.ai-loading span:nth-child(3){animation-delay:0.4s;}
@keyframes bounce{
0%,80%,100%{transform:scale(0.6);opacity:0.4;}
40%{transform:scale(1);opacity:1;}
}
.product-item{margin-bottom:1.8rem;}
.product-name{font-size:0.9rem;font-weight:600;color:var(--soil);margin-bottom:0.65rem;}
.tier-select-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0.6rem;}
.tier-card{background:white;border:1.5px solid var(--border);border-radius:8px;padding:0.85rem;cursor:pointer;transition:all 0.2s;position:relative;box-shadow:var(--shadow);}
.tier-card:hover{border-color:var(--sun);transform:translateY(-1px);}
.tier-card.chosen{border-color:var(--gold);background:rgba(212,144,42,0.07);}
.tier-badge{font-size:0.58rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;padding:0.18rem 0.5rem;border-radius:3px;margin-bottom:0.45rem;display:inline-block;}
.t-budget .tier-badge{background:rgba(74,122,92,0.12);color:var(--sage);}
.t-mid .tier-badge{background:rgba(46,106,138,0.12);color:var(--sky);}
.t-premium .tier-badge{background:rgba(196,75,27,0.1);color:var(--ember);}
.tier-pname{font-size:0.76rem;color:var(--muted);line-height:1.4;margin-bottom:0.45rem;}
.tier-price{font-family:'DM Serif Display',serif;font-size:1rem;color:var(--soil);margin-bottom:0.55rem;}
.tier-card.chosen .tier-price{color:var(--gold);}
.chosen-badge{position:absolute;top:0.45rem;right:0.45rem;font-size:0.82rem;display:none;}
.tier-card.chosen .chosen-badge{display:block;}
.tier-cb{width:16px;height:16px;border-radius:3px;border:1.5px solid rgba(44,26,14,0.25);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:10px;color:white;transition:all 0.2s;margin-bottom:0.5rem;}
.tier-card.chosen .tier-cb{background:var(--gold);border-color:var(--gold);}
.buy-btn{display:block;text-align:center;background:var(--soil);color:var(--sand);text-decoration:none;font-size:0.67rem;font-weight:600;letter-spacing:0.05em;text-transform:uppercase;padding:0.42rem;border-radius:4px;transition:background 0.2s;}
.buy-btn:hover{background:var(--ember);}
.tier-card.chosen .buy-btn{background:var(--ember);color:white;}
.sn-callout{background:rgba(46,106,138,0.07);border-left:3px solid var(--sky);border-radius:0 8px 8px 0;padding:0.85rem 1.1rem;margin-bottom:1.2rem;font-size:0.82rem;line-height:1.6;color:var(--muted);}
.sn-callout strong{color:var(--sky);display:block;margin-bottom:0.25rem;font-size:0.68rem;text-transform:uppercase;letter-spacing:0.08em;}
.complete-kit-wrap{background:white;border:2px solid var(--ember);border-radius:14px;padding:2rem;text-align:center;margin-top:2.5rem;box-shadow:0 8px 32px rgba(196,75,27,0.1);}
.complete-kit-wrap h3{font-family:'DM Serif Display',serif;font-size:1.35rem;color:var(--soil);margin-bottom:0.5rem;}
.complete-kit-wrap p{font-size:0.86rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.6;}
.btn-complete{background:var(--ember);color:white;border:none;padding:1rem 2.5rem;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all 0.2s;}
.btn-complete:hover{background:var(--soil);transform:translateY(-2px);}
.affiliate-note{background:white;border:1px solid var(--border);border-radius:8px;padding:1rem 1.2rem;font-size:0.73rem;color:var(--muted);line-height:1.7;margin-top:1.5rem;}
.s-divider{height:1px;background:linear-gradient(90deg,var(--ember),transparent);margin:2rem 0;opacity:0.2;}
.cl-header{margin-bottom:1.5rem;}
.cl-header h2{font-family:'DM Serif Display',serif;font-size:1.55rem;color:var(--soil);margin-bottom:0.3rem;}
.cl-header p{font-size:0.83rem;color:var(--muted);}
.cl-total-banner{background:var(--soil);color:var(--sand);border-radius:var(--r);padding:1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;flex-wrap:wrap;gap:0.8rem;}
.cl-total-label{font-size:0.68rem;text-transform:uppercase;letter-spacing:0.1em;opacity:0.65;margin-bottom:0.15rem;}
.cl-total-amount{font-family:'DM Serif Display',serif;font-size:1.7rem;color:var(--sun);}
.cl-total-remaining{font-size:1rem;color:var(--sand);font-weight:600;}
.cl-progress-wrap{background:white;border:1px solid var(--border);border-radius:var(--r);padding:1.1rem;margin-bottom:1.2rem;box-shadow:var(--shadow);}
.cl-progress-label{display:flex;justify-content:space-between;margin-bottom:0.5rem;font-size:0.78rem;color:var(--muted);}
.cl-progress-label span:last-child{color:var(--sage);font-weight:600;}
.cl-track{height:8px;background:var(--border);border-radius:4px;overflow:hidden;}
.cl-fill{height:100%;background:linear-gradient(90deg,var(--sage),var(--sun));border-radius:4px;transition:width 0.4s ease;}
.cl-item{display:flex;align-items:center;gap:0.9rem;padding:0.82rem 1rem;border-radius:8px;background:white;border:1px solid var(--border);margin-bottom:0.5rem;transition:all 0.2s;box-shadow:var(--shadow);}
.cl-item.checked{opacity:0.5;}
.cl-check{width:22px;height:22px;border-radius:5px;border:1.5px solid rgba(44,26,14,0.2);cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:white;transition:all 0.2s;}
.cl-item.checked .cl-check{background:var(--sage);border-color:var(--sage);}
.cl-info{flex:1;}
.cl-iname{font-size:0.86rem;font-weight:500;color:var(--soil);}
.cl-item.checked .cl-iname{text-decoration:line-through;color:var(--muted);}
.cl-icat{font-size:0.7rem;color:var(--muted);margin-top:0.12rem;}
.cl-price{font-size:0.86rem;color:var(--gold);font-weight:600;flex-shrink:0;}
.cl-item.checked .cl-price{color:var(--muted);}
.cl-buy{font-size:0.68rem;font-weight:600;color:var(--ember);text-decoration:none;white-space:nowrap;padding:0.28rem 0.55rem;border:1px solid rgba(196,75,27,0.3);border-radius:4px;transition:all 0.2s;}
.cl-buy:hover{background:var(--ember);color:white;}
.cl-empty{text-align:center;padding:3rem 1rem;color:var(--muted);font-size:0.88rem;line-height:1.8;background:white;border-radius:var(--r);border:1px solid var(--border);}
.select-hint{font-size:0.65rem;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;margin-left:0.6rem;opacity:0.7;}
@keyframes shake{
0%,100%{transform:translateX(0);}
25%{transform:translateX(-4px);}
75%{transform:translateX(4px);}
}
.page-eyebrow{display:inline-block;background:rgba(232,134,58,0.2);border:1px solid rgba(232,134,58,0.3);color:var(--sun);font-size:0.7rem;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;padding:0.35rem 1rem;border-radius:20px;margin-bottom:1.2rem;position:relative;}
.value-card{background:white;border:1px solid var(--border);border-radius:var(--r);padding:1.3rem;box-shadow:var(--shadow);transition:all 0.2s;}
.value-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(44,26,14,0.12);}
.value-icon{font-size:1.7rem;margin-bottom:0.7rem;display:block;}
.value-title{font-family:'DM Serif Display',serif;font-size:1.05rem;color:var(--soil);margin-bottom:0.35rem;}
.value-desc{font-size:0.8rem;color:var(--muted);line-height:1.6;}
.communities-block{background:linear-gradient(135deg,rgba(74,122,92,0.07),rgba(46,106,138,0.07));border:1px solid rgba(74,122,92,0.18);border-radius:14px;padding:2rem;margin-bottom:2rem;}
.communities-block h2{font-family:'DM Serif Display',serif;font-size:1.4rem;color:var(--soil);margin-bottom:0.7rem;}
.communities-block p{font-size:0.92rem;color:var(--muted);line-height:1.8;margin-bottom:1.1rem;}
.community-tags{display:flex;flex-wrap:wrap;gap:0.55rem;}
.ctag{background:white;border:1px solid var(--border);color:var(--soil);padding:0.35rem 0.9rem;border-radius:20px;font-size:0.8rem;font-weight:500;box-shadow:var(--shadow);}
.cert-block{background:white;border:1px solid var(--border);border-radius:var(--r);padding:1.4rem;display:flex;align-items:center;gap:1.1rem;margin-bottom:2rem;box-shadow:var(--shadow);}
.cert-icon{font-size:2.2rem;flex-shrink:0;}
.cert-text h3{font-family:'DM Serif Display',serif;font-size:1.05rem;color:var(--soil);margin-bottom:0.25rem;}
.cert-text p{font-size:0.8rem;color:var(--muted);line-height:1.6;}
.about-cta{background:var(--ember);border-radius:14px;padding:2.2rem;text-align:center;color:white;}
.about-cta h2{font-family:'DM Serif Display',serif;font-size:1.5rem;margin-bottom:0.5rem;}
.about-cta p{font-size:0.9rem;opacity:0.85;margin-bottom:1.3rem;line-height:1.7;}
.cta-btns{display:flex;gap:0.8rem;justify-content:center;flex-wrap:wrap;}
.btn-white{background:white;color:var(--ember);border:none;padding:0.82rem 1.7rem;font-family:'DM Sans',sans-serif;font-size:0.88rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all 0.2s;}
.btn-white:hover{background:var(--sand);}
.btn-outline-white{background:transparent;color:white;border:2px solid rgba(255,255,255,0.45);padding:0.82rem 1.7rem;font-family:'DM Sans',sans-serif;font-size:0.88rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all 0.2s;}
.btn-outline-white:hover{border-color:white;}
.consulting-intro{background:white;border-radius:14px;padding:1.8rem 1.8rem 1.8rem 2.3rem;margin-bottom:2rem;border:1px solid var(--border);box-shadow:var(--shadow);position:relative;overflow:hidden;}
.consulting-intro::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--ember),var(--gold));}
.consulting-intro p{font-size:0.93rem;color:var(--muted);line-height:1.8;}
.consulting-intro p+p{margin-top:0.7rem;}
.packages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:1.1rem;margin-bottom:2.5rem;}
.package-card{background:white;border:1.5px solid var(--border);border-radius:14px;padding:1.7rem;box-shadow:var(--shadow);transition:all 0.25s;display:flex;flex-direction:column;}
.package-card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(44,26,14,0.13);}
.package-card.featured{border-color:var(--ember);}
.pkg-badge{display:inline-block;font-size:0.6rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;padding:0.22rem 0.62rem;border-radius:20px;margin-bottom:0.9rem;}
.pkg-badge.virtual{background:rgba(46,106,138,0.12);color:var(--sky);}
.pkg-badge.inperson{background:rgba(196,75,27,0.1);color:var(--ember);}
.pkg-badge.best{background:var(--ember);color:white;}
.pkg-icon{font-size:1.9rem;margin-bottom:0.7rem;display:block;}
.pkg-name{font-family:'DM Serif Display',serif;font-size:1.2rem;color:var(--soil);margin-bottom:0.25rem;}
.pkg-tagline{font-size:0.78rem;color:var(--muted);margin-bottom:0.9rem;line-height:1.5;}
.pkg-price{font-family:'DM Serif Display',serif;font-size:1.85rem;color:var(--ember);margin-bottom:0.18rem;}
.pkg-price-note{font-size:0.7rem;color:var(--muted);margin-bottom:1.1rem;}
.pkg-divider{height:1px;background:var(--border);margin:1.1rem 0;}
.pkg-includes{list-style:none;margin-bottom:1.4rem;flex:1;}
.pkg-includes li{font-size:0.82rem;color:var(--muted);padding:0.3rem 0;display:flex;align-items:flex-start;gap:0.5rem;line-height:1.5;}
.pkg-includes li::before{content:'✓';color:var(--sage);font-weight:700;flex-shrink:0;margin-top:0.05rem;}
.pkg-btn{display:block;text-align:center;background:var(--soil);color:var(--sand);padding:0.82rem;border-radius:6px;font-size:0.83rem;font-weight:600;transition:all 0.2s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;width:100%;}
.pkg-btn:hover{background:var(--ember);color:white;}
.pkg-btn.featured-btn{background:var(--ember);color:white;}
.pkg-btn.featured-btn:hover{background:var(--soil);}
.process-block{background:var(--soil);border-radius:14px;padding:2.2rem;margin-bottom:2.5rem;color:var(--sand);}
.process-block h2{font-family:'DM Serif Display',serif;font-size:1.45rem;margin-bottom:0.35rem;}
.process-block>p{font-size:0.86rem;opacity:0.7;line-height:1.7;margin-bottom:1.8rem;}
.process-steps{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:1rem;}
.step{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:var(--r);padding:1.1rem;}
.step-num{font-family:'DM Serif Display',serif;font-size:1.7rem;color:var(--sun);margin-bottom:0.35rem;line-height:1;}
.step-title{font-size:0.85rem;font-weight:600;color:var(--sand);margin-bottom:0.28rem;}
.step-desc{font-size:0.76rem;color:rgba(242,223,192,0.58);line-height:1.6;}
.travel-note{background:rgba(46,106,138,0.07);border:1px solid rgba(46,106,138,0.18);border-radius:var(--r);padding:1.1rem 1.4rem;margin-bottom:2.5rem;display:flex;align-items:flex-start;gap:0.8rem;}
.travel-note-icon{font-size:1.3rem;flex-shrink:0;margin-top:0.1rem;}
.travel-note-text h4{font-size:0.86rem;font-weight:600;color:var(--sky);margin-bottom:0.25rem;}
.travel-note-text p{font-size:0.8rem;color:var(--muted);line-height:1.6;}
.donation-section{margin-bottom:2.5rem;}
.donation-hero-card{background:linear-gradient(135deg,var(--sage) 0%,#3a6a4a 100%);border-radius:14px;padding:2.2rem;color:white;margin-bottom:1.3rem;position:relative;overflow:hidden;}
.donation-hero-card::before{content:'🏫';position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);font-size:5rem;opacity:0.1;}
.donation-hero-card h2{font-family:'DM Serif Display',serif;font-size:1.6rem;margin-bottom:0.45rem;}
.donation-hero-card p{font-size:0.9rem;opacity:0.85;line-height:1.75;max-width:500px;margin-bottom:1.4rem;}
.donation-packages{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;}
.donation-card{background:white;border:1.5px solid var(--border);border-radius:var(--r);padding:1.4rem;box-shadow:var(--shadow);transition:all 0.2s;display:flex;flex-direction:column;}
.donation-card:hover{transform:translateY(-2px);border-color:var(--sage);}
.donation-card-icon{font-size:1.5rem;margin-bottom:0.55rem;display:block;}
.donation-card-name{font-family:'DM Serif Display',serif;font-size:1.05rem;color:var(--soil);margin-bottom:0.18rem;}
.donation-card-for{font-size:0.72rem;color:var(--sage);font-weight:600;text-transform:uppercase;letter-spacing:0.08em;margin-bottom:0.7rem;}
.donation-card-price{font-family:'DM Serif Display',serif;font-size:1.45rem;color:var(--sage);margin-bottom:0.25rem;}
.donation-card-note{font-size:0.73rem;color:var(--muted);margin-bottom:0.9rem;line-height:1.5;}
.donation-card-items{list-style:none;margin-bottom:1.1rem;flex:1;}
.donation-card-items li{font-size:0.78rem;color:var(--muted);padding:0.22rem 0;display:flex;align-items:flex-start;gap:0.4rem;}
.donation-card-items li::before{content:'•';color:var(--sage);font-weight:700;}
.donate-btn{display:block;text-align:center;background:var(--sage);color:white;padding:0.72rem;border-radius:6px;font-size:0.8rem;font-weight:600;transition:all 0.2s;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;width:100%;margin-top:auto;}
.donate-btn:hover{background:#3a6a4a;}
.donation-note{background:rgba(74,122,92,0.07);border:1px solid rgba(74,122,92,0.18);border-radius:var(--r);padding:1.1rem 1.4rem;font-size:0.81rem;color:var(--muted);line-height:1.7;margin-top:1.1rem;}
.donation-note strong{color:var(--sage);}
.contact-section>p{font-size:0.9rem;opacity:0.85;margin-bottom:1.4rem;line-height:1.7;max-width:460px;margin-left:auto;margin-right:auto;}
.contact-form{background:rgba(255,255,255,0.1);border-radius:10px;padding:1.4rem;max-width:460px;margin:0 auto;text-align:left;}
.form-group{margin-bottom:0.9rem;}
.form-label{display:block;font-size:0.75rem;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:0.35rem;opacity:0.85;}
.form-input,.form-select,.form-textarea{width:100%;background:rgba(255,255,255,0.14);border:1px solid rgba(255,255,255,0.22);border-radius:6px;padding:0.7rem 0.95rem;font-family:'DM Sans',sans-serif;font-size:0.86rem;color:white;outline:none;transition:border 0.2s;}
.form-input::placeholder,.form-textarea::placeholder{color:rgba(255,255,255,0.45);}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:rgba(255,255,255,0.55);}
.form-select{cursor:pointer;}
.form-select option{color:var(--soil);background:white;}
.form-textarea{min-height:80px;resize:vertical;}
.form-submit{width:100%;background:white;color:var(--ember);border:none;padding:0.88rem;font-family:'DM Sans',sans-serif;font-size:0.92rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all 0.2s;margin-top:0.4rem;}
.form-submit:hover{background:var(--sand);}
.form-success{display:none;text-align:center;padding:1.5rem;font-size:0.92rem;line-height:1.7;}
.form-success .success-icon{font-size:2.2rem;margin-bottom:0.4rem;}
@media print{
#kit-page{display:block!important;}
.kpanel{display:none!important;}
#kp-results{display:block!important;}
.results-hero{background:#f5f5f5;color:black;}
.results-hero h2,.cat-title,.product-name{color:black;}
.tier-card{background:#fafafa;border:1px solid #ddd;page-break-inside:avoid;box-shadow:none;}
.tier-pname,.tier-price{color:black;}
.total-bar{background:#fff8e0;border:1px solid #e0c060;}
.total-amount{color:#a07020;}
.buy-btn{background:#eee;color:black;}
.affiliate-note{color:#555;}
}
@media(max-width:768px){
.nav-logo{font-size:1.2rem;}
.nav-links{padding:0.2rem;gap:0.15rem;}
.nav-link{font-size:0.7rem;padding:0.4rem 0.55rem;}
.home-hero{padding:3rem 1.25rem 3rem;}
.home-hero p{font-size:0.95rem;line-height:1.6;margin-bottom:2rem;}
.pillar-num{font-size:1.5rem;}
.pillar-label{font-size:0.58rem;letter-spacing:0.04em;line-height:1.3;}
.home-cta-row{flex-direction:column;align-items:stretch;gap:0.6rem;}
.home-cta-row .btn-sand,.home-cta-row .btn-outline-sand{width:100%;}
.cta-btns{flex-direction:column;align-items:stretch;}
.cta-btns .btn-white,.cta-btns .btn-outline-white{width:100%;}
.tier-select-row{grid-template-columns:1fr;}
.check-grid{grid-template-columns:1fr 1fr;}
.packages-grid{grid-template-columns:1fr;}
.donation-packages{grid-template-columns:1fr;}
.process-steps{grid-template-columns:1fr 1fr;}
.step-btn{width:44px;height:44px;font-size:1.35rem;}
.form-input,.form-select,.form-textarea{min-height:44px;font-size:16px;}
.form-textarea{min-height:96px;}
.form-submit{min-height:48px;}
.cl-buy{padding:0.5rem 0.7rem;font-size:0.75rem;min-height:36px;display:inline-flex;align-items:center;}
.cl-check{width:28px;height:28px;}
.cl-item{padding:0.95rem 1rem;}
}
@media(max-width:400px){
.nav-logo{font-size:1.05rem;}
.nav-link{font-size:0.65rem;padding:0.35rem 0.4rem;}
.pillar-num{font-size:1.4rem;margin:0;flex-shrink:0;min-width:60px;}
.pillar-label{font-size:0.7rem;text-align:left;letter-spacing:0.06em;}
.home-hero{padding:2.5rem 1rem 2.5rem;}
}
.mod-acc{border:1px solid #f1d2ac;border-radius:16px;background:linear-gradient(135deg,#FDF0E2,#FBE6D0);margin-bottom:0.9rem;overflow:hidden;box-shadow:0 4px 16px rgba(196,75,27,0.06);transition:box-shadow .2s;}
.mod-head{display:flex;align-items:center;gap:0.9rem;padding:1.1rem 1.3rem;cursor:pointer;user-select:none;}
.mod-head:hover{background:rgba(196,75,27,0.05);}
.mod-ic{font-size:1.4rem;line-height:1;width:46px;height:46px;border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:0 2px 6px rgba(44,26,14,0.07);}
.mod-tx{flex:1;display:flex;flex-direction:column;}
.mod-nm{font-family:'DM Serif Display',serif;font-size:1.18rem;color:var(--soil);}
.mod-sub{font-size:0.74rem;color:var(--muted);margin-top:0.25rem;letter-spacing:.02em;}
.chev{transition:transform .25s;color:var(--ember);font-size:0.9rem;}
.mod-acc.open>.mod-head .chev{transform:rotate(180deg);}
.cat-acc.open>.cat-head2 .chev-self{transform:rotate(180deg);}
.mod-body{display:none;padding:1.1rem 1rem 1rem;}
.mod-acc.open>.mod-body{display:block;}
.cat-acc{border:1px solid #ecdfca;border-radius:12px;background:#fff;margin-top:0.7rem;overflow:hidden;}
.cat-acc:first-child{margin-top:0.2rem;}
.cat-head2{display:flex;align-items:center;gap:0.7rem;padding:0.85rem 1rem;cursor:pointer;user-select:none;}
.cat-head2:hover{background:#faf5ec;}
.cat-ic{font-size:1.15rem;}
.cat-nm{flex:1;font-weight:600;color:var(--soil);font-size:0.98rem;}
.cat-tipbtn{background:none;border:1px solid #e7d9c2;border-radius:20px;font-size:0.7rem;color:var(--ember);padding:0.25rem 0.6rem;cursor:pointer;font-family:'DM Sans';}
.cat-body{display:none;padding:0.4rem 0.9rem 1rem;}
.cat-acc.open>.cat-body{display:block;}
.grp{padding:0.7rem 0;border-bottom:1px solid #f4ece0;}
.grp:last-child{border-bottom:none;}
.grp-head{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;}
.grp-nm{font-weight:600;font-size:0.9rem;color:var(--soil);}
.grp-priority{font-size:0.64rem;color:var(--muted);background:#f2e8d8;border-radius:10px;padding:0.1rem 0.45rem;}
.gb-toggle{margin-left:auto;display:flex;align-items:center;gap:0.45rem;font-size:0.92rem;color:var(--soil);cursor:pointer;white-space:nowrap;background:#fbf3e6;border:1px solid #e7d9c2;border-radius:22px;padding:0.3rem 0.6rem;font-family:'DM Sans';}
.gb-toggle:hover{border-color:var(--gold);}
.gb-toggle .gb-lab{font-size:0.66rem;color:var(--muted);font-weight:600;letter-spacing:.02em;}
.gb-sw{width:40px;height:23px;border-radius:999px;background:#ddcdb5;position:relative;transition:.2s;flex:0 0 auto;}
.gb-sw.on{background:var(--gold);}
.gb-sw i{position:absolute;top:2.5px;left:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.gb-sw.on i{left:19px;}
.plan-row{display:flex;align-items:flex-start;gap:0.7rem;}
.plan-chk{width:22px;height:22px;border-radius:7px;border:2px solid var(--sage);background:#fff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:0.8rem;cursor:pointer;flex:0 0 auto;margin-top:1px;}
.plan-chk.on{background:var(--sage);}
.plan-tx{flex:1;}
.plan-ex{font-size:0.78rem;color:#7c6c5b;margin-top:0.15rem;line-height:1.5;}
.soft-link{display:inline-block;margin-top:0.4rem;font-size:0.74rem;color:var(--sky);text-decoration:none;border-bottom:1px dotted #b8c8d2;}
.plan-tag{display:inline-block;font-size:0.6rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--sage);background:rgba(74,122,92,.12);border-radius:10px;padding:0.12rem 0.45rem;margin-left:0.4rem;vertical-align:middle;}
.grp-note{font-size:0.72rem;color:#a8895f;font-style:italic;margin-top:0.3rem;}
.nolink{font-size:0.72rem;color:var(--muted);font-style:italic;}
.readiness-bar{background:#fff;border:1px solid #ecdfca;border-radius:14px;padding:1.1rem 1.4rem;margin-bottom:1.2rem;box-shadow:0 6px 24px rgba(44,26,14,0.05);}
.rd-top{display:flex;justify-content:space-between;font-size:0.78rem;color:var(--soil);margin-bottom:0.5rem;}
.rd-track{height:9px;background:#f0e6d6;border-radius:99px;overflow:hidden;}
.rd-fill{height:100%;background:linear-gradient(90deg,var(--sage),var(--gold));width:0%;transition:width .3s;}
.gobag-panel{background:#fff;border:1px solid #ecdfca;border-left:4px solid var(--gold);color:var(--soil);border-radius:14px;padding:1.5rem 1.7rem;margin:1.2rem 0;box-shadow:0 6px 24px rgba(44,26,14,0.05);}
.gobag-panel h3{font-family:'DM Serif Display',serif;margin:0 0 0.3rem;color:var(--ember);font-size:1.2rem;}
.gobag-panel .gb-hint{font-size:0.78rem;color:#6b5b4a;margin-bottom:0.8rem;line-height:1.6;}
.gb-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:0.45rem;}
.gb-chip{background:rgba(74,122,92,.09);border:1px solid #d4e0d4;color:#3e6b4f;border-radius:20px;padding:0.32rem 0.75rem;font-size:0.78rem;font-weight:500;}
.gb-empty{font-size:0.8rem;color:#8a7a6a;}
.dl-card{background:#fff;border:1.5px solid var(--border);border-radius:16px;padding:1.8rem;box-shadow:var(--shadow);display:flex;flex-direction:column;}
.dl-btn{display:block;text-align:center;text-decoration:none;background:var(--sage);color:#fff;font-weight:600;padding:0.8rem;border-radius:9px;margin-top:auto;}
/* icon slots now hold SVG, not emoji */
.mod-ic,.cat-ic{color:var(--ember);}
.mod-ic svg,.cat-ic svg{display:block;}
.cat-ic{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--sage);}
.cat-ic svg{width:19px;height:19px;}
.mod-ic:empty,.cat-ic:empty{display:none;}

/* ============================================================
   Legacy variable the original stylesheet defined in :root
   ============================================================ */
:root{ --border: rgba(44,26,14,0.12); }

/* ============================================================
   Safety net: buttons that use a modifier class without the .btn
   base still need padding, radius, font and border.
   ============================================================ */
.btn-primary:not(.btn),
.btn-ghost:not(.btn),
.btn-complete:not(.btn),
.btn-restart:not(.btn),
.btn-print:not(.btn){
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:'DM Sans',system-ui,sans-serif;font-size:1rem;font-weight:600;line-height:1;
  padding:.95rem 1.6rem;border-radius:6px;border:1.5px solid transparent;
  text-decoration:none;cursor:pointer;
  transition:transform .14s,box-shadow .14s,background .16s,border-color .16s;
}
.btn-primary:not(.btn){background:var(--ember);color:#fff;box-shadow:0 2px 10px rgba(196,75,27,.26)}
.btn-primary:not(.btn):hover{background:#a83d13;box-shadow:0 5px 18px rgba(196,75,27,.32)}
.btn-ghost:not(.btn){background:transparent;color:var(--soil);border-color:var(--border)}
.btn-ghost:not(.btn):hover{border-color:var(--soil);background:rgba(44,26,14,.035)}
.btn-primary:not(.btn):active,.btn-ghost:not(.btn):active{transform:translateY(1px)}

/* small variants keep the base but shrink */
.btn-sm:not(.btn){
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  font-family:'DM Sans',system-ui,sans-serif;font-weight:600;line-height:1;
  padding:.62rem 1.05rem;font-size:.875rem;border-radius:6px;border:1.5px solid transparent;
  cursor:pointer;transition:background .16s,border-color .16s,transform .14s;
}
.btn-restart:not(.btn){background:rgba(44,26,14,.06);color:var(--soil);border-color:var(--border)}
.btn-restart:not(.btn):hover{background:rgba(44,26,14,.1);border-color:var(--soil)}
.btn-print:not(.btn){background:var(--sage);color:#fff;border-color:transparent}
.btn-print:not(.btn):hover{background:#3d6a4d}
.btn-complete:not(.btn):hover{background:#a83d13}
