:root{--ink:#0a0a0a;--ink-soft:#4d4d4d;--paper:#ffffff;--tone:#f1f1ef;--tone-2:#e4e4e1;--field:#141414;--on-field:#d9d9d6;--serif:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;--sans:"Archivo","Helvetica Neue",Arial,sans-serif;--s-display:clamp(44px,5.4vw,84px);--s-head:clamp(30px,3vw,44px);--s-lead:clamp(20px,1.7vw,24px);--s-body:17px;--s-small:14px;--m:clamp(16px,2.2vw,32px);--gap:24px;--max:1440px;--header:56px;--ease-out:cubic-bezier(.22,1,.36,1);--ease-in-out:cubic-bezier(.76,0,.24,1);--ease-soft:cubic-bezier(.33,1,.68,1);--t-press:140ms;--t-hover:180ms;--t-ui:240ms;--t-reveal:800ms}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 16px)}body{margin:0;background:var(--field);color:var(--ink);font:var(--s-body)/1.55 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.field :focus-visible,.on-dark :focus-visible{outline-color:var(--paper)}::selection{background:var(--ink);color:var(--paper)}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:-.03em;line-height:1;margin:0;text-wrap:balance}p{text-wrap:pretty}ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}.skip{position:absolute;left:12px;top:-100px;z-index:100;background:var(--ink);color:var(--paper);padding:12px 16px}.skip:focus{top:12px}.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--m);padding-right:var(--m)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.soft-ink{color:var(--ink-soft)}main{position:relative;z-index:1;background:var(--paper)}.button,button.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:14px 26px;border:0;background:var(--ink);color:var(--paper);font-weight:500;font-size:var(--s-body);transition:transform var(--t-press) var(--ease-out),background-color var(--t-hover) ease}.button:hover,button.primary:hover:not(:disabled){background:#2b2b2b}.button:active,button.primary:active:not(:disabled){transform:scale(.97)}.button svg,button.primary svg{transition:transform var(--t-hover) var(--ease-out)}.button:hover svg,button.primary:hover:not(:disabled) svg{transform:translateX(3px)}.button.paper{background:var(--paper);color:var(--ink)}.button.paper:hover,.button.tone{background:var(--tone)}.button.tone{color:var(--ink)}.button.tone:hover{background:var(--tone-2)}.button.small{min-height:44px;padding:10px 18px}.button.block,button.primary.block{width:100%}.text-button{border:0;background:none;padding:10px 0;min-height:44px;font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}.u{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;text-decoration-thickness:2px;transition:text-decoration-color var(--t-hover) ease}.u:hover,.u[aria-current=page]{text-decoration-color:currentColor}.header{position:sticky;top:0;z-index:40;background:var(--ink);color:var(--paper);height:var(--header)}.header-inner{max-width:var(--max);margin:0 auto;height:100%;padding:0 var(--m);display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:baseline;gap:10px;font-family:var(--serif);font-size:var(--s-lead);letter-spacing:-.01em}.brand img{width:78px;height:auto;align-self:center;filter:invert(1)}.brand>span{font-family:var(--sans);font-size:14px;color:var(--on-field)}.header .button{background:var(--paper);color:var(--ink)}.header .button:hover{background:var(--tone)}.nav{display:flex;align-items:center;gap:30px}.burger,.nav{margin-left:auto}.burger{display:none;width:48px;height:48px;border:0;background:#262626;color:var(--paper);place-items:center;transition:transform var(--t-press) var(--ease-out)}.burger:active{transform:scale(.94)}@media (max-width:860px){.burger{display:grid}.nav{position:absolute;left:0;right:0;top:var(--header);flex-direction:column;align-items:stretch;gap:0;padding:8px var(--m) 20px;background:var(--ink);box-shadow:0 24px 40px -24px rgba(0,0,0,.35);transform-origin:top;transition:opacity var(--t-ui) var(--ease-out),transform var(--t-ui) var(--ease-out)}.nav:not(.open){opacity:0;transform:translateY(-8px);pointer-events:none;visibility:hidden}.nav a{padding:14px 0;font-size:var(--s-lead)}.nav .button{margin-top:10px}}.footer{background:var(--ink);color:var(--paper);overflow:hidden}.footer-links{max-width:var(--max);margin:0 auto;padding:72px var(--m) 24px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px}.footer-links nav{display:flex;flex-wrap:wrap;gap:12px 32px}.footer-links small{font-size:var(--s-small);color:var(--on-field)}.foot-mast{display:flex;justify-content:center;font-family:var(--serif);font-weight:800;font-size:24vw;line-height:.78;letter-spacing:-.04em;padding-top:20px;margin-bottom:-.1em}.foot-mast span{display:inline-block}@keyframes line-up{0%{transform:translateY(105%)}to{transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes card-in{0%{opacity:0;transform:translate(-50%,64px)}to{opacity:1;transform:translate(-50%)}}@keyframes drift{0%{transform:scale(1.04)}to{transform:scale(1.12) translate(-1.5%,-1%)}}.lines .line{overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}.lines .line,.lines .line>span{display:block}@media (prefers-reduced-motion:no-preference){.js .lines .line>span{animation:line-up .9s var(--ease-out) both;animation-delay:calc(var(--i,0) * .11s + .38s)}.js [data-rise]{animation:rise var(--t-reveal) var(--ease-out) both;animation-delay:calc(var(--i,0) * 90ms + .56s)}.js [data-reveal]>*{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .9s var(--ease-out)}.js [data-reveal].is-in>*{opacity:1;transform:none}.js [data-reveal].is-in>:nth-child(2){transition-delay:80ms}.js [data-reveal].is-in>:nth-child(3){transition-delay:.16s}.js [data-reveal].is-in>:nth-child(4){transition-delay:.24s}.js [data-reveal].is-in>:nth-child(5){transition-delay:.32s}.js [data-reveal].is-in>:nth-child(n+6){transition-delay:.4s}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.page{padding-top:72px;padding-bottom:140px}.page-title{font-size:var(--s-display);margin-bottom:16px}.lede{font-size:var(--s-lead);max-width:52ch;color:var(--ink-soft)}label{display:flex;flex-direction:column;gap:8px;font-size:var(--s-small);font-weight:500}input,select,textarea{width:100%;padding:14px 16px;border:1px solid #c9c9c6;background:var(--paper);font-size:var(--s-body);transition:border-color var(--t-hover) ease}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}input[type=checkbox],input[type=radio]{width:20px;height:20px;padding:0;accent-color:var(--ink);flex:none}textarea{min-height:130px;resize:vertical}.stack{display:flex;flex-direction:column;gap:16px}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.progress{height:8px;background:var(--tone-2);overflow:hidden}.progress>div{height:100%;background:var(--ink);transition:width .6s var(--ease-out)}.prose{white-space:pre-wrap;line-height:1.75;overflow-wrap:anywhere;max-width:68ch}.tag{display:inline-flex;align-items:center;padding:6px 12px;color:var(--ink);font-size:var(--s-small);font-weight:500}.auth,.tag{background:var(--tone)}.auth{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-height:calc(100svh - var(--header))}.auth-photo{grid-column:1/7;position:relative;overflow:hidden;background:var(--field)}.auth-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%}@media (prefers-reduced-motion:no-preference){.auth-photo img{animation:drift 30s var(--ease-soft) infinite alternate}}.auth-photo p{position:absolute;left:var(--m);bottom:var(--m);max-width:22ch;padding:20px 24px;background:rgba(10,10,10,.72);color:var(--paper);font-family:var(--serif);font-size:var(--s-lead);line-height:1.2}.auth-main{grid-column:7/13;display:flex;align-items:center;justify-content:center;padding:56px var(--m)}.auth-card{width:100%;max-width:460px;background:var(--paper);padding:44px 40px}.auth-card h1{font-size:clamp(34px,3.4vw,46px);margin-bottom:10px}.switch{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--tone);padding:4px;margin:26px 0}.switch button{min-height:46px;border:0;background:transparent;font-weight:500;transition:background-color var(--t-hover) ease}.switch button[aria-selected=true]{background:var(--ink);color:var(--paper)}.pw{position:relative}.pw input{padding-right:84px}.pw button{position:absolute;right:5px;top:50%;transform:translateY(-50%);min-height:42px;padding:0 14px;border:0;background:var(--tone);font-size:14px;font-weight:500}.fine{margin-top:22px;font-size:var(--s-small);color:var(--ink-soft);text-align:center}.fine a{text-decoration:underline;text-underline-offset:3px}@media (max-width:860px){.auth{display:flex;flex-direction:column}.auth-photo{min-height:32svh}.auth-photo p{font-size:var(--s-lead);left:12px;bottom:12px}.auth-main{padding:0 12px 56px;margin-top:-28px;position:relative}.auth-card{padding:30px 22px}}.course-top{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end;padding-top:56px;padding-bottom:88px}.course-top .copy{grid-column:1/8;display:flex;flex-direction:column;gap:22px}.back{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:500;align-self:flex-start}.back svg{transition:transform var(--t-hover) var(--ease-out)}.back:hover svg{transform:translateX(-3px)}.course-top h1{font-size:var(--s-display);line-height:.98}.course-top .tags{display:flex;flex-wrap:wrap;gap:6px}.course-top figure{grid-column:8/13;margin:0}.course-top figure img{width:100%;aspect-ratio:4/5;object-fit:cover}.course-facts{display:flex;flex-wrap:wrap;gap:10px 28px;font-size:var(--s-body)}.course-facts span{display:inline-flex;align-items:center;gap:8px}.course-body{background:var(--tone);padding:96px 0 140px}.course-body .wrap{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}.course-body article{grid-column:1/8;display:flex;flex-direction:column;gap:72px}.course-body article h2{font-size:var(--s-head);margin-bottom:18px}.outcomes{display:flex;flex-direction:column;gap:6px}.outcomes li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;background:var(--paper)}.outcomes svg{flex:none;margin-top:4px}.course-slip{max-width:none}.enrol{grid-column:9/13;position:sticky;top:calc(var(--header) + 24px);background:var(--paper);padding:32px;display:flex;flex-direction:column;gap:18px}.price{font-family:var(--serif);font-size:48px;line-height:1;letter-spacing:-.025em}.check-row{flex-direction:row;align-items:flex-start;gap:12px;font-weight:400;font-size:var(--s-body)}.check-row a{text-decoration:underline;text-underline-offset:3px}.includes{display:flex;flex-direction:column;gap:10px;font-size:var(--s-body);background:var(--tone);padding:18px}.includes li{display:flex;gap:10px;align-items:flex-start}.includes svg{flex:none;margin-top:3px}.teacher{background:var(--paper);padding:28px}.teacher h3{font-size:var(--s-lead);margin-bottom:8px}@media (max-width:960px){.course-top{display:flex;flex-direction:column-reverse;align-items:stretch;gap:28px;padding-top:20px;padding-bottom:64px}.course-top figure img{aspect-ratio:4/3}.course-body{padding:56px 0 96px}.course-body .wrap{display:flex;flex-direction:column-reverse;gap:48px}.enrol{position:static;padding:24px}}.class-top{background:var(--tone)}.class-top>div{max-width:var(--max);margin:0 auto;padding:12px var(--m);display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px}.class-top strong{font-family:var(--serif);font-weight:400;font-size:var(--s-lead);flex:1 1 220px}.class-top .meter{display:flex;align-items:center;gap:14px;flex:1 1 240px;max-width:420px;font-size:var(--s-small)}.class-top .meter .progress{flex:1 1}.learner{max-width:var(--max);margin:0 auto;padding:32px var(--m) 120px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start}.lesson-nav{grid-column:1/5;background:var(--tone);padding:20px;position:sticky;top:calc(var(--header) + 20px)}.lesson-nav h2{font-size:var(--s-lead);margin:4px 6px 14px}.lesson-nav ol{display:flex;flex-direction:column;gap:4px}.lesson-nav button{width:100%;display:flex;align-items:center;gap:12px;padding:12px;border:0;background:transparent;text-align:left;transition:background-color var(--t-hover) ease}.lesson-nav button:hover{background:var(--tone-2)}.lesson-nav button.selected{background:var(--ink);color:var(--paper)}.lesson-nav .mark{flex:none;width:30px;height:30px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lesson-nav button.done:not(.selected) .mark{background:var(--ink);color:var(--paper)}.lesson-nav .ln{display:block;font-weight:500;font-size:var(--s-body)}.lesson-nav small{display:block;font-size:var(--s-small);opacity:.75}.lesson-nav .button{margin-top:16px}.lesson-main{grid-column:5/13;display:flex;flex-direction:column;gap:24px;min-width:0}.player{background:var(--field)}.video{width:100%;max-height:70vh;display:block;background:#000}.lesson-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}.lesson-head .kind{font-size:var(--s-body);color:var(--ink-soft);margin-bottom:8px}.lesson-head h2{font-size:clamp(30px,3.4vw,46px)}.box{background:var(--tone);padding:24px}.quiz fieldset{border:0;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:6px}.quiz legend{font-weight:600;margin-bottom:10px;font-size:var(--s-body)}.quiz label{flex-direction:row;align-items:center;gap:12px;padding:14px 16px;background:var(--tone);font-weight:400;font-size:var(--s-body);cursor:pointer;transition:background-color var(--t-hover) ease}.quiz label:hover{background:var(--tone-2)}.quiz label:has(input:checked){background:var(--ink);color:var(--paper)}.discussion{margin-top:40px;background:var(--tone);padding:28px;display:flex;flex-direction:column;gap:16px}.discussion h3{font-size:var(--s-head)}.discussion article{background:var(--paper);padding:18px 20px}.discussion article p{white-space:pre-wrap;margin:6px 0 0;overflow-wrap:anywhere}.discussion .reply-note{margin-top:12px;background:var(--tone);padding:14px 16px}@media (max-width:900px){.learner{display:flex;flex-direction:column;gap:24px;padding-top:20px}.lesson-nav{position:static;width:100%}.lesson-main{width:100%}.discussion{padding:20px}}.enrolments{display:flex;flex-direction:column;gap:12px;margin-top:48px}.enrolment{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);background:var(--tone);transition:background-color var(--t-hover) ease}.enrolment:hover{background:var(--tone-2)}.enrolment img{width:100%;height:100%;min-height:220px;object-fit:cover}.enrolment .body{padding:28px;display:flex;flex-direction:column;gap:14px;justify-content:center}.enrolment h2{font-size:var(--s-head)}.payments{margin-top:96px}.payments h2{font-size:var(--s-head);margin-bottom:18px}table{width:100%;border-collapse:collapse;font-size:var(--s-body);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td,th{text-align:left;padding:14px 12px;border-bottom:1px solid var(--tone-2)}th{font-weight:500;color:var(--ink-soft)}.table-wrap{overflow:auto;background:var(--paper)}.empty{background:var(--tone);padding:48px 28px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}.empty h1,.empty h2{font-size:var(--s-head)}@media (max-width:700px){.enrolment{grid-template-columns:1fr}.enrolment img{min-height:0;aspect-ratio:16/9}.enrolment .body{padding:22px}}.cert-page{background:var(--tone);padding:64px var(--m) 140px}.certificate{max-width:920px;margin:0 auto;background:var(--paper);padding:14px}.certificate .inner{background:var(--paper);outline:10px solid var(--ink);outline-offset:-24px;padding:clamp(48px,7vw,84px) clamp(28px,6vw,72px);text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}.certificate .logo{width:128px;margin-bottom:28px}.certificate h1{font-size:clamp(28px,3.4vw,40px)}.certificate .who{font-family:var(--serif);font-style:italic;font-size:clamp(36px,5.4vw,64px);line-height:1.05;letter-spacing:-.03em;margin:10px 0}.certificate .course{font-family:var(--serif);font-size:clamp(22px,2.4vw,30px)}.certificate small{font-size:var(--s-small);color:var(--ink-soft);overflow-wrap:anywhere;margin-top:18px}.no-print{text-align:center;margin-top:32px;display:flex;flex-direction:column;align-items:center;gap:14px}.policy{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);margin-top:56px;row-gap:40px}.policy section{grid-column:span 6;background:var(--tone);padding:28px}.policy h2{font-size:var(--s-lead);margin-bottom:12px}@media (max-width:860px){.policy{display:flex;flex-direction:column;gap:12px}}@media print{.footer,.header,.no-print{display:none!important}.cert-page,body,main{background:#fff}.certificate{padding:0}}