@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url('plus-jakarta-sans.ttf') format('truetype')}
:root{font-family:'Plus Jakarta Sans',Arial,Helvetica,sans-serif}body{line-height:1.7}h1,h2,h3{font-weight:750}h1{letter-spacing:-.05em}h2{letter-spacing:-.035em}h3{letter-spacing:-.025em}.btn{font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 18px #2520631c}.btn:active{transform:translateY(0)}.text-link{transition:color .2s ease}.site-header{box-shadow:0 1px 0 #e4e8ef70}.brand{font-size:1.23rem;letter-spacing:-.055em}.brand-icon{box-shadow:0 4px 12px #4338ca24}.site-footer{align-items:center}.eyebrow{letter-spacing:.13em;font-size:.72rem}.contact-settings{padding:24px}.contact-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;max-width:1040px;margin:42px auto}.contact-layout h1{font-size:clamp(2.4rem,4vw,3.6rem)}.contact-description{margin-top:30px;max-width:600px}.contact-card{padding:32px}.contact-channel{display:block;padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.contact-channel span{display:block;font-size:.78rem;color:var(--muted);margin-bottom:6px}.contact-channel strong{font-size:1rem}.contact-card>.btn{margin-top:24px}.contact-hours{margin:24px 0 0;color:var(--muted);font-size:.85rem}.contact-hours strong{color:var(--ink)}.selected-files{display:flex;flex-wrap:wrap;gap:8px}.selected-files:empty{display:none}.selected-files span{font-size:.8rem;background:#edf0fa;border:1px solid #dde2f1;border-radius:7px;padding:7px 10px;overflow-wrap:anywhere;max-width:100%}
.page-catalog .catalog-hero{background:linear-gradient(118deg,#232059 0%,#30277e 66%,#383285 100%);border:1px solid #4c4694;box-shadow:0 18px 45px -25px #27226770;padding:54px;position:relative}.page-catalog .catalog-hero h1{font-size:clamp(2.5rem,4vw,3.9rem);line-height:1.1;font-weight:750;max-width:740px}.catalog-hero .eyebrow{font-size:.69rem;letter-spacing:.17em}.catalog-hero .light{border-radius:10px;box-shadow:0 8px 20px #12103624}.catalog-hero .light>span{transition:transform .25s}.catalog-hero .light:hover>span{transform:translate(3px,-3px)}.hero-note{border-left-color:#ffffff26}.hero-number{color:#b9e9d8;line-height:.95}.hero-features span{background:#ffffff08;border-color:#ffffff24}.page-catalog .section-title{margin-top:40px}.page-catalog .section-title h2{font-size:1.85rem}.page-catalog .filters{padding:24px;border-color:#e1e5ee;box-shadow:0 4px 18px #1d275504}.course-card{box-shadow:0 3px 14px #1d275505;transition:opacity .5s ease,transform .3s ease,box-shadow .3s ease;border-color:#e0e5ef}.course-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #1d275512}.course-photo{transition:transform .6s ease}.course-card:hover .course-photo{transform:scale(1.025)}.course-body{padding:24px}.course-body h3{font-size:1.15rem;line-height:1.5;font-weight:750}.course-body .overline{font-size:.69rem;letter-spacing:.04em}.course-cover>strong{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;letter-spacing:-.06em}.card-bottom{align-items:end}.card-bottom .text-link{font-size:.83rem;white-space:nowrap}.price-block>strong{font-size:1.12rem;letter-spacing:-.025em}.discount-notice{background:#fff6e8;border-color:#f0dfc2}.announcement{border-radius:18px;box-shadow:0 3px 14px #1d275504;transition:opacity .5s ease,transform .4s ease,border-color .3s}.announcement:hover{border-color:#c0d6ce}.announcement h3{font-size:1.35rem;line-height:1.35;max-width:450px}.announcement .badge{font-size:.64rem;letter-spacing:.1em}.announcement p{line-height:1.75}.announcement .text-link{font-size:.84rem}
.page-course .detail-grid{gap:40px;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr)}.page-course .detail-grid>section>h1{font-size:clamp(2.1rem,3.5vw,3.3rem);line-height:1.15;max-width:800px}.course-author{color:var(--muted);font-size:.95rem}.course-author strong{color:var(--ink)}.course-facts{display:flex;gap:14px;flex-wrap:wrap;margin:26px 0 34px;transition:opacity .5s ease,transform .4s ease}.course-facts>span{border:1px solid #dfe4ef;background:white;border-radius:8px;padding:9px 13px;font-size:.79rem;color:#4f5d74}.course-facts strong{color:var(--primary)}.purchase-card{border-color:#dcdff0;box-shadow:0 12px 34px #2520630a;overflow:hidden}.purchase-symbol{height:auto;min-height:66px;background:linear-gradient(110deg,#e9e7ff,#f3f2ff);display:flex;align-items:center;justify-content:space-between;padding:14px 20px;font-size:1rem;border-radius:10px}.purchase-symbol span{font-size:.65rem;letter-spacing:.11em;font-weight:750}.purchase-symbol b{font-size:2rem;font-weight:500}.purchase-card>.eyebrow{font-size:.67rem}.purchase-card>.price-block>strong{font-size:2.8rem}.purchase-card .check-list{border-top:1px solid var(--line);padding-top:15px;margin-top:22px}.purchase-card .btn{min-height:54px;box-shadow:0 5px 15px #4338ca25}.purchase-card>small{font-size:.76rem;line-height:1.6}.lesson-list{transition:opacity .5s ease,transform .4s ease}.lesson-row{padding:20px 22px}.lesson-number{background:#eeecff;border-radius:7px;min-width:32px;text-align:center;padding:4px;font-size:.79rem}.course-header-photo{box-shadow:0 9px 26px #1d27550b}
@media(prefers-reduced-motion:no-preference){.page-catalog .catalog-hero>div:first-child,.page-course .detail-grid>section>h1{animation:soft-enter .55s ease both}.page-catalog .hero-note{animation:soft-enter .65s .1s ease both}.reveal-pending{opacity:0;transform:translateY(12px)}@keyframes soft-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.page-catalog .catalog-hero{padding:38px}.page-catalog .catalog-hero h1{font-size:2.9rem}.page-course .detail-grid{gap:24px;grid-template-columns:minmax(0,1.3fr) minmax(270px,1fr)}.contact-layout{gap:28px}.contact-card{padding:24px}.course-body{padding:21px}}
@media(max-width:850px){.page-course .detail-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;max-width:600px;margin:24px auto;gap:22px}.contact-layout>section>p.muted{max-width:460px}.purchase-card{max-width:none}}
@media(max-width:540px){.brand{font-size:1.05rem}.page-catalog .catalog-hero{padding:30px 23px}.page-catalog .catalog-hero h1{font-size:2.35rem;letter-spacing:-.055em}.page-catalog .section-title h2{font-size:1.55rem}.page-catalog .filters{padding:18px}.announcement h3{font-size:1.25rem}.course-body{padding:22px}.course-facts{gap:8px}.course-facts>span{font-size:.75rem;padding:8px 11px}.page-course .detail-grid>section>h1{font-size:2.15rem}.contact-settings{padding:16px}.contact-card{padding:22px}.card-bottom{gap:8px}}
@media(prefers-reduced-motion:reduce){.reveal-pending{opacity:1;transform:none}.btn:hover,.course-card:hover{transform:none}.course-photo{transition:none}.course-card:hover .course-photo{transform:none}}

.discount-notice.offer-box{display:block;background:linear-gradient(125deg,#fffaf0,#fff5e3);border:1px solid #eddbb8;border-radius:14px;padding:18px;color:#76511d;margin-top:18px;position:relative;overflow:hidden}.offer-heading{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.015em}.offer-spark{display:grid;place-items:center;width:25px;height:25px;background:#b7812615;border-radius:50%;font-size:18px;color:#a47020}.offer-box .offer-saving{font-size:12px;margin:10px 0 14px;color:#82673f;line-height:1.5}.offer-box .offer-saving strong{display:inline;font-size:14px;color:#755019}.offer-clock{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.offer-clock>div{background:#fffefb;border:1px solid #efdfc4;border-radius:9px;padding:9px 4px 7px;text-align:center;box-shadow:0 3px 7px #9e732a05}.offer-box .offer-clock strong{display:block;font-size:20px;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#644719}.offer-box .offer-clock small{display:block;font-size:9px;letter-spacing:.07em;text-transform:uppercase;margin-top:6px;color:#987a4c}.offer-box .offer-deadline{display:block;font-size:9px;line-height:1.6;margin-top:12px;color:#8a7455}.purchase-card .offer-box{padding:20px}.purchase-card .offer-heading{font-size:12px}.purchase-card .offer-clock strong{font-size:25px}.offer-box[hidden]{display:none}
