.ffma-dashboard{
padding:0 5vw 100px;
background:#f5f5f2;
color:#080808;
}

.ffma-dashboard-top{
height:58px;
display:flex;
align-items:center;
justify-content:space-between;
border-bottom:1px solid #080808;
font:10px "DM Mono",monospace;
letter-spacing:.12em;
}

.ffma-dashboard-hero{
min-height:500px;
padding:70px 0 55px;
display:grid;
grid-template-columns:1.7fr .55fr;
gap:70px;
align-items:end;
border-bottom:1px solid #080808;
}

.ffma-kicker{
margin:0 0 24px;
font:10px "DM Mono",monospace;
letter-spacing:.12em;
}

.ffma-dashboard-hero h1{
margin:0;
font-size:clamp(70px,9vw,145px);
line-height:.82;
letter-spacing:-.075em;
font-weight:800;
}

.ffma-intro{
max-width:620px;
margin:36px 0 0;
color:#555;
font-size:17px;
line-height:1.7;
}

.ffma-dashboard-meta{
border-top:1px solid #080808;
}

.ffma-dashboard-meta div{
padding:18px 0;
display:flex;
justify-content:space-between;
gap:25px;
border-bottom:1px solid #080808;
}

.ffma-dashboard-meta span{
color:#777;
font:9px "DM Mono",monospace;
letter-spacing:.1em;
}

.ffma-dashboard-meta strong{
font-size:10px;
letter-spacing:.08em;
text-align:right;
}

.ffma-protocol-strip{
display:grid;
grid-template-columns:repeat(5,1fr);
border-bottom:1px solid #080808;
}

.ffma-protocol-strip div{
min-height:110px;
padding:20px;
border-right:1px solid #080808;
display:flex;
flex-direction:column;
justify-content:space-between;
}

.ffma-protocol-strip div:last-child{
border-right:0;
}

.ffma-protocol-strip span{
font:10px "DM Mono",monospace;
}

.ffma-protocol-strip b{
font-size:10px;
letter-spacing:.08em;
}

.ffma-section-head{
min-height:330px;
padding:70px 0 55px;
display:grid;
grid-template-columns:1fr 2fr;
align-items:end;
border-bottom:1px solid #080808;
}

.ffma-section-head p{
align-self:start;
margin:0;
font:10px "DM Mono",monospace;
letter-spacing:.1em;
}

.ffma-section-head h2{
margin:0;
font-size:clamp(58px,7vw,105px);
line-height:.86;
letter-spacing:-.065em;
text-transform:uppercase;
}

.ffma-module-list{
border-bottom:1px solid #080808;
}

.ffma-module-row{
min-height:210px;
display:grid;
grid-template-columns:85px minmax(0,1.6fr) minmax(220px,.7fr) 40px;
gap:30px;
align-items:center;
border-bottom:1px solid #080808;
text-decoration:none;
color:#080808;
transition:.18s ease;
}

.ffma-module-row:last-child{
border-bottom:0;
}

.ffma-module-row:hover{
background:#080808;
color:#fff;
padding-left:20px;
padding-right:20px;
}

.ffma-module-num{
align-self:start;
padding-top:40px;
font:12px "DM Mono",monospace;
}

.ffma-module-copy{
padding:35px 0;
}

.ffma-module-copy span,
.ffma-module-output span{
color:#777;
font:9px "DM Mono",monospace;
letter-spacing:.1em;
}

.ffma-module-copy h3{
margin:15px 0 12px;
font-size:clamp(28px,3vw,46px);
line-height:1;
letter-spacing:-.04em;
}

.ffma-module-copy p{
max-width:650px;
margin:0;
color:#666;
font-size:13px;
line-height:1.65;
}

.ffma-module-row:hover .ffma-module-copy p,
.ffma-module-row:hover .ffma-module-copy span,
.ffma-module-row:hover .ffma-module-output span{
color:#bbb;
}

.ffma-module-output{
padding-left:25px;
border-left:1px solid currentColor;
display:flex;
flex-direction:column;
gap:8px;
}

.ffma-module-output strong{
max-width:220px;
font-size:13px;
line-height:1.4;
}

.ffma-module-arrow{
font-size:22px;
}

.ffma-vault-callout{
margin-top:90px;
padding:65px 0;
display:grid;
grid-template-columns:1.5fr 1fr;
gap:80px;
border-top:1px solid #080808;
border-bottom:1px solid #080808;
}

.ffma-vault-callout span{
font:10px "DM Mono",monospace;
letter-spacing:.12em;
}

.ffma-vault-callout h2{
margin:18px 0 0;
font-size:clamp(48px,6vw,86px);
line-height:.87;
letter-spacing:-.06em;
}

.ffma-vault-callout p{
margin:0 0 30px;
max-width:480px;
color:#555;
line-height:1.7;
}

.ffma-vault-callout a{
font-size:11px;
font-weight:800;
letter-spacing:.08em;
text-decoration:none;
border-bottom:1px solid #080808;
padding-bottom:5px;
}

@media(max-width:900px){

.ffma-dashboard{
padding:0 22px 70px;
}

.ffma-dashboard-hero{
grid-template-columns:1fr;
min-height:auto;
gap:45px;
}

.ffma-protocol-strip{
grid-template-columns:1fr;
}

.ffma-protocol-strip div{
min-height:auto;
padding:15px 0;
flex-direction:row;
border-right:0;
border-bottom:1px solid #ccc;
}

.ffma-section-head{
grid-template-columns:1fr;
min-height:auto;
gap:45px;
}

.ffma-module-row{
grid-template-columns:50px 1fr 30px;
gap:15px;
padding:25px 0;
}

.ffma-module-num{
padding-top:3px;
}

.ffma-module-copy{
padding:0;
}

.ffma-module-output{
grid-column:2;
padding:15px 0 0;
border-left:0;
border-top:1px solid #ccc;
}

.ffma-module-arrow{
grid-column:3;
grid-row:1;
}

.ffma-vault-callout{
grid-template-columns:1fr;
gap:45px;
}

}

/* DASHBOARD REFINEMENT */

.ffma-intro{
max-width:560px;
font-size:16px;
}

.ffma-dashboard-hero{
padding-top:85px;
padding-bottom:65px;
}

.ffma-protocol-strip div{
padding:24px 22px;
transition:background .18s ease,color .18s ease;
}

.ffma-protocol-strip div:hover{
background:#080808;
color:#fff;
}

.ffma-protocol-strip span{
color:#777;
}

.ffma-protocol-strip div:hover span{
color:#aaa;
}

.ffma-module-row{
min-height:225px;
}

.ffma-module-copy h3{
max-width:620px;
}

.ffma-module-copy p{
max-width:560px;
}

.ffma-module-output{
min-height:80px;
justify-content:center;
}

.ffma-module-arrow{
text-align:right;
font-size:24px;
}

.ffma-vault-callout{
margin-top:110px;
}

/* PREMIUM FFMA FOOTER */

footer{
position:relative;
padding:70px 5vw 38px;
background:#080808;
color:#fff;
display:grid;
grid-template-columns:1.6fr .7fr;
gap:70px;
overflow:hidden;
}

footer::before{
content:"FOREX FMA";
grid-column:1/-1;
display:block;
padding-bottom:42px;
margin-bottom:18px;
border-bottom:1px solid #3a3a3a;
font-size:clamp(72px,11vw,180px);
font-weight:800;
line-height:.78;
letter-spacing:-.075em;
white-space:nowrap;
}

footer>div:first-of-type{
max-width:520px;
}

footer>div:first-of-type b{
display:block;
margin-bottom:18px;
font:10px "DM Mono",monospace;
letter-spacing:.12em;
text-transform:uppercase;
color:#8f8f8f;
}

footer>div:first-of-type p{
margin:0;
max-width:440px;
font-size:18px;
line-height:1.6;
color:#d5d5d5;
}

footer>div:nth-of-type(2){
display:flex;
flex-direction:column;
align-items:flex-start;
}

footer>div:nth-of-type(2)::before{
content:"NAVIGATION";
display:block;
margin-bottom:18px;
font:9px "DM Mono",monospace;
letter-spacing:.12em;
color:#777;
}

footer a,
footer button{
width:100%;
padding:11px 0;
margin:0;
border:0;
border-bottom:1px solid #2d2d2d;
background:none;
color:#fff;
font-size:12px;
font-weight:600;
text-align:left;
text-decoration:none;
transition:.18s ease;
}

footer a:hover,
footer button:hover{
padding-left:8px;
color:#fff;
background:none;
}

footer small{
grid-column:1/-1;
display:flex;
justify-content:space-between;
margin-top:35px;
padding-top:22px;
border-top:1px solid #3a3a3a;
color:#777;
font:9px "DM Mono",monospace;
letter-spacing:.08em;
text-transform:uppercase;
}

@media(max-width:900px){

footer{
grid-template-columns:1fr;
gap:45px;
}

footer::before{
font-size:17vw;
}

footer small{
grid-column:1;
}

}

/* LESSON PAGE */

.ffma-lesson{
padding:0 5vw 100px;
background:#f5f5f2;
color:#080808;
}

.ffma-lesson-top{
height:58px;
display:flex;
align-items:center;
justify-content:space-between;
border-bottom:1px solid #080808;
font:10px "DM Mono",monospace;
letter-spacing:.1em;
}

.ffma-lesson-top a{
text-decoration:none;
}

.ffma-lesson-hero{
min-height:520px;
display:grid;
grid-template-columns:90px minmax(0,1.6fr) minmax(260px,.55fr);
gap:45px;
align-items:end;
padding:75px 0 60px;
border-bottom:1px solid #080808;
}

.ffma-lesson-number{
align-self:start;
font:12px "DM Mono",monospace;
}

.ffma-lesson-title p{
margin:0 0 22px;
font:10px "DM Mono",monospace;
letter-spacing:.11em;
}

.ffma-lesson-title h1{
margin:0;
max-width:850px;
font-size:clamp(60px,7vw,110px);
line-height:.86;
letter-spacing:-.07em;
text-transform:uppercase;
}

.ffma-lesson-summary{
max-width:620px;
margin-top:30px;
font-size:17px;
line-height:1.65;
color:#555;
}

.ffma-lesson-outcome{
align-self:end;
border-top:1px solid #080808;
border-bottom:1px solid #080808;
padding:22px 0;
}

.ffma-lesson-outcome span{
font:9px "DM Mono",monospace;
letter-spacing:.1em;
color:#777;
}

.ffma-lesson-outcome strong{
display:block;
margin:10px 0 15px;
font-size:17px;
line-height:1.35;
}

.ffma-lesson-outcome p{
margin:0;
font-size:12px;
line-height:1.6;
color:#666;
}

.ffma-lesson-body{
display:grid;
grid-template-columns:280px minmax(0,760px);
gap:90px;
padding:90px 0;
border-bottom:1px solid #080808;
}

.ffma-lesson-sidebar{
align-self:start;
position:sticky;
top:110px;
}

.ffma-lesson-sidebar>span{
display:block;
margin-bottom:12px;
font:9px "DM Mono",monospace;
letter-spacing:.1em;
color:#777;
}

.ffma-lesson-sidebar>strong{
display:block;
font-size:18px;
line-height:1.3;
}

.ffma-lesson-sidebar>div{
margin-top:40px;
padding-top:20px;
border-top:1px solid #080808;
}

.ffma-lesson-sidebar>div span{
font:9px "DM Mono",monospace;
letter-spacing:.1em;
color:#777;
}

.ffma-lesson-sidebar>div p{
font-size:13px;
line-height:1.5;
}

.ffma-lesson-content{
font-size:17px;
line-height:1.8;
}

.ffma-lesson-content h2{
margin:0 0 25px;
font-size:clamp(34px,4vw,54px);
line-height:1;
letter-spacing:-.045em;
}

.ffma-lesson-content h3{
margin:55px 0 20px;
font-size:22px;
letter-spacing:-.025em;
}

.ffma-lesson-content p{
margin:0 0 25px;
color:#414141;
}

.ffma-lesson-content ol,
.ffma-lesson-content ul{
margin:25px 0 35px;
padding-left:24px;
}

.ffma-lesson-content li{
margin-bottom:12px;
padding-left:8px;
}

.ffma-lesson-content blockquote{
margin:55px 0;
padding:30px 0;
border-top:1px solid #080808;
border-bottom:1px solid #080808;
font-size:28px;
line-height:1.3;
font-weight:600;
}

.ffma-lesson-action{
padding:80px 0;
display:grid;
grid-template-columns:1.4fr 1fr;
gap:100px;
border-bottom:1px solid #080808;
}

.ffma-lesson-action span{
font:9px "DM Mono",monospace;
letter-spacing:.11em;
}

.ffma-lesson-action h2{
margin:18px 0 0;
font-size:clamp(46px,6vw,82px);
line-height:.88;
letter-spacing:-.06em;
text-transform:uppercase;
}

.ffma-lesson-action p{
margin:0 0 28px;
max-width:480px;
font-size:15px;
line-height:1.7;
color:#555;
}

.ffma-lesson-action a{
font-size:11px;
font-weight:800;
letter-spacing:.08em;
text-decoration:none;
border-bottom:1px solid #080808;
padding-bottom:5px;
}

.ffma-next-lesson{
padding:55px 0;
display:grid;
grid-template-columns:220px 1fr;
align-items:center;
}

.ffma-next-lesson>span{
font:9px "DM Mono",monospace;
letter-spacing:.11em;
color:#777;
}

.ffma-next-lesson>a{
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
font-size:clamp(28px,4vw,54px);
font-weight:700;
letter-spacing:-.04em;
text-decoration:none;
}

@media(max-width:900px){

.ffma-lesson{
padding:0 22px 70px;
}

.ffma-lesson-hero{
grid-template-columns:1fr;
min-height:auto;
gap:35px;
padding:55px 0;
}

.ffma-lesson-number{
order:-1;
}

.ffma-lesson-body{
grid-template-columns:1fr;
gap:50px;
padding:60px 0;
}

.ffma-lesson-sidebar{
position:static;
}

.ffma-lesson-action{
grid-template-columns:1fr;
gap:45px;
}

.ffma-next-lesson{
grid-template-columns:1fr;
gap:20px;
}

}

/* RESOURCE VAULT */

.ffma-vault{
padding:0 5vw 100px;
background:#f5f5f2;
color:#080808;
}

.ffma-vault-top{
height:58px;
display:flex;
align-items:center;
justify-content:space-between;
border-bottom:1px solid #080808;
font:10px "DM Mono",monospace;
letter-spacing:.1em;
}

.ffma-vault-top a{
text-decoration:none;
}

.ffma-vault-hero{
min-height:520px;
display:grid;
grid-template-columns:1.4fr .7fr;
gap:100px;
align-items:end;
padding:80px 0 60px;
border-bottom:1px solid #080808;
}

.ffma-vault-hero>div:first-child>p{
margin:0 0 24px;
font:10px "DM Mono",monospace;
letter-spacing:.11em;
}

.ffma-vault-hero h1{
margin:0;
font-size:clamp(72px,9vw,145px);
line-height:.82;
letter-spacing:-.075em;
}

.ffma-vault-intro{
align-self:end;
padding:0 0 8px;
}

.ffma-vault-intro span{
font:9px "DM Mono",monospace;
letter-spacing:.1em;
color:#777;
}

.ffma-vault-intro p{
margin:18px 0 0;
max-width:450px;
font-size:17px;
line-height:1.7;
color:#555;
}

.ffma-resource-list{
border-bottom:1px solid #080808;
}

.ffma-resource-row{
min-height:190px;
display:grid;
grid-template-columns:85px minmax(0,1fr) 150px;
gap:30px;
align-items:center;
border-bottom:1px solid #080808;
text-decoration:none;
color:#080808;
transition:.18s ease;
}

.ffma-resource-row:last-child{
border-bottom:0;
}

.ffma-resource-row:hover{
background:#080808;
color:#fff;
padding-left:20px;
padding-right:20px;
}

.ffma-resource-num{
align-self:start;
padding-top:38px;
font:12px "DM Mono",monospace;
}

.ffma-resource-copy{
padding:34px 0;
}

.ffma-resource-copy span{
font:9px "DM Mono",monospace;
letter-spacing:.1em;
color:#777;
}

.ffma-resource-copy h3{
margin:14px 0 10px;
font-size:clamp(28px,3vw,44px);
line-height:1;
letter-spacing:-.04em;
}

.ffma-resource-copy p{
margin:0;
max-width:700px;
font-size:13px;
line-height:1.65;
color:#666;
}

.ffma-resource-action{
justify-self:end;
font:10px "DM Mono",monospace;
letter-spacing:.08em;
}

.ffma-resource-row:hover .ffma-resource-copy span,
.ffma-resource-row:hover .ffma-resource-copy p{
color:#bbb;
}

.ffma-vault-bottom{
margin-top:100px;
padding:70px 0;
display:grid;
grid-template-columns:1.4fr .8fr;
gap:90px;
border-top:1px solid #080808;
border-bottom:1px solid #080808;
}

.ffma-vault-bottom span{
font:9px "DM Mono",monospace;
letter-spacing:.1em;
}

.ffma-vault-bottom h2{
margin:18px 0 0;
font-size:clamp(52px,6vw,88px);
line-height:.86;
letter-spacing:-.06em;
}

.ffma-vault-bottom>p{
margin:0;
align-self:end;
max-width:460px;
font-size:16px;
line-height:1.7;
color:#555;
}

@media(max-width:900px){
.ffma-vault{
padding:0 22px 70px;
}

.ffma-vault-hero{
grid-template-columns:1fr;
min-height:auto;
gap:50px;
padding:60px 0;
}

.ffma-resource-row{
grid-template-columns:50px 1fr;
gap:15px;
padding:24px 0;
}

.ffma-resource-num{
padding-top:4px;
}

.ffma-resource-copy{
padding:0;
}

.ffma-resource-action{
grid-column:2;
justify-self:start;
}

.ffma-vault-bottom{
grid-template-columns:1fr;
gap:45px;
}
}
