:root{--bg:#fbfaf7;--bg-elev:#fff;--bg-section:#f3efe8;--bg-dark:#0e2832;--text:#1f2a30;--text-soft:#4a5862;--text-muted:#7a8893;--text-inverse:#f1ede6;--brand:#0f4250;--brand-hover:#14525f;--brand-soft:#e8f0f2;--accent:#b08743;--accent-hover:#c0974f;--success:#2f7a5a;--danger:#b3403f;--warning:#a06a1c;--border:#e4ddd2;--border-strong:#c8bfb1;--focus-ring:#0f4250;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-serif:"Fraunces", Georgia, serif;--fs-xs:12px;--fs-sm:14px;--fs-base:16px;--fs-md:18px;--fs-lg:22px;--fs-xl:28px;--fs-2xl:36px;--fs-3xl:46px;--lh-tight:1.15;--lh-snug:1.35;--lh-base:1.55;--lh-loose:1.75;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-8:48px;--s-10:64px;--s-12:96px;--r-sm:4px;--r-md:8px;--r-lg:12px;--r-pill:999px;--shadow-popover:0 4px 16px #0f1e2814;--shadow-modal:0 8px 32px #0f1e2826;--container-narrow:720px;--container:1100px;--container-wide:1280px;--z-nav:50;--z-sticky:40;--z-overlay:100;--z-modal:200;--z-toast:300}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;min-height:100vh}img,video,svg{max-width:100%;height:auto;display:block}button{font-family:inherit;font-size:inherit;cursor:pointer;color:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--text);background-color:var(--bg)}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:var(--lh-tight);color:var(--text);letter-spacing:-.01em}h1{font-size:var(--fs-3xl)}h2{font-size:var(--fs-2xl)}h3{font-size:var(--fs-xl)}h4{font-size:var(--fs-lg)}p{line-height:var(--lh-base)}a{color:var(--brand);text-underline-offset:2px;text-decoration:underline;text-decoration-thickness:1px}a:hover{color:var(--brand-hover)}.container{max-width:var(--container);padding:0 var(--s-5);margin:0 auto}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.btn{justify-content:center;align-items:center;gap:var(--s-2);font-family:var(--font-sans);font-size:var(--fs-sm);border-radius:var(--r-md);padding:12px 22px;font-weight:500;line-height:1;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex}.btn--primary{background-color:var(--brand);color:#fff}.btn--primary:hover{background-color:var(--brand-hover);color:#fff}.btn--secondary{color:var(--brand);border:1px solid var(--border-strong);background-color:#0000}.btn--secondary:hover{border-color:var(--brand)}.btn--lg{font-size:var(--fs-md);padding:16px 32px}.tag{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--r-sm);background-color:var(--brand-soft);color:var(--brand);padding:4px 10px;font-weight:500;display:inline-block}.card{background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg)}.site-nav{border-bottom:1px solid var(--border);background-color:var(--bg);z-index:var(--z-nav);position:sticky;top:0}.site-nav__inner{justify-content:space-between;align-items:center;height:64px;display:flex}.site-nav__brand{align-items:center;gap:var(--s-3);text-decoration:none;display:flex}.site-nav__mark{border:1px solid var(--brand);width:32px;height:32px;font-family:var(--font-serif);color:var(--brand);border-radius:50%;justify-content:center;align-items:center;font-size:13px;display:inline-flex}.site-nav__name{font-family:var(--font-serif);font-size:var(--fs-md);color:var(--text)}.site-nav__links{align-items:center;gap:var(--s-5);display:flex}.site-nav__links a{font-size:var(--fs-sm);color:var(--text-soft);text-decoration:none}.site-nav__links a:hover{color:var(--text)}.site-nav__links .btn{font-size:var(--fs-sm);padding:8px 16px}.hero{background-color:var(--bg);padding:var(--s-12) 0 var(--s-10);border-bottom:1px solid var(--border)}.hero__inner{text-align:left;max-width:780px}.hero__title{font-size:clamp(32px, 5vw, var(--fs-3xl));margin-top:var(--s-4);color:var(--text);font-weight:500}.hero__title em{color:var(--brand);font-style:italic}.hero__lead{font-size:var(--fs-md);color:var(--text-soft);margin-top:var(--s-5);max-width:600px;line-height:var(--lh-loose)}.hero__cta{gap:var(--s-3);margin-top:var(--s-6);flex-wrap:wrap;display:flex}.section{padding:var(--s-12) 0;background-color:var(--bg-section)}.section__title{font-size:var(--fs-2xl)}.section__lead{color:var(--text-soft);margin-top:var(--s-3);max-width:620px;font-size:var(--fs-md);line-height:var(--lh-loose)}.phases{gap:var(--s-5);margin-top:var(--s-8);grid-template-columns:1fr 1fr;display:grid}@media (width<=720px){.phases{grid-template-columns:1fr}}.phase{background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-6)}.phase--accent{border-color:var(--accent)}.phase__num{background-color:var(--brand);color:#fff;width:36px;height:36px;font-family:var(--font-serif);font-size:var(--fs-md);margin-bottom:var(--s-4);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.phase--accent .phase__num{background-color:var(--accent)}.phase__title{font-size:var(--fs-xl);margin-bottom:var(--s-3)}.phase__desc{color:var(--text-soft);margin-bottom:var(--s-4)}.phase__list{border-top:1px solid var(--border);padding:0;padding-top:var(--s-4);list-style:none}.phase__list li{font-size:var(--fs-sm);color:var(--text-soft);padding:var(--s-2) 0}.phase__list li:before{content:"— ";color:var(--text-muted)}.preview{padding:var(--s-12) 0;background-color:var(--bg);border-top:1px solid var(--border)}.preview__title{font-size:var(--fs-2xl);margin-top:var(--s-4)}.preview__lead{margin-top:var(--s-4);color:var(--text-soft);max-width:620px;font-size:var(--fs-md);line-height:var(--lh-loose)}.preview__features{gap:var(--s-5);margin-top:var(--s-8);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.preview__feature{padding:var(--s-5);background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg)}.preview__feature h3{font-size:var(--fs-md);margin-bottom:var(--s-3)}.preview__feature p{color:var(--text-soft);font-size:var(--fs-sm)}.preview__cta{margin-top:var(--s-8)}.preview__cta-note{margin-top:var(--s-3);color:var(--text-muted);font-size:var(--fs-sm)}.site-footer{border-top:1px solid var(--border);padding:var(--s-6) 0;background-color:var(--bg)}.site-footer__inner{font-size:var(--fs-sm);color:var(--text-muted);justify-content:space-between;display:flex}.catalog{padding:var(--s-10) 0 var(--s-12)}.catalog__head{max-width:720px;margin-bottom:var(--s-8)}.catalog__title{font-size:var(--fs-2xl);margin-top:var(--s-4)}.catalog__lead{margin-top:var(--s-4);color:var(--text-soft);font-size:var(--fs-md);line-height:var(--lh-loose)}.catalog__error{background-color:var(--bg-elev);border:1px solid var(--danger);color:var(--danger);padding:var(--s-4);border-radius:var(--r-md)}.catalog__loading{color:var(--text-muted)}.catalog__empty{background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-8);text-align:center}.catalog__empty-hint{color:var(--text-muted);margin-top:var(--s-2);font-size:var(--fs-sm)}.course-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));list-style:none;display:grid}.course-card{background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-5);color:var(--text);height:100%;text-decoration:none;transition:border-color .15s,transform .15s;display:block}.course-card:hover{border-color:var(--brand);color:var(--text)}.course-card__title{font-size:var(--fs-lg);margin-top:var(--s-3);margin-bottom:var(--s-3)}.course-card__desc{color:var(--text-soft);font-size:var(--fs-sm);margin-bottom:var(--s-5)}.course-card__foot{border-top:1px solid var(--border);padding-top:var(--s-4);font-size:var(--fs-sm);color:var(--text-soft);justify-content:space-between;align-items:baseline;display:flex}.course-card__from strong{font-family:var(--font-serif);color:var(--brand);font-weight:500;font-size:var(--fs-md)}.course-card__from small{color:var(--text-muted)}.course-card__arrow{color:var(--brand);font-size:var(--fs-lg)}.products{padding:var(--s-10) 0 var(--s-12)}.products__head{max-width:720px;margin-bottom:var(--s-8)}.products__title{font-size:var(--fs-2xl);margin-top:var(--s-4)}.products__lead{margin-top:var(--s-4);color:var(--text-soft);font-size:var(--fs-md);line-height:var(--lh-loose)}.products__note{margin-top:var(--s-8);color:var(--text-muted);font-size:var(--fs-sm);text-align:center}.product-grid{gap:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));list-style:none;display:grid}.product-card{background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);flex-direction:column;height:100%;display:flex}.product-card__body{padding:var(--s-5);flex:1}.product-card__name{font-family:var(--font-serif);font-size:var(--fs-lg);margin-top:var(--s-3);margin-bottom:var(--s-3);font-weight:500;line-height:var(--lh-tight);color:var(--text)}.product-card__desc{color:var(--text-soft);font-size:var(--fs-sm);line-height:var(--lh-base);margin-bottom:var(--s-4)}.product-card__bullets{border-top:1px solid var(--border);padding:0;padding-top:var(--s-4);list-style:none}.product-card__bullets li{font-size:var(--fs-sm);color:var(--text-soft);padding:var(--s-1) 0}.product-card__bullets li:before{content:"— ";color:var(--text-muted)}.product-card__foot{justify-content:space-between;align-items:center;gap:var(--s-3);padding:var(--s-4) var(--s-5);border-top:1px solid var(--border);display:flex}.product-card__price{font-family:var(--font-serif);font-size:var(--fs-md);color:var(--brand)}.product-card__foot .btn{font-size:var(--fs-sm);white-space:nowrap;padding:10px 16px}.login{min-height:calc(100vh - 64px);padding:var(--s-8) var(--s-5);background-color:var(--bg-section);justify-content:center;align-items:flex-start;display:flex}.login__box{background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);width:100%;max-width:420px;padding:var(--s-8);margin-top:var(--s-6)}.login__title{font-size:var(--fs-xl);margin-bottom:var(--s-2)}.login__sub{color:var(--text-soft);font-size:var(--fs-sm);margin-bottom:var(--s-6)}.login__google{width:100%}.login__divider{margin:var(--s-5) 0;align-items:center;gap:var(--s-3);color:var(--text-muted);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;display:flex}.login__divider:before,.login__divider:after{content:"";background-color:var(--border);flex:1;height:1px}.login__form{gap:var(--s-4);flex-direction:column;display:flex}.login__field{gap:var(--s-2);flex-direction:column;display:flex}.login__field>span{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft);font-weight:500}.login__field input{background-color:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r-md);font-size:var(--fs-base);color:var(--text);padding:12px 14px;transition:border-color .15s}.login__field input:focus{border-color:var(--brand);outline:none}.login__field input:disabled{background-color:var(--bg-section);cursor:not-allowed}.login__error{color:var(--danger);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);font-size:var(--fs-sm);background-color:#fdecec;border:1px solid #f0c4c4}.login__submit{width:100%;margin-top:var(--s-2)}.login__switch{text-align:center;margin-top:var(--s-5);font-size:var(--fs-sm);color:var(--text-soft)}.login__switch button{color:var(--brand);cursor:pointer;font-weight:500;font-size:var(--fs-sm);text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.login__switch button:hover{color:var(--brand-hover)}.site-nav__active{color:var(--brand);font-weight:500}.account{padding:var(--s-8) 0 var(--s-12)}.account__head{gap:var(--s-5);padding-bottom:var(--s-6);border-bottom:1px solid var(--border);margin-bottom:var(--s-8);grid-template-columns:auto 1fr auto;align-items:center;display:grid}@media (width<=600px){.account__head{grid-template-columns:auto 1fr}.account__logout{grid-column:1/-1;justify-self:start}}.account__avatar{background-color:var(--brand-soft);width:64px;height:64px;color:var(--brand);font-family:var(--font-serif);font-size:var(--fs-lg);border-radius:50%;justify-content:center;align-items:center;font-weight:500;display:flex;overflow:hidden}.account__avatar img{object-fit:cover;width:100%;height:100%}.account__name{font-size:var(--fs-xl);margin-bottom:var(--s-1)}.account__email{color:var(--text-soft);font-size:var(--fs-sm)}.account__section-title{font-size:var(--fs-lg);margin-bottom:var(--s-5)}.account__error{color:var(--danger);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background-color:#fdecec;border:1px solid #f0c4c4}.account__loading{color:var(--text-muted)}.account__empty{background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--s-8) var(--s-5);text-align:center}.account__empty h3{font-size:var(--fs-md);margin-bottom:var(--s-3)}.account__empty p{color:var(--text-soft);margin-bottom:var(--s-5);max-width:460px;margin-left:auto;margin-right:auto}.enrollment-list{gap:var(--s-3);flex-direction:column;padding:0;list-style:none;display:flex}.enrollment{justify-content:space-between;gap:var(--s-5);background-color:var(--bg-elev);border:1px solid var(--border);border-radius:var(--r-md);padding:var(--s-4) var(--s-5);align-items:center;display:flex}@media (width<=600px){.enrollment{flex-direction:column;align-items:flex-start}}.enrollment__title{font-size:var(--fs-md);margin-bottom:var(--s-1)}.enrollment__phase{color:var(--text-soft);font-size:var(--fs-sm)}.enrollment__side{align-items:flex-end;gap:var(--s-2);flex-direction:column;display:flex}@media (width<=600px){.enrollment__side{align-items:flex-start}}.enrollment__status{font-size:var(--fs-xs);letter-spacing:.05em;text-transform:uppercase;border-radius:var(--r-sm);background-color:var(--bg-section);color:var(--text-soft);padding:4px 10px;font-weight:500}.enrollment__status--paid{color:var(--success);background-color:#dcf2e6}.enrollment__status--completed{background-color:var(--brand-soft);color:var(--brand)}.enrollment__status--cancelled{color:var(--danger);background-color:#fdecec}.enrollment__amount{font-family:var(--font-serif);font-size:var(--fs-md);color:var(--text)}
