body{margin:0;background:#f4f9f6;font-family:'Plus Jakarta Sans','Noto Sans Armenian',system-ui,sans-serif;color:#101828}
a{color:#007c65}a:hover{color:#063f36}
*{box-sizing:border-box}
:focus-visible{outline:2px solid #007c65;outline-offset:3px}
button{font-family:inherit}
.kz-mark{font-family:'Dela Gothic One','Noto Sans Armenian',sans-serif;letter-spacing:-0.02em;line-height:1}
.kz-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;background:rgba(6,63,54,.06);color:#007c65;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;width:max-content}
.kz-eyebrow i{width:6px;height:6px;border-radius:50%;background:#007c65;display:block}
.bz{padding:6px;border-radius:26px;background:rgba(6,63,54,.035);box-shadow:inset 0 0 0 1px rgba(6,63,54,.05)}
.bz-core{border-radius:20px;background:#ffffff;box-shadow:0 18px 40px -22px rgba(6,63,54,.18),inset 0 1px 1px rgba(255,255,255,.7)}
.kz-chip{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;background:#f0f7f5;color:#007c65;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;width:max-content}

.kz-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:6px 6px 6px 22px;border-radius:999px;background:#063f36;color:#ffffff;text-decoration:none;font-weight:600;font-size:15px;border:none;cursor:pointer;transition:transform .6s cubic-bezier(.32,.72,0,1),background-color .6s cubic-bezier(.32,.72,0,1)}
.kz-btn:hover{background:#10483f;color:#ffffff}
.kz-btn:active{transform:scale(.98)}
.kz-btn .ico{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .7s cubic-bezier(.32,.72,0,1)}
.kz-btn:hover .ico{transform:translate(3px,-2px) scale(1.06)}
.kz-btn.full{width:100%}
.kz-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 18px;border-radius:999px;border:none;background:transparent;color:#063f36;text-decoration:none;font-weight:600;font-size:15px;cursor:pointer;transition:background-color .5s cubic-bezier(.32,.72,0,1)}
.kz-ghost:hover{background:rgba(6,63,54,.06);color:#063f36}
.kz-link{border:none;background:none;padding:0;color:#007c65;font-weight:600;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* nav */
.kz-nav{position:sticky;top:16px;z-index:20;display:flex;justify-content:center;padding:8px 16px 0}
.kz-pill{display:flex;align-items:center;gap:22px;padding:8px 8px 8px 24px;border-radius:999px;background:rgba(255,255,255,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 18px 40px -22px rgba(6,63,54,.25),inset 0 0 0 1px rgba(6,63,54,.06)}
.kz-links{display:flex;gap:4px}
.kz-links a,.kz-links button{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:none;background:transparent;color:#364153;text-decoration:none;font-size:14px;font-weight:500;cursor:pointer}
.kz-links a:hover,.kz-links button:hover{background:rgba(6,63,54,.06);color:#063f36}
.kz-links .on{color:#063f36;font-weight:700}
.kz-cartbtn{position:relative;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px 0 14px;border-radius:999px;border:none;background:#063f36;color:#ffffff;font-weight:600;font-size:14px;cursor:pointer;transition:background-color .5s cubic-bezier(.32,.72,0,1)}
.kz-cartbtn:hover{background:#10483f}
.kz-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#26ae98;color:#063f36;font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.kz-badge.pop{animation:kz-pop .5s cubic-bezier(.32,.72,0,1)}

/* filters */
.kz-seg{display:inline-flex;padding:4px;border-radius:999px;background:rgba(6,63,54,.06);gap:2px}
.kz-seg button{min-height:42px;padding:0 18px;border:none;border-radius:999px;background:transparent;color:#4a5565;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .5s cubic-bezier(.32,.72,0,1),color .5s cubic-bezier(.32,.72,0,1)}
.kz-seg button.is-on{background:#ffffff;color:#063f36;box-shadow:0 6px 14px -8px rgba(6,63,54,.45)}

/* course grid */
.kz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.kz-card{transition:transform .8s cubic-bezier(.32,.72,0,1)}
.kz-card:hover{transform:translateY(-4px)}
.kz-cover{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:16/10;padding:22px;display:flex;flex-direction:column;justify-content:space-between}
.cover-forest{background:#063f36;color:#ffffff}
.cover-mint{background:#e3efeb;color:#063f36}
.cover-green{background:#007c65;color:#ffffff}
.kz-cover .disc{position:absolute;width:180px;height:180px;border-radius:50%;background:#26ae98;opacity:.22;right:-50px;bottom:-70px}
.kz-cover .n{font-size:13px;font-weight:700;letter-spacing:.16em;opacity:.8}
.kz-cover .short{font-size:30px;font-weight:800;letter-spacing:-0.04em;line-height:1;position:relative}
.kz-title-btn{border:none;background:none;padding:0;text-align:left;cursor:pointer;color:#101828;font-size:21px;font-weight:800;letter-spacing:-0.03em;line-height:1.15}
.kz-title-btn:hover{color:#007c65}
.kz-fmt{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:#f0f7f5;color:#063f36;font-size:12px;font-weight:600}
.kz-picker{display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:16px;background:#eef6f4;animation:kz-rise .5s cubic-bezier(.16,1,.3,1) both}
.kz-pick{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:0 16px;border-radius:12px;border:1px solid #d5e8e4;background:#ffffff;color:#101828;font-size:15px;font-weight:600;cursor:pointer;transition:border-color .4s cubic-bezier(.32,.72,0,1)}
.kz-pick:hover{border-color:#007c65}

/* detail */
.kz-detail{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:48px;align-items:start}
.kz-opt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:16px 18px;border-radius:14px;border:1px solid #d5e8e4;background:#ffffff;color:#101828;text-align:left;cursor:pointer;transition:border-color .5s cubic-bezier(.32,.72,0,1)}
.kz-opt:hover{border-color:#007c65}
.kz-opt.is-on{border:2px solid #007c65;background:#eef6f4;padding:15px 17px}
.kz-opt .t{font-size:16px;font-weight:700}
.kz-opt .s{font-size:13px;color:#4a5565}
.kz-module{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid rgba(6,63,54,.1)}

/* cart drawer */
.kz-scrim{position:fixed;inset:0;z-index:40;border:none;padding:0;background:rgba(6,63,54,.28);cursor:pointer;animation:kz-fade .5s cubic-bezier(.32,.72,0,1) both}
.kz-drawer{position:fixed;top:12px;right:12px;bottom:12px;z-index:41;width:min(440px,calc(100% - 24px));padding:6px;border-radius:30px;background:rgba(255,255,255,.55);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 30px 60px -20px rgba(6,63,54,.35);animation:kz-slide .7s cubic-bezier(.32,.72,0,1) both}
.kz-drawer-core{height:100%;border-radius:24px;background:#ffffff;display:flex;flex-direction:column;overflow:hidden}
.kz-line{display:flex;flex-direction:column;gap:12px;padding:18px 0;border-top:1px solid rgba(6,63,54,.08)}
.kz-qty{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:999px;background:#f0f7f5}
.kz-qty button{width:36px;height:36px;border:none;border-radius:50%;background:#ffffff;color:#063f36;font-size:18px;font-weight:600;cursor:pointer}
.kz-qty span{min-width:28px;text-align:center;font-weight:700;font-size:14px}
.kz-x{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#4a5565;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.kz-x:hover{background:rgba(6,63,54,.06)}

/* toast */
.kz-toast{position:fixed;left:50%;bottom:28px;z-index:45;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:8px 8px 8px 20px;border-radius:999px;background:#063f36;color:#ffffff;font-size:14px;font-weight:600;box-shadow:0 24px 48px -20px rgba(6,63,54,.6);animation:kz-toast .6s cubic-bezier(.32,.72,0,1) both}
.kz-toast button{min-height:40px;padding:0 16px;border:none;border-radius:999px;background:#ffffff;color:#063f36;font-weight:700;font-size:13px;cursor:pointer}

/* forms */
.kz-field{display:flex;flex-direction:column;gap:8px}
.kz-field label{font-size:13px;font-weight:600;color:#364153}
.kz-field input{min-height:52px;padding:0 16px;border-radius:12px;border:1px solid #d5e8e4;background:#ffffff;font:500 16px 'Plus Jakarta Sans','Noto Sans Armenian',sans-serif;color:#101828}
.kz-field input:focus{outline:2px solid #007c65;outline-offset:0;border-color:#007c65}
.kz-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.5;color:#364153;cursor:pointer}
.kz-check input{width:20px;height:20px;margin:1px 0 0;accent-color:#007c65;flex-shrink:0}

/* motion */
@keyframes kz-rise{from{opacity:0;transform:translateY(28px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes kz-fade{from{opacity:0}to{opacity:1}}
@keyframes kz-slide{from{transform:translateX(110%)}to{transform:none}}
@keyframes kz-toast{from{opacity:0;transform:translate(-50%,24px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes kz-pop{0%{transform:scale(1)}40%{transform:scale(1.35)}100%{transform:scale(1)}}
.in{animation:kz-rise 1s cubic-bezier(.16,1,.3,1) both}
.d1{animation-delay:.08s}.d2{animation-delay:.16s}.d3{animation-delay:.24s}
@media (prefers-reduced-motion: reduce){.in,.kz-drawer,.kz-scrim,.kz-toast,.kz-picker,.kz-badge.pop{animation:none !important}}
.pol h2{margin:0;font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-0.035em;color:#101828}
.pol p,.pol li{font-size:16px;line-height:1.7;color:#364153;margin:0}
.pol ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.pol .num{font-size:12px;font-weight:700;letter-spacing:.16em;color:#007c65}
.toc a{display:flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;color:#364153;text-decoration:none;font-size:14px;font-weight:500}
.toc a:hover{background:rgba(6,63,54,.06);color:#063f36}

/* nav extras shared with the home page: language switch + burger menu */
.kz-lang{display:flex;padding:3px;border-radius:999px;background:rgba(6,63,54,.06)}
.kz-lang button{min-height:38px;min-width:44px;border:none;border-radius:999px;background:transparent;color:#4a5565;font:600 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.06em;cursor:pointer}
.kz-lang button.on{background:#ffffff;color:#063f36;box-shadow:0 4px 10px -6px rgba(6,63,54,.4)}
.kz-burger{display:none;position:relative;width:46px;height:46px;border:none;border-radius:50%;background:rgba(6,63,54,.08);cursor:pointer;flex-shrink:0}
.kz-burger span{position:absolute;left:14px;width:18px;height:1.5px;background:#063f36;border-radius:2px;transition:transform .6s cubic-bezier(.32,.72,0,1)}
.kz-burger span:nth-child(1){top:19px}
.kz-burger span:nth-child(2){top:26px}
.kz-burger.is-open span:nth-child(1){transform:translateY(3.5px) rotate(45deg)}
.kz-burger.is-open span:nth-child(2){transform:translateY(-3.5px) rotate(-45deg)}
.kz-overlay{position:fixed;inset:0;z-index:15;background:rgba(244,249,246,.86);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);display:flex;flex-direction:column;justify-content:center;gap:8px;padding:120px 28px 40px;animation:kz-fade .6s cubic-bezier(.32,.72,0,1) both}
.kz-overlay[hidden]{display:none}
.kz-overlay a{font-size:44px;font-weight:800;letter-spacing:-0.04em;color:#101828;text-decoration:none}

/* shop additions (sessions, disabled states, page shell) */
.kz-page{font-family:'Plus Jakarta Sans','Noto Sans Armenian',system-ui,sans-serif;color:#101828;background:#f4f9f6;min-height:100vh;overflow-x:clip}
.kz-card{display:flex;flex-direction:column}
.kz-card[hidden]{display:none}
.kz-title-btn{text-decoration:none}
.kz-pick[disabled],.kz-opt[disabled]{opacity:.5;cursor:not-allowed;border-color:#d5e8e4;background:#f7faf9}
.kz-opt .seats{font-size:12px;font-weight:700;color:#007c65}
.kz-opt[disabled] .seats{color:#b24a3b}
.kz-btn[disabled],.kz-btn[aria-disabled="true"]{background:#9db3ae;cursor:not-allowed;transform:none}
.kz-btn[disabled] .ico{transform:none}
.kz-soon{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#fff4e5;color:#8a4b0f;font-size:12px;font-weight:600}
.kz-select{min-height:36px;max-width:100%;padding:0 10px;border-radius:10px;border:1px solid #d5e8e4;background:#ffffff;font:500 13px 'Plus Jakarta Sans','Noto Sans Armenian',sans-serif;color:#101828}
.kz-group-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#4a5565;margin:6px 0 2px}
.kz-note{font-size:13px;line-height:1.5;color:#4a5565}
.kz-alert{margin:0;font-size:14px;font-weight:600;color:#b24a3b}
.kz-field input[aria-invalid="true"]{border-color:#b24a3b}
.kz-cartbtn .lbl{display:inline}

@media (max-width: 1080px){.kz-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kz-detail{grid-template-columns:minmax(0,1fr)}.kz-detail aside{position:static !important}}
@media (max-width: 900px){.pol-grid{grid-template-columns:minmax(0,1fr) !important}.toc{position:static !important;flex-direction:row !important;flex-wrap:wrap}}
@media (max-width: 860px){.kz-links,.kz-lang-wrap{display:none}.kz-burger{display:block}}
@media (max-width: 720px){.kz-grid{grid-template-columns:minmax(0,1fr)}.kz-co{grid-template-columns:minmax(0,1fr) !important}}
@media (max-width: 420px){.kz-pill{gap:10px;padding-left:18px}.kz-cartbtn .lbl{display:none}.kz-cartbtn{padding:0 14px}}
@media (prefers-reduced-motion: reduce){.in,.kz-drawer,.kz-scrim,.kz-toast,.kz-picker,.kz-badge.pop,.kz-overlay{animation:none !important}}
.kz-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kz-btn.light{background:#ffffff;color:#063f36;box-shadow:inset 0 0 0 1px rgba(6,63,54,.1)}.kz-btn.light:hover{background:#eef6f4;color:#063f36}.kz-btn.light .ico{background:rgba(6,63,54,.07)}
.kz-pick{padding:10px 16px;gap:12px;text-align:left}
