@font-face{font-family:Yekan;src:url('fonts/yekan.woff2') format('woff2');font-display:swap}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#ffffff;color:#1d1d1f;font-family:Yekan,Tahoma,sans-serif;font-size:15px;line-height:1.9}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;height:auto;display:block}p{color:#6e6e73}h1,h2,h3{line-height:1.5;margin:0 0 16px;font-weight:700}h1{font-size:clamp(32px,4vw,54px);letter-spacing:-1.2px}h2{font-size:28px;letter-spacing:-.6px}h3{font-size:19px}.wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}.preview{background:#e9ede3;text-align:center;color:#6e6e73;font-size:12px;padding:7px 16px}.header{min-height:102px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid #e6e7df}.brand{display:inline-flex;align-items:center;gap:11px;font-size:22px;font-weight:700;white-space:nowrap;line-height:1.35}.brand small{display:block;font-size:9px;letter-spacing:1.4px;font-weight:400;margin-top:7px;color:#687561}.header nav,.header-actions{display:flex;align-items:center;gap:28px}.header nav a{font-size:14px;color:#6e6e73}.header nav a:hover,.header nav a[aria-current]{color:#0071e3}.header-actions{gap:20px;font-size:13px}.cart-link{display:flex;align-items:center;gap:12px;border:1px solid #dce0d6;padding:8px 14px;border-radius:7px}.cart-link span{background:#e8eddf;color:#0071e3;min-width:22px;text-align:center;border-radius:4px}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #879c68;outline-offset:5px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;min-height:650px;padding-block:60px 72px}.eyebrow{display:block;font-size:12px;color:#6e6e73;margin-bottom:18px;letter-spacing:.2px}.eyebrow i{width:7px;height:7px;background:#567446;display:inline-block;border-radius:50%;margin-left:7px}.hero h1{font-size:clamp(40px,4.6vw,63px);line-height:1.55;letter-spacing:-1.8px}.hero h1 em{font-style:normal;color:#0071e3;position:relative}.hero h1 em:after{content:'';position:absolute;inset:auto 0 3px;height:7px;border-bottom:2px solid #9fae7d;border-radius:50%;transform:rotate(-3deg)}.hero-copy>p{font-size:16px;line-height:2.2;margin-top:18px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-block:28px}.button{border:1px solid #0071e3;background:#0071e3;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:11px 22px;border-radius:7px;font-size:14px;min-height:47px;transition:background .18s,transform .18s}.button:hover{background:#0077ed;transform:translateY(-1px)}.button.secondary{background:transparent;color:#0071e3;border-color:#d9dfd2}.button.secondary:hover{background:#eef0e7}.text-link{font-size:14px;display:inline-flex;gap:12px;align-items:center;border-bottom:1px solid #c8d0bd;padding-bottom:4px}.hero-note{display:flex;align-items:center;gap:15px;margin-top:34px;font-size:12px;line-height:1.7;color:#66705e}.code-mark{font:24px ui-monospace,monospace;display:inline-flex;align-items:center;justify-content:center;background:#e9eddc;border-radius:50%;width:48px;height:48px;color:#4f6540}.hero-visual{position:relative;padding-bottom:35px}.hero-visual>img{height:400px;width:100%;object-fit:cover;border-radius:90px 9px 9px 9px}.image-caption{font-size:11px;color:#86868b;display:block;margin:10px 0;text-align:left}.notebook{background:#f1f0e4;position:absolute;bottom:0;right:-28px;width:270px;padding:19px 24px;transform:rotate(3deg);border:1px solid #dddecf;box-shadow:0 10px 24px #26361d08;border-radius:3px}.notebook>span:first-child{font:10px ui-monospace,monospace;color:#7b836e;display:block;text-align:left}.notebook p{font-size:14px;margin-block:12px;color:#434f39}.notebook-line{display:block;height:1px;background:#d0d5c0;width:60px}.principles{display:flex;justify-content:space-between;border-block:1px solid #e1e4d8;padding:23px 20px;color:#6d7666;font-size:13px}.principles span:before{content:'✓';margin-left:12px;color:#718459}.section{padding-block:65px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading h2{margin-bottom:0}.section-heading .eyebrow{margin-bottom:7px}.filters{display:flex;gap:8px;margin:25px 0 30px;flex-wrap:wrap}.filters a{padding:8px 16px;border:1px solid #dfe3d7;border-radius:50px;font-size:12px}.filters a:first-child,.filters a:hover{background:#e9edde;border-color:#e0e5d5}.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 22px}.course-card{min-width:0}.cover{display:block;position:relative;overflow:hidden;border-radius:9px}.cover img{aspect-ratio:3/2;object-fit:cover;transition:transform .3s}.cover:hover img{transform:scale(1.035)}.cover-label{position:absolute;bottom:12px;left:12px;background:#ffffffeF;color:#303b2e;padding:3px 9px;border-radius:4px;font:11px ui-monospace,monospace;line-height:1.9}.course-body{padding:16px 1px}.meta{display:flex;justify-content:space-between;font-size:10px;color:#74806b;margin-bottom:9px}.course-body h3{font-size:18px;margin-bottom:8px;min-height:54px}.course-body p{font-size:12px;line-height:1.9;min-height:69px;margin:0 0 17px}.card-bottom{border-top:1px solid #e3e5dc;padding-top:15px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.card-bottom strong{font-size:16px}.card-bottom small{font-size:10px;color:#7d8377}.card-bottom>a{font-size:11px;color:#63734e;white-space:nowrap}.card-bottom>a span{margin-right:6px}.catalog-note{font-size:11px;text-align:center;margin-top:32px}.path-section{padding:48px 50px;background:#f5f5f7;border-radius:12px;display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-block:20px 15px}.path-section h2{font-size:34px}.path-section p{font-size:14px;max-width:370px}.path-section ol{padding:0;margin:0;list-style:none}.path-section li{display:flex;align-items:center;gap:20px;padding-block:20px;border-bottom:1px solid #d1d9c3}.path-section li:last-child{border-bottom:0}.path-section li>span{color:#8b9b7a;font-size:22px}.path-section li h3{font-size:18px;margin:0}.path-section li p{font-size:12px;margin:4px 0 0}.path-section li>a{margin-right:auto;font-size:24px}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.faq details{border-bottom:1px solid #e0e4d7;padding:20px 0}.faq summary{cursor:pointer;font-size:15px}.faq details p{font-size:14px}.footer{margin-top:40px;border-top:1px solid #e0e4d7;background:#f5f5f7;padding-top:48px}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:70px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.footer-grid p{font-size:13px;max-width:330px}.footer-grid h2{font-size:14px;margin-bottom:13px}.footer-grid>div>a:not(.brand),.footer-grid>div>span{font-size:12px;color:#636f59}.footer .brand small{font-size:10px;letter-spacing:0}.footer-bottom{padding-block:20px;border-top:1px solid #dfe3d6;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#798170;margin-top:32px}.page-heading{margin-bottom:35px}.page-heading p{max-width:620px}.page-heading .eyebrow{margin-bottom:8px}.search{display:flex;gap:12px;align-items:center;margin-bottom:38px}input,select{border:1px solid #d4dbcd;border-radius:7px;background:#fff;padding:10px 14px;color:#283627;min-width:0;min-height:45px}input:focus,select:focus{outline:2px solid #8ca079;outline-offset:2px}input[type=checkbox]{min-height:20px;width:20px;accent-color:#3f5d37;flex-shrink:0}.search input{flex:1}.search label{font-size:13px}.breadcrumb{display:flex;align-items:center;gap:14px;font-size:12px;color:#78836e;margin-bottom:40px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:80px;align-items:start}.detail-grid h1{font-size:40px}.detail-grid h2{font-size:22px}.lead{font-size:18px;line-height:2.25}.project-note{padding:22px 25px;background:#eef0e6;border-radius:8px;margin-block:30px}.project-note>span{font-size:12px;color:#6c795d}.project-note h2{margin:6px 0 0}.chapters{padding:0;list-style:none;margin-block:20px 30px}.chapters li{border-bottom:1px solid #e0e4d7;padding:14px 0;font-size:14px}.chapters span{display:inline-flex;justify-content:center;width:26px;height:26px;border-radius:50%;background:#e8eddf;font-size:12px;margin-left:12px}.purchase{border:1px solid #e0e4d7;border-radius:11px;overflow:hidden;background:#fff}.purchase>img{width:100%;aspect-ratio:3/2;object-fit:cover}.purchase>div{padding:25px}.purchase .price{font-size:14px;margin:15px 0 0}.price strong{font-size:32px;color:#1d1d1f}.purchase small{font-size:11px;color:#7c8574}.purchase form{margin-top:23px;margin-bottom:10px}.full{width:100%}.note{background:#f1f2e9;border-radius:8px;font-size:13px;padding:18px 21px;margin-block:25px;color:#626c55}.note p{margin:5px 0 0}.reading{max-width:820px;padding-block:65px;min-height:55vh}.reading>.eyebrow{margin-top:28px}.reading>p{line-height:2.2}.reading h2{font-size:23px;margin-top:32px}.reading>.text-link{margin-bottom:20px}.code-block{border-radius:9px;overflow:hidden;background:#26302a;color:#e8eddf;margin-block:28px}.code-block>div{display:flex;justify-content:space-between;align-items:center;padding:10px 18px;background:#323f36;font-size:12px}.copy-code{border:1px solid #61705e;background:transparent;border-radius:4px;color:#edf0e9;font-size:12px;padding:4px 12px}.code-block pre{overflow:auto;padding:24px;margin:0;line-height:1.9;tab-size:2;text-align:left;font-size:14px}.exercise{border-right:3px solid #8a9c73;padding:12px 24px;background:#eef1e6}.exercise h2{margin-top:0}.contact-list{display:grid;grid-template-columns:140px 1fr;border-top:1px solid #dce2d3;margin-top:30px}.contact-list dt,.contact-list dd{margin:0;padding:18px 0;border-bottom:1px solid #dce2d3;overflow-wrap:anywhere}.contact-list dt{color:#738166;font-size:13px}.contact-list a{display:inline-block}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:45px;align-items:start}.cart-row{display:flex;align-items:center;gap:22px;border-bottom:1px solid #dfe3d6;padding:22px 0}.cart-row img{width:110px;border-radius:7px;aspect-ratio:3/2;object-fit:cover}.cart-row h2{font-size:18px;margin:0}.cart-row .eyebrow{margin:0}.cart-row p{font-size:13px;margin:5px 0 0}.cart-row form{margin-right:auto}.remove{border:0;background:none;color:#906756;padding:12px;font-size:12px}.summary-box{border:1px solid #dce2d3;border-radius:10px;padding:25px;background:#f3f4ed}.summary-box h2{font-size:22px}.summary-box>p{display:flex;justify-content:space-between;gap:15px;font-size:14px;flex-wrap:wrap}.summary-box strong{color:#2f4930}.summary-box .note{font-size:12px}.check{display:flex;align-items:center;gap:10px;font-size:12px;margin-bottom:20px}.empty{text-align:center;padding:70px 20px;grid-column:1/-1;min-height:40vh}.empty h2{margin-top:22px;font-size:25px}.empty .button{margin-top:15px}.messages p{background:#e4eedb;color:#3d5b2d;padding:12px 18px;border-radius:6px;font-size:14px}.order-id{font:14px ui-monospace,monospace;overflow-wrap:anywhere}.reading>.summary-box{margin-block:25px}.order-row{display:flex;justify-content:space-between;gap:20px;padding:24px;border:1px solid #dce2d3;border-radius:8px;margin-bottom:16px;font-size:14px;flex-wrap:wrap}.order-row>span:first-child{font:12px ui-monospace,monospace;overflow-wrap:anywhere}.manage-list{margin-block:30px}.manage-row{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:25px;align-items:center;padding:20px 0;border-bottom:1px solid #dce2d3}.manage-row h2{font-size:18px;margin:0}.manage-row label{font-size:12px}.manage-row input[type=number]{width:100%}.manage-row .check{margin:0}.login-box{max-width:500px;margin-top:30px}.login-box>input{width:100%;margin-top:10px}.skip{position:absolute;top:-100px}.skip:focus{top:10px;right:10px;background:#fff;padding:15px;z-index:20}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1500px){.wrap{max-width:1280px}.hero{min-height:720px}.hero-visual>img{height:450px}}
@media(max-width:1000px){.header nav,.header-actions{gap:16px}.hero{gap:35px;min-height:550px}.hero h1{font-size:46px}.hero-visual>img{height:345px}.notebook{right:-12px;width:235px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-grid{gap:35px}.path-section{gap:35px;padding:35px}.footer-grid{gap:35px}.library-link{display:none}.manage-row{grid-template-columns:1fr 1fr}.hero-actions{gap:16px}}
@media(max-width:700px){body{font-size:14px}.wrap{width:calc(100% - 36px)}.preview{font-size:10px;line-height:1.7;padding:7px 14px}.header{min-height:106px;gap:15px;flex-wrap:wrap;padding-block:16px 11px}.brand{font-size:19px}.brand img{width:32px;height:32px}.brand small{font-size:8px}.header nav{order:3;width:100%;justify-content:center;gap:32px;border-top:1px solid #e6e7df;padding-top:10px}.header nav a{font-size:12px}.header-actions{margin-right:auto}.cart-link{padding:5px 11px;font-size:12px}.hero{grid-template-columns:1fr;gap:28px;padding-block:36px 25px;min-height:auto}.hero h1{font-size:44px;line-height:1.5}.hero-copy>p{font-size:14px;line-height:2.15}.hero .eyebrow{font-size:11px;margin-bottom:13px}.hero-actions{gap:20px;margin-block:24px}.button{font-size:13px;padding:10px 17px;gap:14px}.text-link{font-size:12px}.hero-note{display:none}.hero-visual{padding-bottom:35px;margin-top:3px}.hero-visual>img{height:auto;aspect-ratio:1.45;border-radius:55px 7px 7px 7px}.notebook{width:210px;padding:13px 18px;right:10px;bottom:0}.notebook p{font-size:12px;margin:7px 0}.notebook>span:first-child{font-size:8px}.image-caption{font-size:9px;margin-left:4px}.principles{padding:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:11px}.principles span:before{margin-left:7px}.section{padding-block:40px}.section-heading{align-items:center;gap:15px}.section-heading h2{font-size:23px}.section-heading>.text-link{font-size:10px;white-space:nowrap}.eyebrow{font-size:11px}.filters{gap:7px;margin-block:20px 24px}.filters a{font-size:11px;padding:6px 12px}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 15px}.cover-label{font-size:9px;bottom:8px;left:8px;padding:2px 6px}.course-body{padding-top:12px}.meta{font-size:9px;gap:5px;flex-wrap:wrap}.meta span:last-child{display:none}.course-body h3{font-size:15px;min-height:46px;line-height:1.6}.course-body p{font-size:11px;min-height:83px;margin-bottom:10px;line-height:1.85}.card-bottom{flex-wrap:wrap;gap:6px;padding-top:11px}.card-bottom strong{font-size:15px}.card-bottom>a{font-size:11px;min-height:30px;display:flex;align-items:center}.catalog-note{font-size:10px;line-height:2}.path-section{grid-template-columns:1fr;gap:5px;padding:25px;margin-block:10px}.path-section h2{font-size:28px}.path-section p{font-size:13px}.path-section li{padding-block:15px}.path-section li h3{font-size:16px}.faq{grid-template-columns:1fr;gap:0}.faq h2{font-size:24px}.faq summary{font-size:14px}.faq details p{font-size:13px}.footer{margin-top:20px;padding-top:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px 20px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid p{max-width:none;font-size:12px}.footer-grid>div>a:not(.brand),.footer-grid>div>span{font-size:11px;overflow-wrap:anywhere}.footer-grid h2{font-size:13px}.footer-bottom{font-size:9px;gap:10px;flex-wrap:wrap;margin-top:25px}.page-heading h1{font-size:31px}.search{display:grid;grid-template-columns:1fr auto;gap:10px}.search label{grid-column:1/-1}.search input{grid-column:1/-1;width:100%}.search select{width:100%}.detail-grid{grid-template-columns:1fr;gap:30px}.detail-grid h1{font-size:34px}.lead{font-size:16px}.breadcrumb{margin-bottom:25px;font-size:11px}.purchase{max-width:500px;width:100%}.purchase>div{padding:22px}.reading{padding-block:35px}.reading h1{font-size:31px}.reading h2{font-size:22px}.code-block pre{font-size:12px;padding:17px}.contact-list{grid-template-columns:1fr}.contact-list dt{border:0;padding:14px 0 0}.contact-list dd{padding:7px 0 15px}.checkout-grid{grid-template-columns:1fr;gap:25px}.cart-row{gap:14px}.cart-row img{width:75px}.cart-row h2{font-size:15px}.cart-row .eyebrow{font-size:10px}.cart-row p{font-size:12px}.cart-row .remove{padding:10px 2px;font-size:11px}.summary-box{padding:21px}.summary-box>p{font-size:13px}.manage-row{gap:15px}.manage-row h2{grid-column:1/-1}.manage-row>.button{grid-column:1/-1}.order-row{font-size:13px}.empty{padding:40px 10px}.empty h2{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
