/* Public catalog pages: wide editorial rows, shared ink / pink / silver palette. */
body.catalog-page{--bg:#0d0e10;--fg:#f2f3f7;--red:#ff398c;--muted:#adafb8;--line:#313238;background:var(--bg);color:var(--fg);font-family:Pre,'Malgun Gothic',sans-serif;word-break:keep-all}
.catalog-page main{max-width:1320px;background:transparent;padding:0 40px 86px;margin-inline:auto}
.catalog-page h1,.catalog-page h2,.catalog-page h3{word-break:keep-all;overflow-wrap:normal;text-wrap:pretty}
.catalog-intro{padding:65px 0 38px;border-bottom:1px solid var(--line)}
.catalog-eyebrow{margin:0 0 15px;color:#ff70af;font-size:12px;font-weight:650;letter-spacing:.08em}
.catalog-intro h1{font-size:clamp(36px,4.8vw,64px);line-height:1.18;font-weight:750;letter-spacing:-.06em;margin:0 0 20px}
.catalog-intro>p:not(.catalog-eyebrow){margin:0;max-width:760px;color:#b9bbc5;font-size:17px;line-height:1.8;letter-spacing:-.02em}
.catalog-switch{display:flex;gap:28px;margin-top:30px;font-size:15px;font-weight:600}
.catalog-switch a{display:block;padding:7px 0 13px;color:#999ca6;border-bottom:2px solid transparent}
.catalog-switch a:hover{color:#fff}
.catalog-switch a[aria-current=page]{color:#fff;border-color:var(--red)}
.catalog-list{margin:0;padding:0;list-style:none}
.catalog-row{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(28px,4.5vw,64px);align-items:center;padding:44px 0}
.catalog-row>figure{margin:0;min-width:0}
.catalog-list>li+li{border-top:1px solid var(--line)}
.catalog-media{display:block;position:relative;min-width:0;aspect-ratio:16/9;margin:0;overflow:hidden;background:#1b1c20}
.catalog-media>img,.catalog-media>video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 47%}
.catalog-media img{transition:transform .35s ease}
a.catalog-media:hover img{transform:scale(1.025)}
.catalog-media video{background:#141416}
.catalog-copy{min-width:0}
.catalog-meta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 17px;color:#c5c6cf;font-size:13px;line-height:1.6}
.catalog-meta .catalog-status{color:#ff78b3}
.catalog-copy h2{font-size:clamp(26px,2.7vw,38px);font-weight:700;letter-spacing:-.055em;line-height:1.35;margin:0 0 17px}
.catalog-copy h2 a:hover{color:#ff95c4}
.catalog-description{font-size:16px;line-height:1.85;color:#b9bbc5;margin:0;max-width:580px;letter-spacing:-.02em}
.catalog-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.catalog-price strong{font-size:26px;line-height:1.3;font-weight:700;letter-spacing:-.035em;color:#f3f4f8}
.catalog-price span{font-size:12px;color:#a9acb6}
.catalog-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px 28px;margin-top:28px}
.catalog-link{display:inline-flex;align-items:center;gap:20px;width:fit-content;padding-bottom:8px;border-bottom:1px solid #777b89;color:#f0f1f5;font-size:14px;line-height:1.5;font-weight:600}
.catalog-link>span{font-size:18px;line-height:1;font-weight:400}
.catalog-link:hover{color:#ff8bbf;border-color:#ff8bbf}
.catalog-link-primary{background:#ff398c;border:0;padding:15px 20px;color:#160910}
.catalog-link-primary:hover{background:#ff74ae;color:#160910}
.catalog-link:active{transform:translateY(1px)}
.catalog-caption{margin:12px 0 0;font-size:12px;line-height:1.7;color:#a2a5af}
.catalog-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin-top:8px;padding:28px 0;border-top:1px solid var(--line)}
.catalog-note h2{font-size:23px;line-height:1.5;font-weight:650;letter-spacing:-.04em;margin:0 0 9px}
.catalog-note p{max-width:800px;font-size:14px;line-height:1.8;color:#aeb1bd;margin:0}
.catalog-note .catalog-link{white-space:nowrap}
.catalog-page .catalog-portrait{aspect-ratio:1/1.05;max-width:480px;width:100%;margin:0;overflow:hidden;background:#a85f68;position:relative}
.catalog-portrait img{position:absolute;width:100%;max-width:none;height:100%;left:0;top:0;object-fit:cover;object-position:center}
.catalog-teacher-row{grid-template-columns:minmax(0,.88fr) minmax(0,1fr);gap:clamp(32px,6vw,96px);padding-block:44px 48px;align-items:center}
.catalog-teacher-row h2{font-size:clamp(44px,5.8vw,76px);line-height:1.1;margin-bottom:24px}
.catalog-teacher-row h2 span{margin-left:18px;font-size:20px;letter-spacing:.02em;color:#b7bac5;font-weight:450}
.catalog-teacher-lead{font-size:clamp(23px,2.5vw,32px);line-height:1.55;font-weight:550;letter-spacing:-.045em;margin:0 0 20px}
.catalog-teacher-course{margin:29px 0 0;padding-top:22px;border-top:1px solid var(--line);color:#c7c9d2;font-size:14px;line-height:1.8}
.catalog-teacher-course span{display:block;font-size:12px;color:#979ba8;margin-bottom:5px}
.catalog-lesson-status{padding:26px 0 30px;border-top:1px solid var(--line);display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px}
.catalog-lesson-status>div:first-child p{font-size:13px;color:#ff78b3;margin:0 0 8px}
.catalog-lesson-status>div:first-child strong{font-weight:650;font-size:14px}
.catalog-lesson-status h2{font-size:24px;line-height:1.5;letter-spacing:-.04em;font-weight:650;margin:0 0 12px}
.catalog-lesson-status>div>p:last-child{font-size:14px;line-height:1.8;color:#adb0bb;margin:0}
.support-layout{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);gap:clamp(36px,6vw,84px);padding-top:44px}
.support-section-title{font-size:25px;line-height:1.4;letter-spacing:-.045em;font-weight:650;margin:0 0 12px}
.support-section-copy{font-size:14px;line-height:1.8;color:#aeb1bd;margin:0;max-width:260px}
.support-faq{border-top:1px solid var(--line)}
.support-faq details{border-bottom:1px solid var(--line)}
.support-faq summary{list-style:none;position:relative;cursor:pointer;padding:23px 34px 23px 0;font-weight:550;font-size:17px;line-height:1.6;letter-spacing:-.025em}
.support-faq summary::-webkit-details-marker{display:none}
.support-faq summary::after{content:'+';position:absolute;right:2px;top:24px;font-size:22px;font-weight:350;line-height:1;color:#abb0bd}
.support-faq details[open] summary{color:#ff8cbe}
.support-faq details[open] summary::after{content:'−';color:#ff8cbe}
.support-faq details>div{padding:0 32px 25px 0}
.support-faq p{font-size:15px;line-height:1.85;color:#babdc8;margin:0}
.support-faq p+p{margin-top:12px}
.support-faq a{color:#f3f4f8;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#858997}
.support-contact{margin-top:54px;border-top:1px solid var(--line);padding-top:33px;display:grid;grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);gap:clamp(36px,6vw,84px)}
.support-email{display:inline-flex;flex-wrap:wrap;gap:10px 24px;align-items:center;color:#f2f3f7;font-size:clamp(20px,2.4vw,29px);line-height:1.4;letter-spacing:-.03em;word-break:break-all;border-bottom:1px solid #858997;padding-bottom:12px}
.support-email span{font-size:13px;letter-spacing:0;color:#ff8cbe;word-break:keep-all}
.support-email:hover{color:#ff8cbe}
.support-contact-copy{font-size:14px;line-height:1.8;margin:15px 0 0;color:#aeb1bd}
.support-policy-links{display:flex;gap:25px;flex-wrap:wrap;margin-top:22px;font-size:13px;color:#c7c9d2}
.support-policy-links a:hover{color:#ff8cbe}
.catalog-page .catalog-footer{max-width:none;background:#101114;border-top:1px solid #2b2e36;padding:35px max(40px,calc((100vw - 1240px)/2)) 40px;color:#aeb1bd;font-size:12px}
.catalog-footer .brand{color:#eef0f6;font-size:24px;letter-spacing:-.055em;margin-bottom:8px;font-weight:700}
.catalog-footer>p{margin:0;color:#a5a9b5}
.catalog-footer .footer-links{gap:12px 23px;margin-block:22px}
.catalog-footer .footer-links a{color:#c3c6d0}
.catalog-footer .business-info{border-top:1px solid #292c33;padding-top:20px;margin-top:20px;color:#979ba8;font-size:11px}
.catalog-footer .business-info dl{grid-template-columns:auto minmax(0,1fr);max-width:760px;gap:3px 12px}
.catalog-footer .business-info dt,.catalog-footer .business-info p span{color:#8b909e}
.catalog-footer .business-info dd,.catalog-footer .business-info p,.catalog-footer .business-info a{color:#a9adba}
.catalog-page a:focus-visible,.catalog-page summary:focus-visible{outline:2px solid #ff8cbe;outline-offset:5px}
@media(min-width:1600px){.catalog-page main{padding-inline:0;max-width:1280px}.catalog-page .catalog-footer{padding-inline:max(40px,calc((100vw - 1280px)/2))}}
@media(max-width:1000px){.catalog-page main{padding-inline:28px}.catalog-intro{padding-top:45px}.catalog-row{gap:28px}.catalog-copy h2{font-size:29px}.catalog-description{font-size:15px}.catalog-teacher-row h2{font-size:58px}.catalog-page .catalog-footer{padding-inline:28px}.catalog-note{grid-template-columns:1fr}.catalog-note .catalog-link{margin-top:3px}}
@media(max-width:720px){.catalog-page main{padding:0 20px 55px}.catalog-intro{padding:35px 0 25px}.catalog-intro h1{font-size:38px;margin-bottom:16px}.catalog-intro>p:not(.catalog-eyebrow){font-size:15px;line-height:1.8}.catalog-eyebrow{font-size:11px;margin-bottom:12px}.catalog-switch{margin-top:20px;gap:25px;font-size:14px}.catalog-row{grid-template-columns:1fr;gap:24px;padding-block:30px}.catalog-copy h2{font-size:28px;margin-bottom:13px}.catalog-meta{margin-bottom:12px;font-size:12px}.catalog-price{margin-top:20px}.catalog-price strong{font-size:24px}.catalog-actions{margin-top:22px;gap:18px 24px}.catalog-note{padding-top:25px}.catalog-note h2{font-size:21px}.catalog-page .catalog-portrait{max-width:440px;margin-inline:auto}.catalog-teacher-row{gap:28px}.catalog-teacher-row h2{font-size:50px;margin-bottom:18px}.catalog-teacher-lead{font-size:25px}.catalog-lesson-status{grid-template-columns:1fr;gap:17px;padding-block:24px}.catalog-lesson-status>div:first-child{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.catalog-lesson-status>div:first-child p{margin:0}.catalog-lesson-status h2{font-size:22px}.support-layout{grid-template-columns:1fr;gap:23px;padding-top:30px}.support-section-title{font-size:23px;margin-bottom:7px}.support-section-copy{max-width:none}.support-faq summary{font-size:16px;padding-block:21px}.support-faq summary::after{top:23px}.support-faq details>div{padding-right:12px}.support-faq p{font-size:14px}.support-contact{grid-template-columns:1fr;gap:20px;margin-top:37px;padding-top:28px}.support-email{font-size:22px}.support-policy-links{gap:18px}.catalog-page .catalog-footer{padding:29px 20px 33px}.catalog-footer .footer-links{gap:12px 18px;font-size:11px}.catalog-footer .business-info{font-size:11px}}
@media(prefers-reduced-motion:reduce){.catalog-page *{scroll-behavior:auto}.catalog-media img{transition:none}.catalog-media:hover img{transform:none}}
