:root{--red:#0f766e;--ink:#1f2a24;--pine:#115e59;--cream:#f0fdfa;--alert:#b3202a}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--cream);line-height:1.55}
section{max-width:1100px;margin:auto;padding:56px 20px}h1{font-size:clamp(2rem,5vw,3.2rem);line-height:1.1;margin:.2em 0}h2{font-size:1.9rem;margin:.4em 0 .2em;color:var(--pine)}
.nav{position:sticky;top:0;z-index:9;display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:#fff;box-shadow:0 1px 8px #0001}.nav nav a{margin-left:16px;color:var(--ink);text-decoration:none;font-weight:600}.logo{font-weight:800;font-size:1.3rem;color:var(--red);text-decoration:none}.logo span{color:var(--pine)}
.btn{display:inline-block;background:var(--red);color:#fff;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:700;border:0;cursor:pointer;font-size:1rem}.btn.ghost{background:transparent;color:var(--pine);border:2px solid var(--pine)}.btn.sm{padding:7px 14px;font-size:.9rem}.nav .btn{color:#fff}
.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}.himg{width:100%;border-radius:24px;box-shadow:0 20px 40px #0002}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--red);font-weight:700;font-size:.8rem}.lead{font-size:1.2rem}
.why{background:var(--pine);color:#fff;max-width:none;padding:56px max(20px,calc(50% - 530px))}.why h2{color:#fff}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.grid4 h3{margin-bottom:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin-bottom:40px}.card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 4px 16px #0001}.card img{width:100%;aspect-ratio:4/3;object-fit:cover}.cb{padding:14px 18px}.cb h3{margin:0}.cb p{margin:.3em 0}.price{color:var(--red);font-weight:800}.cb a{color:var(--pine);font-weight:600}.sub{margin-top:0;color:#555}
.mystery{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;background:#fff;border:3px dashed var(--red);border-radius:24px;padding:24px}.mystery img{width:100%;border-radius:16px}.big{font-size:2.4rem;font-weight:800;color:var(--red);margin:.2em 0}.big small{font-size:1rem;color:#555}
.terms ul{background:#fff;border-radius:18px;padding:24px 40px}.terms li{margin:8px 0}details{background:#fff;border-radius:12px;padding:14px 18px;margin:10px 0}summary{font-weight:700;cursor:pointer}
form{background:#fff;border-radius:20px;padding:26px;box-shadow:0 4px 16px #0001}label{display:block;font-weight:600;margin:10px 0}input,select,textarea{width:100%;padding:11px;border:1px solid #ccc;border-radius:10px;font:inherit;margin-top:4px}.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}fieldset{border:1px solid #ddd;border-radius:12px;margin:14px 0}.item{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:8px 0}#total{font-weight:700}.note{font-size:.85rem;color:#666}
footer{text-align:center;padding:30px;background:var(--ink);color:#ddd}footer a{color:#fff}
@media(max-width:760px){.hero,.mystery,.row{grid-template-columns:1fr}.grid4{grid-template-columns:1fr 1fr}.nav nav a:not(.btn){display:none}}
.tiers table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 16px #0001}.tiers th,.tiers td{padding:14px 18px;text-align:left;border-bottom:1px solid #eee}.tiers th{background:var(--pine);color:#fff}.tiers .hl{background:#ccfbf1}.tiers{padding-top:10px}
.warn{background:#fff4e5;border-left:4px solid #e67e00;padding:.6em .9em;margin:.8em 0}
.minigrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.mini{margin:0;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 10px #0001}.mini img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.mini figcaption{padding:8px 10px;font-size:.85rem;font-weight:600;line-height:1.3}
.checkout{background:#fff;border-radius:20px;padding:22px;box-shadow:0 4px 16px #0001}.checkout fieldset{border:1px solid #99f6e4;border-radius:14px;margin:0 0 16px;padding:14px 18px}.checkout legend{font-weight:800;color:var(--pine)}
.cklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 12px;max-height:280px;overflow:auto;border:1px solid #eee;border-radius:10px;padding:8px}.ck{display:flex;gap:8px;align-items:center;font-weight:500;margin:4px 0}.ck input{width:auto;margin:0}
.summary{background:var(--cream);border-radius:10px;padding:6px 14px}.err{color:var(--alert);font-weight:700}.paybtns{display:flex;flex-wrap:wrap;gap:12px;margin:14px 0}.steps li{margin:4px 0}
@media(max-width:760px){.minigrid{grid-template-columns:repeat(2,1fr)}.checkout{padding:12px}.paybtns .btn{width:100%;text-align:center}}
.catfilter{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.catfilter button{border:1px solid #ddd;background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}.catfilter button.on{background:#222;color:#fff;border-color:#222}
.catgroup{margin-top:18px}.cathead{margin:0 0 10px;font-size:1.15rem}.cathead small{color:#888;font-weight:500}
.cklist{display:block}.ckgroup{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2px 12px;margin-bottom:8px}.ckhead{grid-column:1/-1;margin:8px 0 2px;font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;color:#666;border-bottom:1px solid #eee;padding-bottom:3px}
@media(max-width:760px){.catfilter{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}.catfilter button{flex:0 0 auto}}

.mini.bundle{border:2px solid var(--red);border-radius:12px;background:#ccfbf1;padding:6px}.mini.bundle figcaption strong{color:var(--pine)}.btn.placeholder{background:#9ca3af;cursor:not-allowed}
/* UX: selectable catalog */
#catalog{padding-top:24px}.lead2{font-weight:600;margin:.2em 0 .6em}
.stickybar{position:sticky;top:var(--navh,60px);z-index:8;background:var(--cream);padding:10px 0 4px;box-shadow:0 6px 8px -8px #0003}
#search{max-width:420px;margin:0 0 4px}
.catfilter{margin:6px 0}.catfilter button.on{background:var(--red);border-color:var(--red)}
.mini{position:relative;cursor:pointer;border:3px solid transparent;transition:border-color .15s,transform .1s;display:flex;flex-direction:column}.mini:hover{transform:translateY(-2px)}
.mini:focus-visible{outline:3px solid var(--pine);outline-offset:2px}
.mini .cattag{display:block;font-size:.72rem;font-weight:600;color:var(--pine);text-transform:uppercase;letter-spacing:.04em;padding:0 10px}
.mini figcaption{flex:1}
.mini .addbtn{margin:6px 10px 10px;padding:6px 10px;border-radius:999px;border:2px solid var(--red);background:#fff;color:var(--red);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer}
.mini.sel{border-color:var(--red);background:#ccfbf1}.mini.sel .addbtn{background:var(--red);color:#fff}
.mini .badge{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:50%;background:var(--red);color:#fff;font-weight:800;display:none;align-items:center;justify-content:center;box-shadow:0 2px 6px #0004}.mini.sel .badge{display:flex}
.mini.bundle{cursor:default}.mini.bundle select{margin:4px 10px 0;width:calc(100% - 20px);padding:6px}
.selchips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px;min-height:10px}.selchips .chip{background:#ccfbf1;border:1px solid var(--red);border-radius:999px;padding:4px 6px 4px 12px;font-size:.85rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.selchips .chip button{border:0;background:none;cursor:pointer;font-size:1rem;color:var(--pine);padding:0 4px}
.selbar{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:20;background:var(--pine);color:#fff;border-radius:999px;padding:8px 8px 8px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 8px 24px #0004;font-weight:700;max-width:calc(100% - 24px)}.selbar .btn{background:#fff;color:var(--pine)}
.selbar[hidden]{display:none}
@media(max-width:760px){.stickybar{padding-top:6px}#search{max-width:none}.selbar{width:calc(100% - 24px);justify-content:space-between}}
@media(max-width:760px){.hero{padding-top:28px;padding-bottom:12px;gap:16px}.himg{max-height:200px;object-fit:cover}}
