/* AlgoCademy homepage variant. Shared palette and base layout: landing.css. */
.academy-page{--muted:#536566}
.academy-page .nav-row{min-height:90px;gap:26px}
.academy-page nav{gap:25px;font-size:13px}
.nav-actions{display:flex;align-items:center;gap:25px}
.login-link{font-size:13px;font-weight:600}
.academy-page .hero{padding-top:65px;padding-bottom:45px}
.academy-page .eyebrow{font-size:10px;letter-spacing:1.1px}
.academy-page .hero h1{font-size:76px;letter-spacing:-3.8px;margin-top:28px}
.academy-page .hero-description{font-size:18px}
.academy-page .spark-one{left:4%;top:146px}
.academy-page .spark-two{right:5%;top:210px}
.academy-page .hero-notes{font-size:12px}
.academy-page .demo-section{max-width:1100px}
.academy-page .demo-caption{font-size:11px}








































.trust-strip{text-align:center;padding:43px 20px 47px;border-bottom:1px solid var(--line)}
.trust-strip p{font-size:12px;color:#677667;margin-bottom:23px}
.trust-strip img{display:block;width:min(637px,90%);height:auto;margin-inline:auto;opacity:.78}
.trust-strip>span{display:block;font-size:10px;color:#7a8475;margin-top:18px}
.academy-page .section-space{padding-block:88px}
.academy-page .section-heading>p,.stories-intro>p{font-size:14px}
.academy-page .steps-grid p{font-size:14px}
.path-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}
.path-card{border:1px solid #d9e1d2;border-radius:12px;background:#fcfdf8;overflow:hidden}
.path-art{height:190px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;border-bottom:1px solid #d9e1d2}
.path-foundations{background:#dfe9d2}
.building-blocks{display:flex;gap:9px;align-items:flex-end;height:82px}
.building-blocks>span{width:51px;height:51px;display:grid;place-items:center;background:#f8fbf1;color:#6c854c;border-radius:7px;box-shadow:0 4px 0 #b7ca9e;font:24px Georgia,serif;transform:rotate(-7deg)}
.building-blocks>span:nth-child(2){transform:rotate(5deg) translateY(-19px);background:#b8ce98;color:#405635}
.building-blocks>span:nth-child(3){transform:rotate(-3deg);font-size:30px}
.building-blocks>span:nth-child(4){transform:rotate(7deg) translateY(-12px)}
.path-art-caption{position:absolute;bottom:16px;font-size:8px;letter-spacing:1.5px;color:#60724c;font-weight:600}
.path-algorithms{background:#e2eaf0}
.path-algorithms svg{height:130px;width:240px;margin-bottom:17px;fill:#f7fafb;stroke:#7699a8;stroke-width:1.5}
.path-algorithms circle:first-child{fill:#7da6b6;stroke:#668d9e}
.path-algorithms .path-art-caption{color:#57798a}
.path-interviews{background:#eae3d5}
.practice-note{padding:13px 25px;background:#fffaf0;transform:rotate(-5deg);box-shadow:3px 5px 0 #d4ccb9;margin-bottom:14px}
.practice-note>span{font-size:6px;letter-spacing:1.4px;color:#8b8065}
.practice-note>p{font-family:Georgia,serif;font-size:16px;line-height:1.25;margin:8px 0;color:#72614b}
.practice-note>div{font-size:7px;color:#75824c;border-top:1px solid #ded7c8;padding-top:7px}
.path-interviews .path-art-caption{color:#897255}
.path-body{padding:25px 24px 28px}
.path-number{display:block;font-size:9px;letter-spacing:1.2px;color:#798770;margin-bottom:13px}
.path-body h3{font-size:20px;letter-spacing:-.6px;line-height:1.3;margin-bottom:12px}
.path-body p{font-size:13px;color:var(--muted);margin-bottom:22px;min-height:86px}
.topic-tags{display:flex;flex-wrap:wrap;gap:6px}
.topic-tags>span{font-size:10px;padding:5px 7px;border:1px solid #dfe5d8;border-radius:4px;color:#697960;background:#f6f8f0}
.curriculum-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-top:28px}
.curriculum-bottom>div{display:flex;flex-direction:column;gap:7px;font-size:15px}
.curriculum-bottom strong{font-weight:600}
.curriculum-bottom>div>span{font-size:12px;color:#6f7c65}
.curriculum-bottom .button{font-size:13px;min-height:47px}
.feature-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}
.academy-page .learning-copy>p:not(.kicker){font-size:16px;color:var(--muted);margin-top:20px;max-width:370px}
.academy-page .benefit-list p{font-size:13px}
.thought-card{position:relative;background:#f1ecda;background-image:repeating-linear-gradient(transparent,transparent 31px,#ddd9c655 31px,#ddd9c655 32px);padding:43px 35px 40px;border-radius:4px;transform:rotate(3deg);box-shadow:6px 12px 0 #e6e9df;max-width:430px}
.old-thought{font:18px/1.5 Georgia,serif;color:#979480;text-decoration:line-through;text-decoration-color:#b7b7a1;margin-bottom:17px}
.thought-arrow{font-size:28px;color:#9baa71;margin-bottom:10px}
.new-thought{font:29px/1.45 Georgia,serif;letter-spacing:-.8px;color:#555640;margin-bottom:0}
.thought-caption{font-size:12px;color:#74735c;line-height:1.8;margin-bottom:0}
.stories-section{background:#edf1e9;border-block:1px solid #e0e7d8}
.stories-intro{max-width:335px;color:var(--muted)}
.stories-intro .text-link{font-size:12px;color:var(--blue)}
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.quote-card{display:flex;flex-direction:column;padding:28px 26px;background:#fafbf7;border:1px solid #dbe1d4;border-radius:10px;margin:0}
.quote-mark{font:66px/1 Georgia,serif;color:#a4b787;height:48px}
.quote-card blockquote{font-size:14px;line-height:1.85;color:#3f534c;margin:0 0 27px}
.quote-card figcaption{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:20px;border-top:1px solid #e0e6d8}
.quote-card img{width:42px;height:42px;object-fit:cover;border-radius:50%;flex-shrink:0}
.quote-card figcaption>div{min-width:0;display:flex;flex-direction:column;gap:5px}
.quote-card figcaption a{font-size:12px;font-weight:600}
.quote-card figcaption a:hover{text-decoration:underline}
.quote-card figcaption>div>span{font-size:10px;line-height:1.5;color:#728168}
.student-video{display:flex;align-items:center;gap:15px;width:fit-content;margin:30px auto 0;font-size:13px;font-weight:550}
.student-video>span:last-child{margin-left:15px;color:#718b4f;font-size:20px}
.student-video small{display:block;font-size:11px;font-weight:400;color:#6b7a60;margin-top:5px}
.play-icon{display:grid;place-items:center;width:43px;height:43px;border:1px solid #b8c9a2;border-radius:50%;font-size:12px;background:#f5f8ed;color:#657e42;padding-left:3px}
.student-video:hover .play-icon{background:#dbe9c4}
.instructor-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.instructor{border:1px solid #dfe4d8;border-radius:12px;overflow:hidden;background:#fffefa}
.instructor-photo{height:310px;overflow:hidden;display:flex;justify-content:center;align-items:flex-end}
.photo-andrei{background:#e5ebdc}.photo-mircea{background:#e1e9eb}
.instructor-photo img{height:100%;width:100%;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply}
.instructor-info{padding:30px 32px}
.instructor-info .kicker{font-size:9px;margin-bottom:10px}
.instructor-info h3{font-size:26px;letter-spacing:-1px;margin-bottom:16px}
.instructor-info>p:not(.kicker){font-size:14px;color:var(--muted);line-height:1.8}
.instructor-links{display:flex;gap:23px;font-size:12px;color:var(--blue);font-weight:550;margin-top:23px}
.instructor-links a:hover{text-decoration:underline}
.community-section{background:#eaf0e0;border:1px solid #d8e2c9;border-radius:13px;padding:42px 52px;display:grid;grid-template-columns:170px 1fr;gap:40px;align-items:center;margin-bottom:85px}
.community-symbol{display:flex;align-items:center;gap:7px;font:82px Georgia,serif;color:#a1b984}
.community-symbol>span{font:60px Arial,sans-serif;color:#789c55}
.community-section h2{font-size:33px}
.community-section p:not(.kicker){font-size:14px;color:#627355;margin:18px 0;max-width:650px}
.community-section .kicker{font-size:9px}
.community-links{display:flex;gap:30px;margin-top:20px}
.community-links .text-link{font-size:12px;color:#4f6839}
.academy-page .faq-section{padding-top:75px}
.academy-page summary{font-size:15px}
.academy-page details p{font-size:14px}
.contact-link{color:var(--blue);font-size:13px;display:inline-block;margin-top:15px}
.academy-page details a{color:var(--blue);text-decoration:underline}
.academy-page .final-cta h2{font-size:49px;position:relative}
.academy-page .final-cta .cta-star{font-size:135px;right:3%;top:50px}
.academy-page .final-cta .cta-note{font-size:12px}
.academy-footer{padding-top:60px}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:55px;padding-bottom:45px}
.footer-about>p{font-size:13px;color:#6b7968;line-height:1.8;margin:18px 0 0}
.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:13px}
.footer-top h2{font-size:13px;letter-spacing:0;line-height:1.5;margin-bottom:5px}
.footer-top>div>a{font-size:12px;color:#5d7165;width:fit-content}
.footer-top>div>a:hover{color:var(--blue)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-block:23px;border-top:1px solid var(--line);font-size:11px;color:#73816d}
.footer-bottom p{margin:0}
.footer-bottom>div{display:flex;gap:25px}
@media(max-width:1100px){.academy-page nav{gap:18px;font-size:12px}.academy-page .nav-row{gap:20px}.nav-actions{gap:15px}.academy-page .brand img{width:153px;height:36px}.academy-page .hero h1{font-size:68px}.academy-page .spark-one{left:1%}.academy-page .spark-two{right:1%}.feature-section{gap:60px}.quote-card{padding:25px 20px}.path-body{padding:23px 20px}.path-body h3{font-size:18px}.path-body p{min-height:106px}.instructor-photo{height:270px}}
@media(max-width:900px){.academy-page nav a:last-child{display:none}.login-link{display:none}.academy-page .hero h1{font-size:61px}.academy-page .hero-description{font-size:16px}.academy-page .hero-notes{font-size:10px}.quote-grid{gap:14px}.quote-card blockquote{font-size:13px}.quote-card figcaption{gap:8px}.quote-card figcaption a{font-size:11px}.quote-card figcaption>div>span{font-size:9px}.feature-section{gap:40px}.thought-card{padding:35px 27px}.new-thought{font-size:26px}.community-section{padding:35px;grid-template-columns:125px 1fr;gap:25px}.community-symbol{font-size:60px}.community-symbol>span{font-size:45px}}
@media(max-width:760px){.academy-page .nav-row{min-height:78px}.academy-page .hero{padding-block:48px 36px}.academy-page .hero h1{font-size:54px;letter-spacing:-2.6px}.academy-page .hero-description{font-size:15px}.academy-page .hero-notes{gap:12px}.academy-page .hero-actions .button{font-size:13px;gap:17px}.academy-page .section-space{padding-block:65px}.path-grid{grid-template-columns:1fr;gap:20px}.path-card{display:grid;grid-template-columns:1fr 1.3fr}.path-art{height:100%;min-height:225px;border-bottom:0;border-right:1px solid #d9e1d2}.path-body p{min-height:0}.path-body h3{font-size:20px}.building-blocks{gap:6px}.building-blocks>span{width:37px;height:43px;font-size:20px}.path-algorithms svg{width:95%}.path-art-caption{font-size:7px;letter-spacing:1px}.practice-note{padding:15px}.feature-section{grid-template-columns:1fr;gap:45px}.thought-card{justify-self:center;width:85%;padding:38px 32px}.new-thought{font-size:30px}.stories-intro{max-width:450px;margin-top:22px}.quote-grid{grid-template-columns:1fr;gap:18px}.quote-card{padding:25px 28px}.quote-card blockquote{font-size:15px;margin-bottom:20px}.quote-card figcaption a{font-size:13px}.quote-card figcaption>div>span{font-size:11px}.quote-card figcaption{gap:13px}.quote-mark{height:42px;font-size:60px}.student-video{margin-top:25px}.instructor-photo{height:240px}.instructor-info{padding:25px 22px}.instructor-info>p:not(.kicker){font-size:13px}.instructor-info h3{font-size:23px}.instructor-grid{gap:18px}.instructor-info .kicker{font-size:8px;line-height:1.7}.community-section{grid-template-columns:1fr;padding:30px;margin-bottom:60px}.community-symbol{display:none}.community-section h2{font-size:32px}.community-section p:not(.kicker){font-size:13px}.academy-page .faq-section{padding-top:60px}.academy-page .final-cta h2{font-size:40px}.academy-page .final-cta .cta-star{font-size:90px;top:15px;right:0}.footer-top{gap:30px;grid-template-columns:1.5fr 1fr 1fr}.footer-bottom{flex-wrap:wrap}.footer-bottom>span{display:none}.academy-footer{padding-top:45px}}
@media(max-width:520px){.academy-page .brand img{width:143px;height:34px}.academy-page .nav-row .button-small{font-size:11px;padding:10px 12px;gap:13px}.academy-page .hero h1{font-size:39px;letter-spacing:-1.9px;line-height:1.15;margin-bottom:25px}.academy-page .hero-description{font-size:14px;line-height:1.75;margin-top:25px}.academy-page .hero-description br{display:none}.academy-page .eyebrow{font-size:8px;letter-spacing:.6px}.academy-page .hero-actions{gap:17px}.academy-page .hero-actions .button{padding:13px 14px;font-size:12px;gap:12px}.academy-page .hero-actions .text-link{font-size:11px;gap:7px}.academy-page .hero-notes{font-size:9px;gap:8px 13px;margin-top:20px}.academy-page .demo-caption{font-size:8px;letter-spacing:.9px}.trust-strip{padding:32px 0}.trust-strip img{width:100%}.trust-strip p{font-size:11px}.trust-strip>span{font-size:9px}.academy-page .section-space{padding-block:56px}.academy-page .steps-grid p{font-size:13px}.path-card{display:block}.path-art{min-height:0;height:180px;border-right:0;border-bottom:1px solid #d9e1d2}.building-blocks>span{width:50px;height:50px;font-size:24px}.building-blocks{gap:10px}.path-algorithms svg{width:235px}.path-art-caption{font-size:8px}.practice-note{padding:13px 25px}.path-body{padding:24px}.path-body h3{font-size:21px}.path-body p{font-size:13px}.curriculum-bottom{align-items:flex-start;flex-direction:column;gap:22px;padding-top:25px}.curriculum-bottom .button{font-size:12px}.academy-page .learning-copy>p:not(.kicker){font-size:14px}.thought-card{width:92%;padding:34px 24px}.new-thought{font-size:28px}.old-thought{font-size:16px}.quote-card{padding:24px}.quote-card blockquote{font-size:14px}.student-video{font-size:12px;gap:12px}.student-video small{font-size:10px}.instructor-grid{grid-template-columns:1fr;gap:25px}.instructor-photo{height:290px}.instructor-info{padding:25px}.instructor-info h3{font-size:26px}.instructor-info .kicker{font-size:9px}.instructor-info>p:not(.kicker){font-size:14px}.community-section{padding:27px 23px;margin-bottom:55px}.community-section h2{font-size:31px}.community-links{gap:22px}.community-links .text-link{font-size:11px;gap:9px}.academy-page summary{font-size:14px;padding-block:19px}.academy-page details p{font-size:13px}.academy-page .final-cta{padding:42px 18px}.academy-page .final-cta h2{font-size:33px;letter-spacing:-1.4px}.academy-page .final-cta .kicker{font-size:8px;letter-spacing:1px;max-width:230px;margin-inline:auto;line-height:1.7}.academy-page .final-cta .cta-note{font-size:10px}.footer-top{grid-template-columns:1fr 1fr;gap:30px;padding-bottom:30px}.footer-about{grid-column:1/-1}.footer-top h2{font-size:13px}.footer-top>div>a{font-size:12px}.footer-bottom{font-size:10px;gap:15px}.footer-bottom>div{gap:17px}}
@media(prefers-reduced-motion:reduce){.academy-page *{scroll-behavior:auto}}

/* "See how the learning happens": the lesson showcase. */
.platform-showcase{display:grid;grid-template-columns:.85fr 1.15fr;gap:42px;align-items:center;padding:30px;border:1px solid #d8e0d1;border-radius:14px;background:#f0f3e9;box-shadow:0 12px 35px -25px #233b4b44}
.showcase-copy{padding:12px 0 12px 6px}
.showcase-copy .kicker{font-size:9px;letter-spacing:1.3px;margin-bottom:17px}
.showcase-copy h2{font-size:33px;letter-spacing:-1.2px;margin-bottom:20px}
.showcase-copy>p:not(.kicker){font-size:14px;color:var(--muted);margin-bottom:25px}
.showcase-steps{list-style:none;margin:0 0 27px;padding:0;display:grid;gap:18px}
.showcase-steps li{display:flex;gap:13px;align-items:flex-start}
.showcase-steps li>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #c4d4ad;background:#f8faf3;color:#6d854c;border-radius:50%;font-size:10px;flex-shrink:0}
.showcase-steps strong{font-size:13px;font-weight:600}
.showcase-steps p{font-size:12px;color:#68775e;margin:5px 0 0}
.showcase-copy .text-link{font-size:12px;color:var(--blue)}
.showcase-recording{min-width:0;border:1px solid #cdd8c5;border-radius:10px;overflow:hidden;background:white;box-shadow:0 10px 25px #3248300b}
.showcase-recording .demo-toolbar{font-size:10px;padding:13px;gap:13px}
@media(max-width:900px){.platform-showcase{gap:25px;padding:24px}.showcase-copy h2{font-size:29px}.showcase-copy>p:not(.kicker){font-size:13px}.showcase-steps p{font-size:11px}}
@media(max-width:760px){.platform-showcase{grid-template-columns:1fr;gap:25px;padding:25px}.showcase-copy{padding:0}.showcase-copy h2 br{display:none}.showcase-copy>p:not(.kicker){max-width:500px}.showcase-steps{gap:15px}.showcase-recording{width:100%;max-width:530px;justify-self:center}}
@media(max-width:520px){.platform-showcase{padding:20px 16px;gap:24px}.showcase-copy h2{font-size:28px}.showcase-copy>p:not(.kicker){font-size:13px}.showcase-copy .kicker{font-size:8px}.showcase-recording .demo-toolbar{font-size:9px;gap:10px}.academy-page .hero-actions{flex-wrap:wrap;gap:18px}.academy-page .hero-actions .text-link{font-size:12px}}

/* The lesson in screenshots of the app (algocademy.js): the steps are tabs, the screenshot runs the
   full width below them, where the app's text stays readable. On a phone it sits between the copy
   and the steps, and opens full size on tap. */
.lesson-tour{grid-template-columns:.8fr 1.2fr;grid-template-areas:"copy steps" "shot shot";align-items:start;row-gap:28px}
.lesson-tour .showcase-copy{grid-area:copy}
.lesson-tour .showcase-steps{grid-area:steps;grid-template-columns:1fr 1fr;gap:10px;margin:0}
.lesson-tour .showcase-recording{grid-area:shot}
.showcase-steps button{display:flex;gap:13px;align-items:flex-start;width:100%;height:100%;padding:14px;border:1px solid transparent;border-radius:10px;background:transparent;font:inherit;color:inherit;text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
.showcase-steps button:hover{background:#f7f9f2}
.showcase-steps button[aria-selected=true]{background:#fff;border-color:#c4d4ad;box-shadow:0 8px 20px -14px #233b4b66}
.showcase-steps button:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.showcase-steps button>span{display:grid;place-items:center;width:27px;height:27px;border:1px solid #c4d4ad;background:#f8faf3;color:#6d854c;border-radius:50%;font-size:10px;flex-shrink:0}
.showcase-steps button[aria-selected=true]>span{background:#6d854c;border-color:#6d854c;color:#fff}
.lesson-shots{background:#f5f6f8}
.lesson-shots a{display:block}
.lesson-shots img{display:block;width:100%;height:auto;aspect-ratio:1600/1000}
@media(max-width:900px){.lesson-tour{grid-template-columns:1fr;grid-template-areas:"copy" "steps" "shot"}}
@media(max-width:760px){.lesson-tour{grid-template-areas:"copy" "shot" "steps";row-gap:18px}.lesson-tour .showcase-recording{max-width:none}}
@media(max-width:520px){.lesson-tour .showcase-steps{grid-template-columns:1fr;gap:4px}.showcase-steps button{padding:10px 12px}}

/* Part 2's picture: how the running time grows. */
.path-levelup{background:#e2eaf0}
.path-levelup svg{height:130px;width:240px;margin-bottom:17px;fill:none;stroke-width:2.2;stroke-linecap:round}
.path-levelup .axis{stroke:#9db4c0;stroke-width:1.5}
.path-levelup .curve-slow{stroke:#c98a6c}
.path-levelup .curve-fast{stroke:#3d7f9c}
.path-levelup text{fill:#57798a;stroke:none;font:600 11px ui-monospace,SFMono-Regular,Menlo,monospace}
.path-levelup .path-art-caption{color:#57798a}

/* The video player (algocademy.js, links with data-video). */
.video-dialog{width:min(960px,calc(100% - 32px));max-width:none;padding:0;border:0;border-radius:12px;background:#0d1117;overflow:visible;box-shadow:0 30px 80px #0008}
.video-dialog::backdrop{background:rgba(13,20,24,.78)}
.video-frame{aspect-ratio:16/9}
.video-frame iframe{display:block;width:100%;height:100%;border:0;border-radius:12px}
.video-close{position:absolute;top:-44px;right:0;width:36px;height:36px;border:0;border-radius:50%;background:#fff;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.video-close:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
