.button{padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);font-family:var(--font-family-body);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);cursor:pointer;border:none;justify-content:center;align-items:center;transition:background-color .2s,color .2s,transform .2s,box-shadow .2s;display:inline-flex}.button--primary{background-color:var(--color-primary);color:var(--color-surface)}.button--primary:hover{background-color:var(--color-primary-dark)}.button--secondary{color:var(--color-primary);border:2px solid var(--color-primary);background-color:#0000}.button--secondary:hover{background-color:var(--color-primary-light)}.button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.button:disabled{background-color:var(--color-disabled);cursor:not-allowed;opacity:.7}.booking-type{min-height:100vh;padding:var(--space-8);background:var(--color-background);justify-content:center;align-items:center;display:flex}.booking-type__card{width:100%;max-width:500px;padding:var(--space-8);background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);gap:var(--space-6);text-align:center;flex-direction:column;display:flex}.input-group{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;display:flex}.input-group label{font-size:var(--font-size-small);font-weight:var(--font-weight-medium);color:var(--color-text)}.input-group input{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);color:var(--color-text);font-size:var(--font-size-body);transition:border-color .2s,box-shadow .2s}.input-group input::placeholder{color:var(--color-text-muted)}.input-group input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #7c9a7a33}.input--error{border-color:var(--color-error);box-shadow:0 0 0 2px #dc262626}.input-error-message{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-error)}.password-input{gap:var(--space-2);flex-direction:column;display:flex}.password-input__label{font-size:var(--font-size-body);color:var(--color-text)}.password-input__wrapper{position:relative}.password-input__field{width:100%;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-body);background-color:var(--color-surface);color:var(--color-text);padding-right:5.5rem}.password-input__field:focus{outline:2px solid var(--color-primary);outline-offset:2px}.password-input__toggle{top:50%;right:var(--space-3);color:var(--color-primary);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:none;position:absolute;transform:translateY(-50%)}.password-input__toggle:hover{text-decoration:underline}.password-input__toggle:focus-visible{outline:2px solid var(--color-primary);border-radius:var(--radius-sm)}.password-input--error{border-color:var(--color-error);box-shadow:0 0 0 2px #dc262626}.password-error-message{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-error)}.checkbox{align-items:center;gap:var(--space-3);display:flex}.checkbox__input{cursor:pointer;width:1rem;height:1rem;accent-color:var(--color-primary)}.checkbox__label{color:var(--color-text);font-size:var(--font-size-body);cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox__input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.checkbox__input:disabled,.checkbox__input:disabled+.checkbox__label{opacity:.5;cursor:not-allowed}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-md);border:1px solid var(--color-border);transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.group-booking{max-width:900px;padding:var(--space-8);gap:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-md);flex-direction:column;margin:0 auto;display:flex}.group-booking select{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-base)}@media (width<=768px){.group-booking{padding:var(--space-4)}.group-booking form{padding:var(--space-5)}}.private-booking{gap:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);box-shadow:var(--shadow-md);flex-direction:column;max-width:900px;margin:0 auto;display:flex}.booking-header h1{font-size:var(--font-size-4xl);margin:0}.booking-header{gap:var(--space-2);margin-bottom:var(--space-6);flex-direction:column;display:flex}.booking-header p{margin:0}.booking-section{gap:var(--space-7);margin-top:var(--space-8);flex-direction:column;display:flex}.private-booking select{width:100%;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--font-size-base)}.goal-options{gap:var(--space-3);flex-direction:column;display:flex}.goal-options label{align-items:center;gap:var(--space-2);cursor:pointer;display:flex}.recording-notice{background:var(--color-surface-alt);border-left:4px solid var(--color-primary);padding:var(--space-5);border-radius:var(--radius-md);gap:var(--space-2);margin-top:var(--space-8);flex-direction:column;display:flex}.booking-actions{margin-top:var(--space-8);display:flex}@media (width<=768px){.private-booking{padding:var(--space-4)}.private-booking form{padding:var(--space-5)}}.goal-options input{accent-color:var(--color-primary)}.booking-section h2{margin:0 0 var(--space-2);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.pricing-card{background:var(--color-surface-alt);border-left:4px solid var(--color-primary);padding:var(--space-5);border-radius:var(--radius-md);gap:var(--space-3);flex-direction:column;display:flex}.pricing-card hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-2) 0}.booking-confirmation{max-width:700px;padding:var(--space-8);margin:0 auto}.booking-confirmation p{margin-bottom:var(--space-4)}.confirmation-card{gap:var(--space-5);padding:var(--space-8);flex-direction:column;display:flex}.confirmation-card h1{font-size:var(--font-size-4xl);margin:0}.confirmation-actions{gap:var(--space-4);margin-top:var(--space-6);display:flex}@media (width<=768px){.confirmation-actions{flex-direction:column}}.session-details{gap:var(--space-8);max-width:1200px;padding:var(--space-8);margin:0 auto;display:grid}.session-details__hero{object-fit:cover;border-radius:var(--radius-lg);width:100%;height:420px}.session-details__content{gap:var(--space-4);flex-direction:column;display:flex}.session-details__meta{gap:var(--space-4);flex-wrap:wrap;display:flex}.video-placeholder{border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-alt);justify-content:center;align-items:center;min-height:300px;display:flex}@media (width>=768px){.session-details{grid-template-columns:1fr 1fr;align-items:start}}.session-details__description{line-height:1.8}.session-details__section{margin-top:var(--space-8)}.session-details__section h2{margin-bottom:var(--space-3)}.session-details__section ul{padding-left:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.video-placeholder iframe{border-radius:var(--radius-lg);margin-top:var(--space-4);border:none}.session-catalog{padding:var(--space-8)}.session-catalog__header{text-align:center;margin-bottom:var(--space-8);justify-content:space-between;align-items:center;gap:var(--space-6);display:flex}.session-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.session-card{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);flex-direction:column;transition:transform .2s;display:flex;overflow:hidden}.session-card:hover{transform:translateY(-4px)}.session-card__image{object-fit:cover;width:100%;height:220px}.session-card__content{padding:var(--space-6)}.session-card__category{color:var(--color-sage);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.session-card__details{margin:var(--space-4) 0;justify-content:space-between;display:flex}.session-card__instructor{margin-bottom:var(--space-5)}.create-account-page{min-height:100vh;padding:var(--space-8);background:var(--color-background);justify-content:center;align-items:center;display:flex}.create-account-page__header{text-align:center;align-items:center;gap:var(--space-3);margin-bottom:var(--space-8);flex-direction:column;display:flex}.create-account-page__header h1{font-size:var(--font-size-h1);margin:0;line-height:1.2}.create-account-page__header p{color:var(--color-text-secondary);font-size:var(--font-size-body);max-width:30rem;margin:0}.create-account-page__form{gap:var(--space-5);margin-top:var(--space-6);flex-direction:column;display:flex}.create-account-page__footer{margin-top:var(--space-6);text-align:center}.create-account-page__link{color:var(--color-primary);cursor:pointer;font-weight:var(--font-weight-medium);margin-left:var(--space-2);background:0 0;border:none}.create-account-page__link:hover{text-decoration:underline}.create-account-page__logo{margin-bottom:var(--space-6);justify-content:center;display:flex}.create-account-page__server-error{color:#c62828;margin-top:1rem;font-size:.95rem;font-weight:500}.divider{align-items:center;gap:var(--space-4);margin:var(--space-8) 0;display:flex}.divider hr{border:none;border-top:1px solid var(--color-border);flex:1}.divider span{color:var(--color-text-light);font-size:var(--font-size-small);white-space:nowrap}.logo{align-items:center;gap:var(--space-3);display:inline-flex}.logo__image{object-fit:contain;width:3rem;height:3rem}.logo__text{font-family:var(--font-family-heading);font-size:var(--font-size-h3);font-weight:var(--font-weight-bold);color:var(--color-text)}.form-container{gap:var(--space-6);width:100%;max-width:480px;padding:var(--space-8);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;margin:0 auto;display:flex}.auth-layout{background:var(--color-background);grid-template-columns:1fr;min-height:100vh;display:grid}.auth-layout__left{padding:var(--space-8);justify-content:center;align-items:center;display:flex}.auth-layout__right{display:none}@media (width>=992px){.auth-layout{grid-template-columns:1fr 1fr}.auth-layout__right{padding:var(--space-8);background:linear-gradient(180deg, var(--color-sage-light), var(--color-cream));justify-content:center;align-items:center;display:flex}}.auth-layout__hero{text-align:center;gap:var(--space-5);flex-direction:column;max-width:420px;display:flex}.login-options{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-5);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.login-options a{color:var(--color-sage);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-decoration:none;transition:color .2s}.login-options a:hover{text-decoration:underline}.login-options a:focus-visible{outline:2px solid var(--color-sage);outline-offset:4px;border-radius:var(--radius-sm)}.login-footer{text-align:center;margin-top:var(--space-6)}.login-footer a{color:var(--color-sage);font-weight:var(--font-weight-semibold);margin-left:var(--space-2)}.form-error{color:#c62828;margin-bottom:1rem;font-size:.9rem;font-weight:500}.home{max-width:1200px;padding:var(--space-16) var(--space-6);margin:0 auto}.home__hero{text-align:center;margin-bottom:var(--space-16)}.home__eyebrow{font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-primary-dark);margin-bottom:var(--space-4)}.home__hero h1{max-width:800px;margin:0 auto var(--space-6)}.home__hero p{max-width:700px;margin:0 auto}.home__live-session{max-width:700px;padding:var(--space-10);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:center;margin:0 auto}.home__actions{justify-content:center;gap:var(--space-4);margin-top:var(--space-8);display:flex}@media (width<=768px){.home{padding:var(--space-10) var(--space-4)}.home__live-session{padding:var(--space-6)}.home__actions{flex-direction:column}}.home__countdown{margin-top:var(--space-4);text-align:center}.home__countdown p{margin-bottom:var(--space-1)}.home__countdown strong{letter-spacing:.05em;font-size:2rem;font-weight:700;display:block}.home__join-status{margin-top:var(--space-3);text-align:center;font-size:.9rem}.home__countdown-values{justify-content:center;align-items:flex-start;gap:2rem;margin-top:1rem;display:flex}.home__countdown-unit{flex-direction:column;align-items:center;min-width:60px;display:flex}.home__countdown-unit strong{font-size:2.5rem;line-height:1}.home__countdown-unit span{margin-top:.5rem;font-size:.75rem;line-height:1}.navigation{background:var(--color-background);border-bottom:1px solid var(--color-border);width:100%}.navigation__container{max-width:1200px;padding:var(--space-3) var(--space-4);justify-content:space-between;align-items:center;margin:0 auto;display:flex;position:relative}.navigation__brand{color:var(--color-primary);font-weight:600;text-decoration:none}.navigation__toggle{border:1px solid var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;gap:5px;width:42px;height:42px;padding:8px;display:flex}.navigation__toggle span{background:var(--color-primary);width:100%;height:2px;display:block}.navigation__menu{top:calc(100% + var(--space-2));right:var(--space-4);min-width:220px;padding:var(--space-2);gap:var(--space-1);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;flex-direction:column;display:flex;position:absolute}.navigation__link{width:100%;padding:var(--space-2) var(--space-4);color:var(--color-text);border-radius:var(--radius-sm);text-decoration:none;display:block}.navigation__link:hover{background:var(--color-surface)}.navigation__link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media (width<=768px){.navigation__container{padding:var(--space-2) var(--space-3)}.navigation__menu{right:var(--space-3)}}html{-webkit-text-size-adjust:100%;font-size:100%}body,h1,h2,h3,h4,h5,h6,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}button{background:0 0;border:none}img,picture{max-width:100%;display:block}a{color:inherit;text-decoration:none}:root{--color-primary:#7c9a7a;--color-primary-light:#a8c3a3;--color-primary-dark:#5f7b5e;--color-background:#f9f6f1;--color-surface:#fff;--color-surface-alt:#f4efe8;--color-text:#333;--color-text-light:#6b6b6b;--color-text-muted:#9a9a9a;--color-border:#ddd6cc;--color-success:#5b8c5a;--color-warning:#d6a23c;--color-error:#dc2626;--color-info:#4f7ea8;--color-white:#fff;--color-black:#000;--color-focus:#4f7ea8;--color-disabled:#cfcfcf;--color-overlay:#00000073;--color-text-secondary:#666;--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-32:128px;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-xl:24px;--radius-round:9999px;--shadow-sm:0 1px 2px #00000014;--shadow-md:0 6px 16px #0000001f;--shadow-lg:0 16px 32px #00000026;--font-family-heading:"Poppins", sans-serif;--font-family-body:"Inter", sans-serif;--font-size-display:3rem;--font-size-h1:2.5rem;--font-size-h2:2rem;--font-size-body:1rem;--font-size-small:.875rem;--line-height-heading:1.2;--line-height-body:1.6;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-size-caption:.75rem;--font-size-button:1rem;--breakpoint-mobile:480px;--breakpoint-tablet:768px;--breakpoint-laptop:1024px;--breakpoint-desktop:1280px}h1{font-family:var(--font-family-heading);font-size:var(--font-size-h1);line-height:var(--line-height-heading);color:var(--color-text)}p{font-family:var(--font-family-body);font-size:var(--font-size-body);line-height:var(--line-height-body);color:var(--color-text)}label{font-family:var(--font-family-body);font-size:var(--font-size-small);color:var(--color-text);font-weight:600}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-family-body);background-color:var(--color-background);color:var(--color-text);margin:0}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}
