:root{--ff:"Roboto Flex",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue","Noto Sans",Helvetica,Arial,sans-serif;--fm:ui-monospace,Menlo,Monaco,Consolas,"SF Mono","Cascadia Mono","Segoe UI Mono","DejaVu Sans Mono","Liberation Mono","Roboto Mono","Oxygen Mono","Ubuntu Monospace","Ubuntu Mono","Source Code Pro","Fira Mono","Droid Sans Mono","Courier New",Courier,monospace;color-scheme:var(--cs);--s1: .5rem;--s2: 1rem;--rc: .5rem;--br: 0.25rem;--bw: 0.0625rem;--ow: 0.1875rem;--fs: 1rem;--lh: 1.5;--lhh: 1.2;--fw: 400;--fh: 500}@media (min-width: 576px){:root{--fs: 1rem}}@media (min-width: 768px){:root{--fs: 1.04rem}}@media (min-width: 992px){:root{--fs: 1.08rem}}@media (min-width: 1200px){:root{--fs: 1.12rem}}:root:not(.switch){--cs:dark;--f1:#ccc;--f2:#ddd;--c1:#111;--c2:#222;--c3:#333;--c4:#888;--a1:#fc0;--a2:#fc0;--a3:#fc0;--a4:#fc0;--cg:#593;--cr:#e33;--h0:#191919;--h1:#ddd;--h2:#888;--h3:#e65;--h4:#e83;--h5:#fc0;--h6:#ac3;--h7:#8db;--h8:#6ae;--h9:#d6e;--ha:160%}:root.switch{--cs:light;--f1:#333;--f2:#222;--c1:#fff;--c2:#eee;--c3:#ddd;--c4:#555;--a1:#c40;--a2:#e60;--a3:#f90;--a4:#c40;--cg:#373;--cr:#d33;--h0:#f7f7f7;--h1:#222;--h2:#666;--h3:#a21;--h4:#930;--h5:#a50;--h6:#350;--h7:#286;--h8:#059;--h9:#a3c;--ha:92%}*,*::before,*::after{box-sizing:border-box}html{text-rendering:optimizeLegibility;background-color:var(--c1);color:var(--f1);font-family:var(--ff);font-weight:var(--fw);font-size:var(--fs);line-height:var(--lh)}h1,h2,h3,h4,h5,h6{padding-left:0;color:var(--f2);margin:var(--s2) 0 var(--s1);font-weight:var(--fh);font-size:var(--fs);line-height:var(--lhh)}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.5rem}h4{font-size:1.25rem}h5{font-size:1.125rem}header h1{margin:0}a{color:var(--a1);text-decoration:none;font-weight:500}a:hover{color:var(--a2);text-decoration:underline}a:visited{color:var(--a4)}h1 a,h2 a,main nav a,header li>a{color:var(--f2);text-decoration:none;font-weight:var(--fh)}h1 a:visited,h2 a:visited,main nav a:visited,header li>a:visited{color:var(--f2)}h1 a:hover,h2 a:hover,main nav a:hover,header li>a:hover{color:var(--a3);text-decoration:none}article{padding-bottom:.2rem}abbr[title]{border-bottom:var(--bw) dotted;text-decoration:none;cursor:help}mark{background-color:var(--c4);color:var(--c1);vertical-align:baseline;padding:.1rem .4rem}blockquote{margin-left:0;padding:.5rem 0 .5rem 1.5rem;border-left:.25rem solid var(--c3)}blockquote>:last-child{margin-bottom:0}small{font-size:.875rem}.footnote-definition sup,.footnote-definition p{display:inline}sub,sup{font-size:.75em;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,figure,form,ol,p,pre,table,ul{margin:.7rem 0;color:var(--f1);font-style:normal;font-weight:var(--fw);font-size:var(--fs)}ul,ol{padding-right:0;padding-left:var(--s2)}li{margin-bottom:.2rem}ins{color:var(--cg);text-decoration:none}del{color:var(--cr)}main{display:flex}main article,main div{flex:1 1 0;min-width:0}body{width:100%;margin:0}header,main,footer{width:100%;margin-right:auto;margin-left:auto;padding:var(--s1)}@media (min-width: 1200px){header,main,footer{min-width:1200px;max-width:70%}}header,main{padding-top:0;margin-top:0;padding-bottom:0;margin-bottom:0}header hr,main hr{margin:.1rem 0}footer{line-height:var(--lhh)}footer hr,footer p{margin:.2rem 0}header>nav>div{padding-top:var(--s2)}footer>div{padding-top:var(--s1)}header>nav,header>nav>div:nth-child(2){display:flex;flex-direction:column;flex-wrap:wrap;justify-content:space-between;align-items:center}header>nav ul,header>nav>div:nth-child(2) ul{margin:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center}header>nav>div:nth-child(2){margin-left:auto;justify-content:center}header nav{margin:var(--s1) auto 0;flex-direction:column}header nav div:nth-child(2){margin:auto}nav{align-items:center;justify-content:center;display:flex}nav li{display:inline-block;margin:0 var(--s2) 0 0}.dropdown{display:inline-block;position:relative;z-index:1;font-weight:var(--fh);font-size:var(--fs)}.dropdown-content{display:none;position:absolute;cursor:pointer;text-align:center;right:-1rem;z-index:1;font-weight:var(--fh);font-size:var(--fs);background:var(--c2)}.dropdown-content a,.dropdown-content span{margin:0 var(--s1);display:block;text-decoration:none}.dropdown:hover .dropdown-content{display:block}article nav div:last-child{text-align:right}footer nav a{margin:.2rem}footer nav i{margin-bottom:.2rem}main nav{margin-top:var(--s2)}main nav a,main nav span{margin:.2rem}.on,.on:visited{font-weight:var(--fh);border:.1rem solid var(--c4);border-radius:var(--br);padding:.1rem var(--s1)}.on:hover{border-color:var(--a3)}.on:hover .svgh{background:var(--a3);opacity:1}.outp{padding:0 .26rem .2rem}.off{color:var(--c4);font-weight:var(--fh);border:.1rem solid var(--c3);border-radius:var(--br)}.off .svgh{background:var(--c3);opacity:1}.on{font-weight:var(--fh);border:.1rem solid var(--c4);border-radius:var(--br)}.mode:hover,.cnav{color:var(--a1)}@media (min-width: 768px){header nav,header>nav>div:nth-child(2){flex-direction:row;margin:0 0 0 auto}header>nav>div{padding-top:var(--s1)}}.yvi{position:absolute;top:0;left:0}.yv{position:relative;padding-bottom:56.25%;height:0;overflow:hidden}img,video,svg{max-width:100%;height:auto}embed,iframe,object{max-width:100%}iframe{border-style:none;width:100%;height:100%;border:0;overflow:hidden}table{border-collapse:collapse;width:100%;text-indent:0}table caption{margin-bottom:.5rem}tr{border-bottom:var(--bw) solid var(--c3)}td,th{padding:var(--s1)}th{text-align:left}tbody tr:nth-child(even){background-color:var(--c2)}thead tr{border-top:var(--bw) solid var(--c3);background-color:var(--c2)}pre,code,kbd,samp,tt,var{border-radius:var(--br);background:var(--c2);font-family:var(--fm);overflow-x:auto;line-height:initial;font-size:.8rem;padding:.3rem .2rem}pre{position:relative;padding:2rem .5rem .3rem;display:block;overflow-x:auto;-ms-overflow-style:scrollbar;white-space:pre}pre>code{display:block;background:rgba(0,0,0,0)}kbd{background-color:var(--f2);color:var(--c1);vertical-align:baseline;font-size:1rem;padding:.2rem}pre code[data-lang]::before{content:attr(data-lang);padding:.3rem;display:block;background-color:var(--c3);color:var(--h1);width:100%;position:absolute;top:0;left:0;padding-left:1rem;text-transform:uppercase}code table{font-size:.8rem;margin:0;color:var(--h1)}code table mark{display:block;color:unset;padding:0;background-color:var(--h0);filter:brightness(var(--ha))}code td,code th,code tr{padding:0;border-bottom:none}code tbody td:first-child{text-align:center;user-select:none;min-width:60px}code tbody tr:nth-child(even),code thead tr{background-color:unset}.cc{cursor:pointer;z-index:9;position:absolute;top:.2rem;right:.5rem}.cc:hover{background:var(--a3);opacity:1}hr{box-sizing:content-box;height:0;overflow:visible;border:none;border-top:1px solid var(--f1)}header hr,footer hr{border-top:1px solid var(--c4)}figure{display:block;margin:0;padding:0;overflow-x:auto}figure figcaption{padding:var(--s1) 0;color:var(--c4)}button,input,select,textarea{margin:0;padding:.2rem var(--s1);max-width:100%;background:var(--c2);border:0;border-radius:.25rem;font:inherit;line-height:var(--fs);color:var(--f1)}button.del{color:var(--cr)}button,[type=button i],[type=submit i],[type=reset i]{display:inline-block;text-align:center;white-space:nowrap;color:var(--f1);border:0;cursor:pointer;transition:opacity .25s}button:hover,[type=button i]:hover,[type=submit i]:hover,[type=reset i]:hover{opacity:.75}button[disabled],[type=button i][disabled],[type=submit i][disabled],[type=reset i][disabled]{opacity:.5}fieldset{padding:.5rem .75rem;border:var(--bw) solid var(--c3);border-radius:.25rem}legend{padding:0 .25rem}label{cursor:pointer;display:block;margin-bottom:.25rem}[type=color i]{min-height:2.125rem}select:not([multiple]):not([size]){padding-right:1.5rem;background-repeat:no-repeat;background-position:right .5rem center;-moz-appearance:none;-webkit-appearance:none;appearance:none}textarea{width:100%;resize:vertical}textarea:not([rows]){height:8rem}.topout{position:sticky;bottom:1px;padding:20px;place-self:end;margin-top:110vh;pointer-events:none}.topleft{margin-left:calc(100% - 80px)}.top{pointer-events:all;padding:9px;border-radius:9px;font-weight:700;color:var(--a1);background:var(--c2)}.top:hover{text-decoration:none;color:var(--c2);background:var(--a1)}.top:hover .svgh{background:var(--c2);opacity:1}div:empty{display:none}.stork-close-button{display:none}.stork-title p{color:var(--a1);font-weight:var(--fh)}#suggestions{z-index:9;background:var(--c1);border:2px solid var(--c3);position:static;left:0;width:100%;margin-top:var(--s1);max-height:500px;overflow:auto}#suggestions a,#results a{display:block;text-decoration:none;padding:var(--s1);margin:0 var(--s1)}#suggestions a:hover,#suggestions a:focus,#results a:hover,#results a:focus{background:var(--c2)}#suggestions span,#results span{line-height:1.5;display:block}#suggestions span:first-child,#results span:first-child{font-weight:var(--fh)}#suggestions span:nth-child(2),#results span:nth-child(2){color:var(--f1)}.results{display:block;position:relative;width:100%}.searchd{display:flex;align-items:center;white-space:nowrap}.searchd>input{max-width:100%;flex-grow:1;padding-right:1rem}.searchd>button{position:relative;left:-1rem;margin-left:-1rem}@media (min-width: 768px){.searchd>input{width:15rem;flex-grow:0}#suggestions{position:absolute;right:0;left:unset;width:500px}}.sticky{position:sticky;top:var(--s2)}.block{max-width:30rem;margin:var(--s2) auto}.blockdiv{border-radius:var(--br);border-top:5px solid var(--a1);background-color:var(--c2);margin-top:var(--s2);padding:.2rem 0 var(--s2) var(--s2);max-height:100vh;overflow:auto}.blockdiv a{color:var(--f1)}.blockdiv a:hover{color:var(--a2)}.blockdiv ol{margin:0}.blockdiv .scur{font-weight:var(--fh);color:var(--a1)}.sblock{width:15rem;max-width:15rem;margin-left:var(--s1);display:none}.sblock details:not([open])+.hidden_li{height:0;visibility:hidden;overflow:hidden}.sblock summary{margin-left:-1em;margin-bottom:.2rem;color:var(--c4)}.sblock ol,.sblock ul{font-size:1em}@media (min-width: 768px){.sblock{display:unset}.block{display:none}}.img-swap-div .img-main{display:block}.img-swap-div .img-swap{display:none}.img-swap-div:hover .img-swap{display:block}.img-swap-div:hover .img-main{display:none}[style*="--c:"],section>section{flex:var(--c, 1);margin:var(--s1);color:var(--f2);padding:var(--s1);text-align:center}section article div{text-align:left}section article h1,section article h2,section article h3{text-align:left}.adjust{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='none' stroke-width='1' fill='%23000' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C6 0 0 6 0 12s5 12 12 12 12-5 12-12S19 0 12 0Zm0 4c5 0 8 3 8 8s-3 8-8 8V4Z'/%3E%3C/svg%3E");background:var(--f2)}.angl{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m16 4-8 8 8 8'/%3E%3C/svg%3E");background:var(--f2)}.angll{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m11 4-8 8 8 8m9-16-8 8 8 8'/%3E%3C/svg%3E");background:var(--f2)}.angr{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m8 4 8 8-8 8'/%3E%3C/svg%3E");background:var(--f2)}.angrr{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m4 4 8 8-8 8m9-16 8 8-8 8'/%3E%3C/svg%3E");background:var(--f2)}.angu{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m4 16 8-8 8 8'/%3E%3C/svg%3E");background:var(--f2)}.world{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M1 12a11 11 90 0 0 22 0 11 11 90 0 0-22 0m1-4h20M2 16h20M11 1a21 21 90 0 0 0 22m2-22a21 21 90 0 1 0 22'/%3E%3C/svg%3E");background:var(--f2)}.copy{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M11 1a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1ZM7 9H3a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1v-4'/%3E%3C/svg%3E");background:var(--f2)}.copy.yes{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background:var(--cg)}.copy.err{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M1 12a1 1 0 0 0 22 0 1 1 0 0 0-22 0m11-7v9m0 5v-2'/%3E%3C/svg%3E");background:var(--cr)}.search{-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23000' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Ccircle cx='9.5' cy='9.5' r='8'/%3E%3Cpath d='m23 23-9-9'/%3E%3C/svg%3E");background:var(--f2)}.bitbucket{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%2328f' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M14.2 15.3H9.8L8.7 8.7h6.6ZM2.8 3.2A.7.7 0 0 0 2 4l3.4 16c.1.4.6.8 1 .8h11a.7.7 0 0 0 .6-.6l4-16.1a.7.7 0 0 0-.7-.9Z'/%3E%3C/svg%3E")}.buymeacoffee{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fd0' d='m7.9 11.7.8 8.3c.2 2 .8 2 3.6 2 2.3 0 2.8-.1 3-2l.8-9.3c-3.3-1-4 2-8.2 1z'/%3E%3Cpath fill='%23777' d='M18.8 4.3c-.6-.1-.6-1-.7-1.9-.2-1.6-1.2-2-4-2.2-3-.4-8.6-.2-8.5 1.6 0 1.7 4.8 2.2 9.7 1.6.8-.1.6-1.5-.2-1.4-3.6.5-7.4 0-7.4-.2 0-.3 3.3-.5 5-.4 4.5.3 3.7.3 4.2 2.2.2 1 0 .9-.7 1-3 .3-6 .2-9-.2C4.7 4 4.3 4.4 4 6c-.8 2.7 1 2.8 2.1 3 4.8.7 7.7.3 10.3.2.8-.1.6.5.6 1.2l-1.3 10.8c-.1 1.4-1.4 1.4-4 1.5-2.7.2-3.3-.5-3.5-1.6L7.1 10c-.1-1-1.5-.6-1.4.3l1.1 10.8C7.1 24 9.4 24 12.2 24c2.6 0 4.6-.3 5-3.2l1-11.3c.2-.9.3-.7 1-.9 1.8-.8 1-4.2-.4-4.3zm-.3 3a38 38 0 0 1-12.6.2c-1.4-.2-.9-2 0-1.9 4.5.7 8.7.7 12 0 1.4-.2 1.1 1.7.6 1.8z' /%3E%3C/svg%3E")}.codeberg{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23aaa' d='M12 1A11 11 0 0 0 1 12a11 11 0 0 0 1.7 6.4L12 6l9.3 12.4A11 11 0 0 0 23 12 11 11 0 0 0 12 1Z'/%3E%3Cpath fill='%23555' d='M21.3 18.4 12 6l4.4 16.8a11 11 0 0 0 4.9-4.4Z' /%3E%3C/svg%3E")}.discord{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2356f' viewBox='0 0 24 24'%3E%3Cpath d='M19.7 5.6a18.2 18.2 90 0 0-4.6-1.4 12.5 12.5 90 0 0-.6 1.2 17 17 90 0 0-5 0 12.5 12.5 90 0 0-.6-1.2 18.4 18.4 90 0 0-4.6 1.4A20 20 0 0 0 1 18a18.4 18.4 90 0 0 5.7 2.9 13.5 13.5 90 0 0 1.2-2A11.8 11.8 90 0 1 6 18l.5-.3a13.2 13.2 90 0 0 11 0l.5.3a12 12 90 0 1-1.9.9 13.3 13.3 90 0 0 1.2 2A18.2 18.2 90 0 0 23 18c.3-4.7-.9-8.8-3.3-12.4Zm-11.4 10c-1 0-1.9-1-1.9-2.2s.8-2.2 1.9-2.2 2 1 2 2.2-1 2.2-2 2.2Zm7.4 0c-1.1 0-2-1-2-2.2s.9-2.2 2-2.2 1.9 1 1.9 2.2-.9 2.2-1.9 2.2Z'/%3E%3C/svg%3E")}.docker{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%2329e' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M4 19.8S7 20 8 18m-4-7h3v3H4Zm3 0h3v3H7Zm3 0h3v3h-3ZM7 8h3v3H7Zm3 0h3v3h-3Zm0-3h3v3h-3Zm10 8c-1 0-1 0-1.4-1.9C18.5 10 17 10 17 12c0 1 0 2-3 2H1a9 9 0 0 0 3 6c3 2 5 2 9 1a10.8 10.8 90 0 0 5-4c1-2 1-1 3-2s1-2 0-2Z'/%3E%3C/svg%3E%0A")}.element{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%231c8' viewBox='0 0 24 24'%3E%3Cpath d='M12 0C5 0 0 6 0 12s6 12 12 12 12-6 12-12A12 12 0 0 0 12 0Zm-1 4c4 0 6 3 6 6 0 2-2 2-2 0s-2-4-4-4-2-2 0-2Zm-7 9c0-4 3-6 6-6 2 0 2 2 0 2s-4 2-4 4-2 2-2 0Zm9 7c-4 0-6-3-6-6 0-2 2-2 2 0s2.4 4 4 4c2 0 2 2 0 2Zm1-3c-2 0-2-2 0-2s4-2 4-4 2-2 2 0c0 4-3 6-6 6Z'/%3E%3C/svg%3E")}.facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23359' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E")}.github{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23888' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M9 19c-5 1.5-5-2.5-7-3m14 6v-3.9a3.4 3.4 0 0 0-1-2.6c3.2-.3 6.5-1.5 6.5-7A5.4 5.4 0 0 0 20 4.8 5 5 0 0 0 20 1s-1.3-.3-4 1.5a13.4 13.4 0 0 0-7 0C6.3.6 5 1 5 1a5 5 0 0 0 0 3.8 5.4 5.4 0 0 0-1.5 3.7c0 5.5 3.3 6.7 6.4 7a3.4 3.4 0 0 0-.9 2.6V22'/%3E%3C/svg%3E")}.github-sponsor{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23c49' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M20 4c-5-3-8 2-8 4 0-2-3-7-8-4-4 2-6 10 8 18 14-8 12-16 8-18z'/%3E%3C/svg%3E")}.gitlab{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23e62' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M22.6 14.4 12 22 1.3 14.4a.8.8 0 0 1-.3-1l1.3-3.7 2.4-7.5a.4.4 0 0 1 .1-.2.4.4 0 0 1 .6 0 .4.4 0 0 1 .1.2L8 9.7h8l2.5-7.5a.4.4 0 0 1 .1-.2.4.4 0 0 1 .6 0 .4.4 0 0 1 0 .2l2.5 7.5 1.3 3.8a.8.8 0 0 1-.3.9z'/%3E%3C/svg%3E")}.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23e07' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.4A4 4 0 1 1 12.6 8a4 4 0 0 1 3.4 3.4zm1.5-4.9h.01'/%3E%3C/svg%3E")}.kofi{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='%23888' stroke-width='1.5' fill='%23fff' d='M2 5h15c8 0 8 10 0 10-1 0-1 0-1 1v2q0 1-1 1H2q-1 0-1-1V6q0-1 1-1m14 4v2c0 1 0 1 1 1 4 0 4-4 0-4-1 0-1 0-1 1'/%3E%3Cpath fill='%23f55' d='M9 16C2 11 5 6 9 9c4-3 7 2 0 7' /%3E%3C/svg%3E")}.linkedin{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%2326a' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6zM2 9h4v12H2z'/%3E%3Ccircle cx='4' cy='4' r='2'/%3E%3C/svg%3E")}.mail{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23888' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m22 6-10 7L2 6m2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2Z'/%3E%3C/svg%3E")}.mastodon{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2328c' viewBox='0 0 24 24'%3E%3Cpath d='M2 8c0 5.7-.2 12.6 5 14 2 .6 3.7.7 5 .6 2.4-.1 3.8-.9 3.8-.9l-.1-1.8s-1.7.6-3.7.5c-1.9 0-4-.2-4.2-2.6a5 5 90 0 1 0-.7c4 1 7.5.5 8.4.4 2.7-.4 5-2 5.3-3.6.5-2.4.4-5.8.4-5.8C22 3.4 19 2 19 2 15.9.6 8 .6 5.1 2c0 0-3 1.4-3 6zm4.5-2.3c1.2-1.4 3.8-1.5 5 .3l.5.9.6-1c1.1-1.7 3.7-1.6 4.9-.2 1.1 1.3.9 2.5.9 8.4H16V8.6c0-2.4-3-2.5-3 .3v3h-2V9c0-2.8-3-2.7-3-.3V14H5.6c0-5.9-.2-7.1 1-8.4z'/%3E%3C/svg%3E")}.pinterest{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23b01' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m8 20 4-9m-1.3 3c.4 1.3 1.4 2 2.5 2 2.1 0 3.8-1.6 3.8-4a5 5 0 1 0-9.7 1.7'/%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3C/svg%3E")}.python{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2326a' d='M17 6c0 4-1 5-6 5-4 0-5 1-5 6-4 0-5-1-5-6 0-3 1-4.5 4-4.5h7c0-.5 0-.5-1-.5H6c0-3 0-5 6-5 5 0 5 2 5 5ZM9 3C7.5 3 7.5 5 9 5s1.5-2 0-2Z'/%3E%3Cpath fill='%23fc1' d='M23 12c0 3-1 4.6-4 4.5h-7v.5h6c0 4 0 6-6 6-5 0-5-2-5-6s1-5 6-5c4 0 5-1 5-6 4 0 5 1 5 6Zm-8 7c-1.5 0-1.5 2 0 2s1.5-2 0-2Z' /%3E%3C/svg%3E")}.researchgate{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='none' stroke-width='2' fill='%230db' viewBox='0 0 24 24'%3E%3Cpath d='M16 5c0 3.5.7 5 3 5s3.7-1.3 3.3-5h-3v1.3H21c0 1.9-.7 2.7-2 2.5-1.3 0-1.8-.7-1.8-3.2 0-2.4.4-3.3 1.5-3.4 1-.2 1.7.2 2.2 1.1L22 3c-.4-1.3-1.4-2-2.9-2C17.2 1 16 2 16 5ZM8 6.2l-6 .2v.9c1 .3 2 0 2 2.2v11C4 22 3 22 2 22.2v.8h6.6v-.8C7 22 6 22 6 20.5v-5.2h2a46 46 0 0 0 4 5.7 5 5 0 0 0 5 2v-1c-3 0-5-5-7-7 6-1 6-10-2-8.8ZM6 14V7.6C14 6 13 14 8 14Z'/%3E%3C/svg%3E")}.rss{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23e94' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M4 11a9 9 0 0 1 9 9M4 4a16 16 0 0 1 16 16'/%3E%3Ccircle cx='5' cy='19' r='1'/%3E%3C/svg%3E")}.stack{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23e72' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M4 17v1a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-1M8 16h8m-7.7-3.4 8 .8M8.8 9.2l7.8 1.6m-6.5-5 7.6 2.4'/%3E%3C/svg%3E")}.twitch{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23a7f' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M21 2H3v16h5v4l4-4h5l4-4V2zm-10 9V7m5 4V7'/%3E%3C/svg%3E")}.twitter{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%232ad' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M23 3a10.9 10.9 0 0 1-3.1 1.5 4.5 4.5 0 0 0-7.9 3v1A10.7 10.7 0 0 1 3 4s-4 9 5 13a11.6 11.6 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0 0-.8A7.7 7.7 0 0 0 23 3z'/%3E%3C/svg%3E")}.x{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23f00' stroke-width='3' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M21 3 3 21M3 3l18 18'/%3E%3C/svg%3E")}.youtube{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke='%23f00' stroke-width='2' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='m9.8 15 5.7-3.3-5.8-3.2V15Zm12.7-8.6a2.8 2.8 0 0 0-1.9-2C18.9 4 12 4 12 4s-6.9 0-8.6.5a2.8 2.8 0 0 0-2 2 29 29 0 0 0-.4 5.3 29 29 0 0 0 .5 5.3A2.8 2.8 0 0 0 3.4 19c1.7.5 8.6.5 8.6.5s6.9 0 8.6-.5a2.8 2.8 0 0 0 2-2 29 29 0 0 0 .4-5.3 29 29 0 0 0-.5-5.3z'/%3E%3C/svg%3E")}.svg{width:1.8rem;height:1.8rem;display:inline-block;text-align:center;vertical-align:middle}.svgs{width:var(--fs);height:var(--fs);display:inline-block;text-align:center;vertical-align:middle}.fa-a:hover{color:var(--a3);opacity:1}.sum,.sum p{margin:.2rem 0}.s150{font-size:1.5rem}.s140{font-size:1.4rem}.s130{font-size:1.3rem}.s120{font-size:1.2rem}.s110{font-size:1.1rem}.s95{font-size:.95rem}.s90{font-size:.9rem}.s85{font-size:.85rem}.s80{font-size:.8rem}.s75{font-size:.75rem}.s70{font-size:.7rem}.hpad{padding:0 var(--s1)}.rpad{padding-right:var(--s1)}.tpad{padding-top:var(--s1)}.b{font-weight:var(--fh)}.c{text-align:center}.z-code{color:var(--h1);background-color:var(--h0)}.z-comment{color:var(--h2);font-style:italic}.z-variable{color:var(--h1)}.z-string{color:var(--h6)}.z-constant.z-numeric{color:var(--h4)}.z-constant.z-character.z-escape{color:var(--h7)}.z-constant.z-language{color:var(--h4)}.z-constant.z-other{color:var(--h4)}.z-keyword{color:var(--h8)}.z-keyword.z-operator{color:var(--h9)}.z-punctuation.z-separator,.z-punctuation.z-terminator{color:var(--h1)}.z-punctuation.z-section{color:var(--h1)}.z-punctuation.z-accessor{color:var(--h4)}.z-punctuation.z-definition.z-annotation{color:var(--h1)}.z-storage{color:var(--h8)}.z-storage.z-type{color:var(--h8)}.z-entity.z-name.z-function{color:var(--h5)}.z-entity.z-name{color:var(--h5)}.z-variable.z-parameter{color:var(--h4)}.z-variable.z-language{color:var(--h5);font-style:italic}.z-entity.z-name.z-tag{color:var(--h8)}.z-punctuation.z-definition.z-tag.z-end,.z-punctuation.z-definition.z-tag.z-begin,.z-punctuation.z-definition.z-tag{color:var(--h8)}.z-entity.z-other.z-attribute-name{color:var(--h5)}.z-variable.z-function,.z-variable.z-annotation{color:var(--h5)}.z-support.z-function,.z-support.z-macro{color:var(--h3)}.z-support.z-type,.z-support.z-class{color:var(--h8);font-style:italic}.z-support.z-type.z-property-name{color:var(--h8)}.z-key.z-json{color:var(--h4)}.layout-fluid-container{display:flex;flex-direction:column}.layout-columns{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start}@media (max-width: 1023px){.layout-fluid-container{justify-content:center;align-items:center}.layout-columns{flex-direction:column;align-items:center}}@media (min-width: 1024px){.layout-fluid-container{align-items:left}.layout-columns>.col-1{align-items:center;width:8.3333333333%}.layout-columns>.col-2{align-items:center;width:16.6666666667%}.layout-columns>.col-3{align-items:center;width:25%}.layout-columns>.col-4{align-items:center;width:33.3333333333%}.layout-columns>.col-5{align-items:center;width:41.6666666667%}.layout-columns>.col-6{align-items:center;width:50%}.layout-columns>.col-7{align-items:center;width:58.3333333333%}.layout-columns>.col-8{align-items:center;width:66.6666666667%}.layout-columns>.col-9{align-items:center;width:75%}.layout-columns>.col-10{align-items:center;width:83.3333333333%}.layout-columns>.col-11{align-items:center;width:91.6666666667%}.layout-columns>.col-12{align-items:center;width:100%}}html:not(.switch) img.logolight{display:none}html.switch img.logodark{display:none}.header-bar{display:flex;flex-wrap:wrap;align-items:center;margin-top:.5rem;gap:.75rem 1.5rem}.header-bar h1{flex:0 0 auto;margin:0;line-height:1}.header-bar h1 a{display:inline-block;line-height:0}.header-bar>.menu-bar{display:flex;flex-direction:column;flex:1 1 0;gap:.5rem;min-width:0}.header-bar>.menu-bar .menu-row{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.25rem;width:100%;margin:0;padding:0;list-style:none}.menu-row-primary{gap:.4rem .5rem}.menu-row-primary li a{display:inline-block;font-size:1rem;font-weight:600;letter-spacing:.01em;background:#fc0;color:#111;padding:.25rem .7rem;border-radius:5px;transition:background .15s ease,color .15s ease,transform .1s ease}.menu-row-primary li a:hover,.menu-row-primary li a:focus{background:#111;color:#fc0;text-decoration:none;transform:translateY(-1px)}.menu-row-primary li a:visited{color:#111}.menu-row-primary li a:visited:hover,.menu-row-primary li a:visited:focus{color:#fc0}.menu-row-secondary li a{font-size:.95rem;font-weight:400;color:var(--f2)}.menu-row-secondary li a:visited{color:var(--f2)}.menu-row-secondary li a:hover,.menu-row-secondary li a:focus{color:#fc0;text-decoration:none}.menu-row-secondary .search-li{list-style:none}.menu-row-secondary .search-toolbar{margin:0}.search-toolbar{max-width:200px}.search-toolbar .searchd{border:1px solid var(--c4);border-radius:6px;background:var(--c2);padding:2px;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:border-color .15s ease,box-shadow .15s ease}.search-toolbar .searchd:focus-within{border-color:#fc0;box-shadow:0 0 0 3px rgba(255,204,0,.3)}.search-toolbar .searchd>input{background:rgba(0,0,0,0);border:0;color:var(--f1)}.search-toolbar .searchd>input::placeholder{color:var(--f1);opacity:.75}.search-toolbar .searchd>button{color:var(--f2);opacity:.9}.menu-item{font-size:1.1rem}@media (max-width: 1023px){.header-bar{flex-direction:column;align-items:center;text-align:center}.header-bar>.menu-bar{width:100%;align-items:center;padding-top:.5rem;border-top:1px solid var(--c3)}.header-bar>.menu-bar .menu-row,.header-bar>.menu-bar .menu-row ul{justify-content:center}.menu-row-primary{display:flex;flex-direction:column;align-items:center;gap:.5rem}.menu-row-primary li{display:block}.menu-row-primary li a{display:inline-block}.menu-row-secondary .search-li{flex:1 0 100%;display:flex;justify-content:center}.menu-row-secondary .search-toolbar{width:100%;max-width:320px}}@media (min-width: 1024px){.header-bar{flex-direction:row;justify-content:space-between;align-items:center}.header-bar>.menu-bar{align-items:stretch}.header-bar>.menu-bar .menu-row{justify-content:flex-end}.header-bar>.menu-bar .menu-row ul{justify-content:flex-end}}.footer-bar{font-size:.9rem}.footer-content,.footer-copyright{display:flex}.footer-content ul li{margin-left:1rem}.footer-content ul,.footer-copyright ul{margin:0;padding:0;list-style-type:none}.footer-content *{font-size:.9rem}.footer-copyright{margin-top:3rem;margin-bottom:1rem;display:flex;justify-content:space-between}.footer-logo-link{text-decoration:none;margin-bottom:1rem}@media (max-width: 1279px){.footer-content,.footer-copyright{flex-direction:column}.footer-content>div{flex-basis:auto;width:100%}.footer-content{margin-top:1rem;margin-left:1rem;margin-right:1rem;align-items:start}.footer-logo{height:2.5rem}.footer-copyright{align-items:center;margin-left:1rem;margin-right:1rem;margin-top:1rem}.footer-copyright p{display:flex;flex-direction:column;align-items:center}.footer-copyright ul{margin-top:.5rem}}@media (min-width: 1280px){.footer-content,.footer-copyright{flex-direction:row}.footer-content{margin-top:3rem}.footer-logo{height:3rem}}.footer-content-about{flex-grow:2;flex-basis:50%;display:flex;flex-direction:column;align-items:start}.footer-content-menu{flex-grow:1;flex-basis:25%;display:flex;flex-direction:column;align-items:center}.footer-content-contact{flex-grow:1;flex-basis:25%;display:flex;flex-direction:column;align-items:center}.footer-content-menu div,.footer-content-contact div{text-align:left}.footer-content h3{font-size:1.1rem}.footer-copyright *{font-size:.8rem}.footer-copyright li{display:inline-block;margin:0;padding:0}.footer-copyright li:nth-child(2n){margin-left:0px;margin-right:3px}.footer-copyright li:last-child{display:none}.footer-trademark{font-size:.7rem;color:var(--c4);margin-top:.75rem}body{font-size:100%}section.page{margin:0 .5rem;width:100%}.cookiefirst-root button span{font-family:Arial,Helvetica,sans-serif;font-weight:normal}.environment-label{position:fixed;bottom:0;right:0;border-radius:8px 0 0 0;background-color:#407bff;text-align:center;color:#fff;padding:8px;font-size:1rem}#courses-overview{overflow:auto}#courses-banner{width:100%;max-width:348px;margin:16px}html:not(.switch) .accordion{background-color:#000;color:#fff}html.switch .accordion{background-color:#fff;color:#000}.accordion{cursor:pointer;padding:18px;width:100%;text-align:left;border:none;outline:none;transition:.4s;border-radius:0}html:not(.switch) .active,html:not(.switch) .accordion:hover{background-color:#222;color:#fff}html.switch .active,html.switch .accordion:hover{background-color:#ddd;color:#000}html:not(.switch) .panel{background-color:#000}html.switch .panel{background-color:#fff}.panel{padding:0 18px;max-height:0;overflow:hidden;transition:max-height .2s ease-out}html:not(.switch) .accordion:after{color:#fff}html.switch .accordion:after{color:#000}.accordion:after{content:"+";font-size:1rem;float:right;margin-left:5px}.active:after{content:"-";}.course-title-link{font-size:1rem}.course-info-link{font-size:.95rem}.course-summary-link{font-size:.9rem}@media (max-width: 767px){.course-link-title{display:flex;flex-direction:column}#courses-overview{display:flex;flex-direction:column}#courses-banner{float:none;display:block;align-self:center}}@media (min-width: 768px){.course-link-title{display:flex;flex-direction:row}.course-link-title span{margin-left:.25rem}#courses-banner{float:right}}h4{margin:0;margin-bottom:1rem;padding:0}.topic-section{margin:2rem 0;text-align:left;background-color:green;border-radius:8px;padding:1rem}h2{color:var(--h5);font-weight:550}h3{color:var(--h8);font-weight:550}h4{color:var(--h1);font-weight:600;font-size:1.4rem}h5{color:var(--h8);font-weight:500;font-size:1.2rem}.course-details-two-col{display:flex;gap:1.5rem}@media (max-width: 767px){.course-details-two-col{flex-direction:column}}.course-outline li{margin:0;padding:0}.course-document h2{margin-top:1.5rem;margin-bottom:.5rem}h4.course-category{font-size:1.1rem;font-weight:600;margin-top:1.25rem;margin-bottom:.5rem;padding-bottom:.25rem;border-bottom:1px solid currentColor;opacity:.85}h4.course-category:first-child,.panel>h4.course-category:first-of-type{margin-top:.75rem}.course-category-list{margin-bottom:.5rem}#topic-courses{margin:0 .5rem}.download-toolbar{font-weight:bold;margin-top:1rem;font-size:1.1rem;color:var(--a1);display:flex;flex-direction:row;justify-content:start;align-items:center}.download-toolbar>span{display:flex;flex-direction:row;justify-content:center}.download-toolbar>a{margin:0 .25rem}.download-toolbar .download-button{display:flex;flex-direction:row;justify-content:start;align-items:center;padding:2px;border-radius:8px;font-weight:normal;margin-right:1rem;padding:.5rem;background-color:rgba(0,0,0,0);transition:background-color .5s ease;opacity:1}.download-toolbar .download-button span{margin-left:.5rem}.download-toolbar .download-button:hover{background-color:#0d58ff;cursor:pointer;text-decoration:none;opacity:1}.download-icon{height:1.5rem;vertical-align:middle}.reseller-download-dialog{position:fixed;top:0;bottom:0;left:0;right:0;z-index:999;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center}html:not(.switch) .reseller-download-dialog>div{background-color:#000;color:#fff}html:not(.switch) .download-button{color:#fff}html.switch .reseller-download-dialog>div{background-color:#fff;color:#000}html.switch .download-button{color:blue}html.switch .download-button:hover{color:#fff}.reseller-download-dialog>div{border-radius:8px;border:3px solid #407bff;display:flex;flex-direction:column;justify-content:center;align-items:center;width:min(400px,100vw - 2rem);max-height:calc(100vh - 2rem);padding:1rem;box-sizing:border-box}.reseller-download-dialog form{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.reseller-download-dialog form p{margin:8px}.reseller-download-dialog fieldset{text-align:center;border:0}.reseller-download-dialog button{margin-top:1rem;padding:.75rem;transition:background-color .5s ease;color:#fff}.reseller-download-dialog button:hover{background-color:#407bff;opacity:1;color:#fff}.reseller-download-dialog .reseller-download-links{display:flex;flex-direction:column;justify-content:center;align-items:center}.reseller-download-dialog .reseller-download-links h3{margin-bottom:1rem}.reseller-download-dialog .reseller-download-links a{margin-bottom:.5rem 0}.reseller-download-dialog .reseller-download-links button{margin-top:1rem;padding:.75rem;transition:background-color .5s ease;color:#fff}.reseller-download-dialog .reseller-download-links button:hover{background-color:#407bff;opacity:1;color:#fff}.hide{display:none}.error-message{color:red;font-weight:bold}.dbl-arrow-left{margin-right:.25rem}.dbl-arrow-right{margin-left:.25rem}@media (max-width: 767px){.download-toolbar{flex-direction:column}}@media (min-width: 768px){.dbl-arrow-left{display:none}}.academy-page{margin-top:1rem;position:relative;--java-orange: #f89820;--spring-green: #6db33f;--angular-red: #dd0031;--react-blue: #61dafb;--vue-green: #42b883;--python-blue: #3776ab;--flask-gray: #000000;--fastapi-teal: #009688;--csharp-purple: #9b4f96;--dotnet-purple: #512bd4;--blazor-purple: #593d88;--rust-orange: #ce422b;--node-green: #689f63;--svelte-orange: #ff3e00;--shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.15);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.2), 0 2px 4px -2px rgba(0, 0, 0, 0.15);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.2), 0 4px 6px -4px rgba(0, 0, 0, 0.15);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 8px 10px -6px rgba(0, 0, 0, 0.15)}.academy-page img[src*="actix-web.png"]{filter:invert(1)}.academy-page .hero{background:linear-gradient(135deg, var(--c1) 0%, var(--c2) 50%, var(--c1) 100%);position:relative;overflow:hidden;padding:3rem 2rem 4rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.academy-page .hero::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%, rgba(109,179,63,.15) 0%, rgba(0,0,0,0) 50%),radial-gradient(circle at 80% 50%, rgba(221,0,49,.1) 0%, rgba(0,0,0,0) 50%),radial-gradient(circle at 50% 80%, rgba(248,152,32,.1) 0%, rgba(0,0,0,0) 40%);pointer-events:none}.academy-page .hero-content{max-width:1200px;margin:0 auto;position:relative;z-index:1}.academy-page .hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:var(--c2);border:1px solid var(--c3);padding:.5rem 1rem;border-radius:2rem;color:var(--f1);font-size:.875rem;font-weight:500;margin-bottom:1.5rem}.academy-page .hero-badge span{color:var(--a1);font-weight:600}.academy-page .hero h1{font-size:clamp(2.5rem,5vw,3.75rem);font-weight:700;color:var(--f2);line-height:1.1;margin-bottom:1.5rem;max-width:800px}.academy-page .hero h1 .highlight{color:#a3e635}.academy-page .hero-description{font-size:1.25rem;color:var(--f1);max-width:650px;margin-bottom:2rem;line-height:1.7}.academy-page .hero-stats{display:flex;gap:3rem;margin-bottom:2.5rem;flex-wrap:wrap}.academy-page .stat-item{text-align:left}.academy-page .stat-value{font-size:2rem;font-weight:700;color:var(--f2);font-family:var(--fm)}.academy-page .stat-label{font-size:.875rem;color:var(--c4);text-transform:uppercase;letter-spacing:.05em}.academy-page .hero-cta{display:flex;gap:1rem;flex-wrap:wrap}.academy-page .btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:.5rem;font-weight:600;font-size:1rem;text-decoration:none;transition:all .2s ease;cursor:pointer;border:none}.academy-page .btn-primary{background:var(--spring-green);color:#fff;box-shadow:0 4px 14px rgba(109,179,63,.4)}.academy-page .btn-primary:hover{background:#5fa234;transform:translateY(-2px);box-shadow:0 6px 20px rgba(109,179,63,.5);color:#fff;text-decoration:none}.academy-page .btn-primary:visited{color:#fff}.academy-page .btn-secondary{background:var(--c2);color:var(--f2);border:1px solid var(--c3)}.academy-page .btn-secondary:hover{background:var(--c3);text-decoration:none}.academy-page .btn-secondary:visited{color:var(--f2)}.academy-page .tech-stack{background:var(--c2);border-bottom:1px solid var(--c3);padding:1.5rem 2rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media (max-width: 600px){.academy-page .tech-stack{padding:1rem}}.academy-page .tech-stack-inner{max-width:1200px;margin:0 auto;text-align:center}.academy-page .tech-item{display:inline-block;color:var(--f1);font-weight:500;white-space:nowrap;margin:.25rem .75rem}.academy-page .tech-item .tech-icon-img,.academy-page .tech-item span{display:inline-block;vertical-align:middle}@media (max-width: 600px){.academy-page .tech-item{text-align:center}.academy-page .tech-item span{font-size:.7rem}}.academy-page .tech-icon-img{width:28px;height:28px;object-fit:contain}.academy-page .tech-item span{font-size:.85rem}@media (max-width: 600px){.academy-page .tech-icon-img{width:24px;height:24px}}.academy-page .tech-row-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--c4);margin-right:1rem}@media (max-width: 600px){.academy-page .tech-row-label{display:block;width:100%;text-align:center;margin-right:0;margin-left:0;margin-bottom:.5rem;margin-top:.75rem}.academy-page .tech-row-label:first-child{margin-top:0}}.academy-page .overview{padding:5rem 2rem;background:var(--c1)}.academy-page .overview-inner{max-width:1200px;margin:0 auto}.academy-page .overview-content>div{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}@media (max-width: 900px){.academy-page .overview-content>div{grid-template-columns:1fr}}.academy-page .overview-content h2{font-size:2rem;font-weight:700;margin-bottom:1rem;color:var(--f2)}.academy-page .overview-content p{color:var(--f1);font-size:1.125rem;margin-bottom:1.5rem}.academy-page .feature-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:.75rem 2rem}@media (max-width: 600px){.academy-page .feature-list{grid-template-columns:1fr}}.academy-page .feature-list-wide{grid-template-columns:repeat(4, auto) !important;gap:1rem 3rem !important;justify-content:center}@media (max-width: 900px){.academy-page .feature-list-wide{grid-template-columns:repeat(2, 1fr) !important;gap:1rem 2rem !important}}@media (max-width: 480px){.academy-page .feature-list-wide{grid-template-columns:1fr !important;gap:.75rem !important}}.academy-page .feature-list li{display:flex;align-items:flex-start;gap:.75rem;color:var(--f1)}.academy-page .feature-icon{width:24px;height:24px;background:rgba(109,179,63,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.academy-page .feature-icon svg{width:14px;height:14px;color:var(--spring-green)}.academy-page .overview-visual{background:var(--c2);border-radius:1rem;padding:.4rem;border:1px solid var(--c3);display:flex;flex-direction:column;gap:.4rem}.academy-page .visual-card{background:var(--c1);border-radius:.75rem;padding:1rem;border:1px solid var(--c3)}.academy-page .visual-card-header{display:flex;align-items:center;gap:.3rem;margin-bottom:.15rem}.academy-page .visual-card-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.academy-page .visual-card-title{font-weight:600;font-size:.9rem;color:var(--f2)}.academy-page .visual-card-desc{color:var(--f1);font-size:.75rem;margin:0;padding-left:1rem;line-height:1.4}.academy-page .curriculum{padding:3rem 2rem;background:var(--c2);border-radius:1rem}.academy-page .curriculum-inner{max-width:1000px;margin:0 auto}.academy-page .section-header{text-align:center;margin-bottom:3rem}.academy-page .section-header h2{font-size:2.25rem;font-weight:700;margin-top:0;margin-bottom:.75rem;color:var(--f2)}.academy-page .section-header p{color:var(--f1);font-size:1.125rem}.academy-page .week-cards{display:flex;flex-direction:column;gap:1.5rem}.academy-page article.week-card{background:var(--c1);border-radius:1rem;overflow:visible;box-shadow:var(--shadow-lg);transition:all .3s ease;border:1px solid var(--c3);display:block;padding-bottom:0}.academy-page article.week-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.academy-page article.week-card .week-card-header{padding:1.5rem;display:flex;align-items:center;gap:1.25rem;border-bottom:1px solid var(--c3);background:var(--c1)}.academy-page .week-number{width:56px;min-width:56px;max-width:56px;height:56px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;flex-grow:0}.academy-page .week-number-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.08em;opacity:.9;margin-bottom:2px}.academy-page .week-number-value{font-size:1.5rem;line-height:1;font-weight:800}.academy-page .week-1 .week-number{background:rgba(248,152,32,.2);color:var(--java-orange)}.academy-page .week-2 .week-number{background:rgba(109,179,63,.2);color:var(--spring-green)}.academy-page .week-3 .week-number{background:rgba(156,39,176,.2);color:#ba68c8}.academy-page .week-4 .week-number{background:rgba(221,0,49,.2);color:var(--angular-red)}.academy-page .week-title-group{flex:1;min-width:0}.academy-page .week-title{font-size:1.25rem;font-weight:700;margin-bottom:.25rem;color:var(--f2);line-height:1.3}.academy-page .week-duration{color:var(--c4);font-size:.85rem;font-weight:500}.academy-page article.week-card .week-card-body{padding:1.5rem;display:block;background:var(--c1)}.academy-page .week-description{color:var(--f1);margin-bottom:1rem;line-height:1.6;font-size:.95rem}.academy-page .week-details{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--c3)}@media (max-width: 768px){.academy-page .week-details{grid-template-columns:1fr;gap:1.5rem}}.academy-page .week-details h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--c4);margin-bottom:.75rem;font-weight:600}.academy-page .week-project p{color:var(--f1);font-size:.95rem;line-height:1.6;margin-bottom:1.25rem}.academy-page .week-project strong{color:var(--f2)}.academy-page .topics-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0}.academy-page .topics-list li{background:var(--c2);padding:.35rem .7rem;border-radius:.375rem;font-size:.8rem;color:var(--f1);border:1px solid var(--c3)}.academy-page .skills-list{list-style:none;padding:0;margin:0}.academy-page .skills-list li{position:relative;padding-left:1.25rem;padding-bottom:.5rem;font-size:.9rem;color:var(--f1);line-height:1.4}.academy-page .skills-list li::before{content:"";position:absolute;left:0;top:.5rem;width:6px;height:6px;background:var(--spring-green);border-radius:50%}.academy-page .pricing{padding:5rem 2rem;background:var(--c1)}@media (max-width: 600px){.academy-page .pricing{padding:3rem 1rem}}.academy-page .pricing-inner{max-width:900px;margin:0 auto}.academy-page .pricing-card{background:linear-gradient(135deg, var(--c2) 0%, var(--c3) 100%);border-radius:1rem;padding:3rem;color:var(--f2);position:relative;overflow:hidden;border:1px solid var(--c3)}@media (max-width: 600px){.academy-page .pricing-card{padding:1.5rem;border-radius:1rem}}.academy-page .pricing-card::before{content:"";position:absolute;top:0;right:0;width:300px;height:300px;background:radial-gradient(circle, rgba(109,179,63,.2) 0%, rgba(0,0,0,0) 70%);pointer-events:none}.academy-page .pricing-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}@media (max-width: 600px){.academy-page .pricing-header{flex-direction:column;margin-bottom:1.5rem}}.academy-page .pricing-title{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--f2)}@media (max-width: 600px){.academy-page .pricing-title{font-size:1.35rem}}.academy-page .pricing-subtitle{color:var(--f1);font-size:1rem}@media (max-width: 600px){.academy-page .pricing-subtitle{font-size:.9rem}}.academy-page .pricing-badge{background:var(--spring-green);color:#fff;padding:.5rem 1rem;border-radius:2rem;font-size:.875rem;font-weight:600}@media (max-width: 600px){.academy-page .pricing-badge{padding:.4rem .8rem;font-size:.75rem}}.academy-page .pricing-features{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem;margin-bottom:2rem}@media (max-width: 600px){.academy-page .pricing-features{grid-template-columns:1fr;gap:.75rem;margin-bottom:1.5rem}}.academy-page .pricing-feature{display:flex;align-items:center;gap:.75rem;color:var(--f1)}@media (max-width: 600px){.academy-page .pricing-feature{font-size:.9rem}}.academy-page .pricing-feature svg{width:20px;height:20px;color:var(--spring-green);flex-shrink:0}@media (max-width: 600px){.academy-page .pricing-feature svg{width:18px;height:18px}}.academy-page .pricing-cta{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}@media (max-width: 600px){.academy-page .pricing-cta{flex-direction:column;align-items:stretch;gap:.75rem}.academy-page .pricing-cta .btn{justify-content:center}}.academy-page .pricing-note{color:var(--c4);font-size:.875rem}@media (max-width: 600px){.academy-page .pricing-note{text-align:center;font-size:.8rem}}.academy-page .academy-request-form{padding:0 2rem 5rem;background:var(--c1)}@media (max-width: 600px){.academy-page .academy-request-form{padding:0 1rem 3rem}}.academy-page .academy-request-form form{display:flex;flex-direction:column;gap:1.25rem}.academy-page .academy-request-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media (max-width: 600px){.academy-page .academy-request-form .form-row{grid-template-columns:1fr;gap:1rem}}.academy-page .academy-request-form label{display:flex;flex-direction:column;gap:.5rem}.academy-page .academy-request-form label.full-width{grid-column:1/-1}.academy-page .academy-request-form label span{font-size:.875rem;font-weight:600;color:var(--f2)}.academy-page .academy-request-form input,.academy-page .academy-request-form textarea,.academy-page .academy-request-form select{background:var(--c1);border:1px solid var(--c3);border-radius:.5rem;padding:.875rem 1rem;font-size:1rem;color:var(--f2);transition:border-color .2s ease,box-shadow .2s ease}.academy-page .academy-request-form input:focus,.academy-page .academy-request-form textarea:focus,.academy-page .academy-request-form select:focus{outline:none;border-color:var(--spring-green);box-shadow:0 0 0 3px rgba(109,179,63,.2)}.academy-page .academy-request-form input::placeholder,.academy-page .academy-request-form textarea::placeholder{color:var(--c4)}.academy-page .academy-request-form textarea{resize:vertical;min-height:100px}.academy-page .academy-request-form select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.academy-page .academy-request-form select option{background:var(--c1);color:var(--f2)}.academy-page .academy-request-form select optgroup{font-weight:600;color:var(--f2)}.academy-page .academy-request-form button[type=submit]{align-self:flex-start;margin-top:.5rem}@media (max-width: 600px){.academy-page .academy-request-form button[type=submit]{align-self:stretch;justify-content:center}}.academy-page .academy-request-form #result-message{color:var(--spring-green);font-weight:500;min-height:1.5rem;margin:0}.academy-page .ai-tooling{padding:3rem 2rem;background:var(--c2);border-radius:1rem;margin-bottom:2rem}.academy-page .ai-tooling-inner{max-width:1000px;margin:0 auto}.academy-page .ai-tooling .section-header{text-align:center;margin-bottom:2.5rem}.academy-page .ai-tooling .section-header h2{font-size:2rem;font-weight:700;margin-top:0;margin-bottom:.75rem;color:var(--f2)}.academy-page .ai-tooling .section-header p{color:var(--f1);font-size:1.05rem;max-width:700px;margin:0 auto}.academy-page .ai-tools-grid{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;margin-bottom:2rem;text-align:center;width:100%}.academy-page .ai-tools-grid .tech-item{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.5rem}@media (max-width: 600px){.academy-page .ai-tools-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1rem 1.5rem;margin-left:auto;margin-right:auto}.academy-page .ai-tools-grid .tech-item{width:100%}}.academy-page .ai-skills-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.25rem;margin-bottom:2rem}@media (max-width: 768px){.academy-page .ai-skills-grid{grid-template-columns:1fr}}.academy-page .ai-skill-card{background:var(--c1);border:1px solid var(--c3);border-radius:.75rem;padding:1.25rem;transition:all .2s ease}.academy-page .ai-skill-card:hover{border-color:var(--spring-green);box-shadow:0 4px 12px rgba(109,179,63,.15);transform:translateY(-2px)}.academy-page .ai-skill-card h4{font-size:1rem;font-weight:600;color:var(--f2);margin:0 0 .5rem 0}.academy-page .ai-skill-card p{font-size:.875rem;color:var(--f1);line-height:1.5;margin:0}.academy-page .ai-tracks{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.25rem;margin-bottom:1.5rem}@media (max-width: 768px){.academy-page .ai-tracks{grid-template-columns:1fr}}.academy-page .ai-track{background:var(--c1);border:1px solid var(--c3);border-radius:.75rem;padding:1.25rem;border-left:3px solid var(--spring-green)}.academy-page .ai-track:nth-child(2){border-left-color:var(--react-blue)}.academy-page .ai-track h4{font-size:.9rem;font-weight:600;color:var(--f2);margin:0 0 .75rem 0}.academy-page .ai-track ul{list-style:none;padding:0;margin:0}.academy-page .ai-track li{font-size:.85rem;color:var(--f1);padding:.3rem 0;padding-left:1rem;position:relative}.academy-page .ai-track li::before{content:"";position:absolute;left:0;top:.65rem;width:5px;height:5px;background:var(--c4);border-radius:50%}.academy-page .ai-tagline{text-align:center;font-style:italic;color:var(--spring-green);font-size:1rem;margin:0;font-weight:500}.academy-page .customization{padding:3rem 2rem;margin-bottom:2rem}.academy-page .customization-inner{max-width:1000px;margin:0 auto}.academy-page .customization .section-header{text-align:center;margin-bottom:2rem}.academy-page .customization .section-header h2{font-size:2rem;font-weight:700;margin-top:0;margin-bottom:.75rem;color:var(--f2)}.academy-page .customization .section-header p{color:var(--f1);font-size:1.05rem;max-width:700px;margin:0 auto}.academy-page .customization-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:1.25rem;margin-bottom:1.5rem}@media (max-width: 768px){.academy-page .customization-grid{grid-template-columns:1fr}}.academy-page .customization-card{background:var(--c2);border:1px solid var(--c3);border-radius:.75rem;padding:1.25rem;transition:all .2s ease}.academy-page .customization-card:hover{border-color:var(--spring-green);box-shadow:0 4px 12px rgba(109,179,63,.15)}.academy-page .customization-card h4{font-size:1rem;font-weight:600;color:var(--f2);margin:0 0 .5rem 0;display:flex;align-items:center;gap:.5rem}.academy-page .customization-card h4 .card-icon{width:20px;height:20px;color:var(--spring-green)}.academy-page .customization-card p{font-size:.875rem;color:var(--f1);line-height:1.5;margin:0}.academy-page .customization-tagline{text-align:center;font-size:.95rem;color:var(--f1);margin:1.5rem 0 0 0;padding:1rem;background:var(--c2);border-radius:.5rem}.academy-page .customization-tagline strong{color:var(--spring-green)}.academy-page .print-btn{position:absolute;top:3rem;right:2rem;z-index:10;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--c2);border:1px solid var(--c3);border-radius:2rem;color:var(--f1);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.academy-page .print-btn:hover{background:var(--c3);color:var(--f2)}.academy-page .print-btn svg{width:18px;height:18px}@media (max-width: 768px){.academy-page .print-btn{top:1rem;right:1rem}}@media (max-width: 600px){.academy-page .print-btn span{display:none}.academy-page .print-btn{padding:.5rem;border-radius:50%}}@media print{.academy-page .print-btn{display:none !important}.academy-page{margin-top:0}.academy-page .hero{background:none !important;padding:1rem 0 2rem;border-radius:0}.academy-page .hero::before{display:none}.academy-page .hero-cta{display:none}.academy-page .tech-stack{background:none;border:1px solid #ccc;border-radius:.5rem;margin-bottom:1rem}.academy-page .overview,.academy-page .ai-tooling,.academy-page .customization,.academy-page .curriculum,.academy-page .pricing{padding:1.5rem 0;background:none !important;border-radius:0}.academy-page article.week-card{box-shadow:none;border:1px solid #ccc;page-break-inside:avoid;break-inside:avoid}.academy-page article.week-card:hover{transform:none;box-shadow:none}.academy-page .ai-skill-card,.academy-page .ai-track,.academy-page .customization-card{border:1px solid #ccc;page-break-inside:avoid;break-inside:avoid}.academy-page .ai-skill-card:hover,.academy-page .customization-card:hover{transform:none;box-shadow:none}.academy-page .pricing-card{background:none !important;border:1px solid #ccc}.academy-page .pricing-card::before{display:none}.academy-page .academy-request-form{display:none}.academy-page .section-header{margin-bottom:1.5rem}.academy-page .week-cards{gap:1rem}.academy-page .hero h1 .highlight{color:#000}}#contact-form{padding:0 20px}#contact-form>label{display:flex;margin:1rem 0}#contact-form input{width:100%}#contact-form>label.vertical{display:flex;flex-direction:column;align-content:space-between}#contact-form>label.vertical>span{margin-bottom:.5rem}#contact-form input,#contact-form select,#contact-form textarea,#contact-form button,#contact-form button[type=submit]{outline:none;border-radius:8px;padding:.4rem;background-color:#444}#contact-form button,#contact-form button[type=submit]{padding:.6rem}#contact-form textarea{padding:.5rem}#contact-form html.switch img.logodark{display:none}html:not(.switch) #contact-form input,html:not(.switch) #contact-form select,html:not(.switch) #contact-form textarea,html:not(.switch) #contact-form button,html:not(.switch) #contact-form button[type=submit]{background-color:#444}html.switch #contact-form input,html.switch #contact-form select,html.switch #contact-form textarea,html.switch #contact-form button,html.switch #contact-form button[type=submit]{background-color:#fff;border:1px solid #000;color:#000}html.switch #contact-form button:hover,html.switch #contact-form button[type=submit]:hover{background-color:var(--h8);border:1px solid var(--h8);color:#fff}.contact-column>.small-header{font-size:.9rem;margin:0;padding:0}.contact-column>.large-header{font-size:1.5rem;margin:0;padding:0;font-weight:500}.contact-methods{list-style-type:none}.contact-methods>li{display:flex;align-items:center;margin:1rem 0}.contact-methods>li>strong{font-size:1.3rem}.contact-methods strong{font-weight:500}.contact-icon{width:1.5rem;height:1.5rem;margin-right:1rem}@media (max-width: 767px){.contact-column{padding:0}.contact-column.contact-info{border:none;margin:0;margin-top:1rem}.contact-methods{margin:0;padding:0}.contact-icon{margin-right:.5rem}.contact-column.contact-form{border:none;margin:1rem 0}#contact-form{margin:0;padding:0}#contact-form>label{flex-direction:column}}@media (min-width: 768px){.contact-column{padding:1.5rem}.contact-column.contact-info{border:1px solid #407bff;margin:1rem 2rem}.contact-icon{margin-right:1rem}.contact-column.contact-form>.large-header{font-size:2rem}#contact-form{margin:0;padding:0 1.5rem}#contact-form>label{flex-direction:row}#contact-form>label>span{min-width:100px}}#about-banner{float:right;margin:1rem}#about-banner>img{width:auto;height:auto;max-height:400px;margin:1rem}div.profile-social-icon{width:32px;height:32px;margin:0;display:inline-block;-webkit-mask:url("/i/about/linkedin-app-white-icon.svg") no-repeat center;-webkit-mask-size:contain;mask:url("/i/about/linkedin-app-white-icon.svg") no-repeat center;mask-size:contain;background-color:var(--h1)}section.profile>*{margin:0 1rem}section.profile{display:flex;margin-bottom:2rem}section.profile div.details{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.profile-description{text-align:left}img.profile{width:250px;height:250px;}img.circle{border-radius:50%;object-fit:cover;overflow:hidden;}h3.profile-title{color:var(--h8);padding:0;margin:0;font-weight:450}h2{color:var(--h5);margin-top:3rem;margin-bottom:1rem}article.profiles{width:95%;margin:0 auto;clear:both}@media (max-width: 767px){#about-banner{float:none;display:flex;justify-content:center}#about-banner>img{max-height:300px;margin:.5rem}.profile{display:flex;flex-direction:column;align-items:center}section.profile div.details{margin-top:1rem;display:flex;flex-direction:column;align-items:center}}#services-banner{float:right;margin:1rem}#services-banner>img{width:auto;height:auto;max-height:400px;margin:1rem}@media (max-width: 767px){#services-banner{float:none;display:flex;justify-content:center}#services-banner>img{max-height:300px;margin:.5rem}}.services{clear:both}.service{display:flex;margin:20px 0;align-items:flex-start}.service-icon{height:80px;margin:20px;flex-shrink:0}@media (max-width: 600px){.service-icon{height:56px;margin:8px 12px 8px 0}}.orange,#home-slogan{color:var(--a1)}.blue{color:#407bff}#home-slogan{font-size:1rem}#home-hero-large{font-size:3rem;font-weight:bold}#home-hero-small{font-size:2rem;font-weight:bold}.small-fluid-container{display:flex;flex-direction:column;justify-content:center;margin-top:1rem}@media (max-width: 1023px){#home-banner-large{display:none}#home-banner-small{margin:.5rem;display:flex;justify-content:center}#home-banner-small>img{width:auto;height:auto;max-height:200px}.small-fluid-container{display:flex;flex-direction:column;justify-content:center}#home-hero-large{display:none}#home-hero-small{display:block;text-align:center}#home-slogan{text-align:center}}@media (min-width: 768px){#home-banner-small>img{max-height:300px}}@media (min-width: 1024px){#home-banner-large{float:right;margin:1rem}#home-banner-large>img{width:auto;height:auto;max-height:400px}#home-banner-small{display:none}#home-hero-large{display:block}#home-hero-small{display:none}}.section-header{margin-top:2rem;color:var(--h8);font-weight:550}.feature-list{list-style:none;padding:0;margin:0;margin-top:2rem;display:grid;grid-template-columns:1fr;gap:2rem}.feature-list li h3{margin-top:0}@media (min-width: 1024px){.feature-list{grid-template-columns:repeat(3, 1fr)}}.featured-courses{list-style:none;padding:0;margin:0;margin-top:1rem;display:grid;grid-template-columns:1fr;gap:1.5rem}.featured-courses li a{font-weight:450;text-decoration:none;color:var(--a3)}.featured-courses li a:hover{text-decoration:underline}.featured-courses li p{margin-top:.5rem;margin-bottom:0}@media (min-width: 768px) and (orientation: landscape),(min-width: 1024px){.featured-courses{grid-template-columns:repeat(2, 1fr)}}.home-academy{background:linear-gradient(135deg, var(--c2) 0%, var(--c3) 50%, var(--c2) 100%);border-radius:1rem;padding:2.5rem 2rem;margin:2rem 0;position:relative;overflow:hidden}@media (max-width: 600px){.home-academy{padding:1.75rem 1rem}}.home-academy::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%, rgba(109,179,63,.12) 0%, rgba(0,0,0,0) 50%),radial-gradient(circle at 80% 50%, rgba(221,0,49,.08) 0%, rgba(0,0,0,0) 50%);pointer-events:none}.home-academy-inner{position:relative;z-index:1;max-width:900px;margin:0 auto}.home-academy-content{text-align:center;margin-bottom:2rem}.home-academy-content h2{font-size:clamp(1.5rem,4vw,2.25rem);font-weight:700;color:var(--f2);line-height:1.2;margin-bottom:1rem}.home-academy-content h2 .highlight{color:#a3e635}.home-academy-description{font-size:1rem;color:var(--f1);max-width:600px;margin:0 auto 1.5rem;line-height:1.6}.home-academy-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin-bottom:1.5rem}.home-academy-stats .stat-item{text-align:center}.home-academy-stats .stat-value{font-size:1.75rem;font-weight:700;color:var(--f2);font-family:var(--fm)}.home-academy-stats .stat-label{font-size:.75rem;color:var(--c4);text-transform:uppercase;letter-spacing:.05em}.home-academy-tech{background:var(--c1);border-radius:.75rem;padding:1.25rem;margin-bottom:1.5rem;border:1px solid var(--c3)}.tech-row{display:grid;grid-template-columns:60px 1fr;align-items:center;gap:.5rem;margin-bottom:.75rem}.tech-row:last-child{margin-bottom:0}.tech-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--c4)}.tech-icons{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:center;min-width:0}.home-academy-tech .tech-item{display:inline-flex;align-items:center;gap:.35rem;color:var(--f1);font-size:.8rem;font-weight:500;white-space:nowrap;flex:0 0 auto}.home-academy-tech .tech-item img{width:22px;height:22px;object-fit:contain}.home-academy-tech .tech-item img[src*="actix-web.png"]{filter:invert(1)}@media (max-width: 600px){.tech-row{grid-template-columns:1fr;gap:.5rem}.tech-label{text-align:center;margin-bottom:.25rem}.tech-icons{display:grid;grid-template-columns:repeat(2, 1fr);gap:.75rem 1rem;width:100%}.home-academy-tech .tech-item{font-size:.75rem;justify-content:center;width:100%}.home-academy-tech .tech-item img{width:20px;height:20px}}.home-academy-cta{text-align:center}.home-academy .btn{display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:.5rem;font-weight:600;font-size:1rem;text-decoration:none;transition:all .2s ease;cursor:pointer;border:none}.home-academy .btn-primary{background:#6db33f;color:#fff;box-shadow:0 4px 14px rgba(109,179,63,.4)}.home-academy .btn-primary:hover{background:#5fa234;transform:translateY(-2px);box-shadow:0 6px 20px rgba(109,179,63,.5);color:#fff;text-decoration:none}.home-academy .btn-primary:visited{color:#fff}.home-features{margin:2.5rem 0}.home-features .feature-list{display:grid;grid-template-columns:1fr;gap:1.25rem;margin:0;padding:0;list-style:none}@media (min-width: 768px){.home-features .feature-list{grid-template-columns:repeat(3, 1fr)}}.home-features .feature-card{background:var(--c2);border:1px solid var(--c3);border-radius:.75rem;padding:1.5rem;transition:all .2s ease}.home-features .feature-card:hover{border-color:#6db33f;box-shadow:0 4px 12px rgba(109,179,63,.15);transform:translateY(-2px)}.home-features .feature-card h4{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:600;color:var(--f2);margin:0 0 .75rem 0}.home-features .feature-icon{width:36px;height:36px;min-width:36px;background:rgba(109,179,63,.15);border-radius:.5rem;display:flex;align-items:center;justify-content:center}.home-features .feature-icon svg{width:20px;height:20px;color:#6db33f}.home-features .feature-card p{font-size:.9rem;color:var(--f1);line-height:1.6;margin:0}